From c7ab6eeca8454acba635fbab5dfcabd02038812d Mon Sep 17 00:00:00 2001 From: RubaMansour Date: Tue, 28 Jan 2025 12:52:39 +0100 Subject: [PATCH 1/5] doen hobby and Guarantee --- .../Guarantee/.gitignore | 24 + .../Guarantee/README.md | 8 + .../Guarantee/eslint.config.js | 38 + .../Guarantee/index.html | 13 + .../Guarantee/package-lock.json | 4606 +++++++++++++++++ .../Guarantee/package.json | 28 + .../Guarantee/public/chat.png | Bin 0 -> 4870 bytes .../Guarantee/public/coin.png | Bin 0 -> 4639 bytes .../Guarantee/public/exercise2.png | Bin 0 -> 146797 bytes .../Guarantee/public/f-delivery.png | Bin 0 -> 3097 bytes .../Guarantee/public/vite.svg | 1 + .../Guarantee/src/App.css | 44 + .../Guarantee/src/App.jsx | 44 + .../Guarantee/src/Guarantee.jsx | 9 + .../Guarantee/src/assets/react.svg | 1 + .../Guarantee/src/index.css | 68 + .../Guarantee/src/main.jsx | 10 + .../Guarantee/vite.config.js | 7 + 18 files changed, 4901 insertions(+) create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/.gitignore create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/README.md create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/eslint.config.js create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/index.html create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package-lock.json create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package.json create mode 100755 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/chat.png create mode 100755 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/coin.png create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/exercise2.png create mode 100755 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/f-delivery.png create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/vite.svg create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/App.css create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/App.jsx create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/Guarantee.jsx create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/assets/react.svg create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/index.css create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/main.jsx create mode 100644 week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/vite.config.js diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/.gitignore b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/README.md b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/README.md new file mode 100644 index 0000000000..f768e33fc9 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/eslint.config.js b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/eslint.config.js new file mode 100644 index 0000000000..238d2e4e64 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/eslint.config.js @@ -0,0 +1,38 @@ +import js from '@eslint/js' +import globals from 'globals' +import react from 'eslint-plugin-react' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + settings: { react: { version: '18.3' } }, + plugins: { + react, + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/index.html b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/index.html new file mode 100644 index 0000000000..0c589eccd4 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package-lock.json b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package-lock.json new file mode 100644 index 0000000000..539d5c3193 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package-lock.json @@ -0,0 +1,4606 @@ +{ + "name": "package.json", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "package.json", + "version": "0.0.0", + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "vite": "^6.0.11" + } + }, + "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, + "license": "Apache-2.0", + "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.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", + "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.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.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", + "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.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, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", + "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.1.tgz", + "integrity": "sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.1.tgz", + "integrity": "sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.1.tgz", + "integrity": "sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.1.tgz", + "integrity": "sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.1.tgz", + "integrity": "sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.1.tgz", + "integrity": "sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.1.tgz", + "integrity": "sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.1.tgz", + "integrity": "sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.1.tgz", + "integrity": "sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.1.tgz", + "integrity": "sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.1.tgz", + "integrity": "sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.1.tgz", + "integrity": "sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.1.tgz", + "integrity": "sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.1.tgz", + "integrity": "sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.1.tgz", + "integrity": "sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.1.tgz", + "integrity": "sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.1.tgz", + "integrity": "sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.1.tgz", + "integrity": "sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.1.tgz", + "integrity": "sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@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 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "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/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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "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.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.88", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.88.tgz", + "integrity": "sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==", + "dev": true, + "license": "ISC" + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "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, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", + "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.19.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", + "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", + "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.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, + "license": "MIT", + "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": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", + "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "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.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "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, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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==", + "license": "MIT", + "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, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "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/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.32.1.tgz", + "integrity": "sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.32.1", + "@rollup/rollup-android-arm64": "4.32.1", + "@rollup/rollup-darwin-arm64": "4.32.1", + "@rollup/rollup-darwin-x64": "4.32.1", + "@rollup/rollup-freebsd-arm64": "4.32.1", + "@rollup/rollup-freebsd-x64": "4.32.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.32.1", + "@rollup/rollup-linux-arm-musleabihf": "4.32.1", + "@rollup/rollup-linux-arm64-gnu": "4.32.1", + "@rollup/rollup-linux-arm64-musl": "4.32.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.32.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.32.1", + "@rollup/rollup-linux-riscv64-gnu": "4.32.1", + "@rollup/rollup-linux-s390x-gnu": "4.32.1", + "@rollup/rollup-linux-x64-gnu": "4.32.1", + "@rollup/rollup-linux-x64-musl": "4.32.1", + "@rollup/rollup-win32-arm64-msvc": "4.32.1", + "@rollup/rollup-win32-ia32-msvc": "4.32.1", + "@rollup/rollup-win32-x64-msvc": "4.32.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "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==", + "license": "MIT", + "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, + "license": "ISC", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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, + "license": "MIT", + "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-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, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.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, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.4.49", + "rollup": "^4.23.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.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 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "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, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "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, + "license": "MIT", + "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.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package.json b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package.json new file mode 100644 index 0000000000..4f0851d1cf --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/package.json @@ -0,0 +1,28 @@ +{ + "name": "package.json", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "vite": "^6.0.11" + } +} diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/chat.png b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/chat.png new file mode 100755 index 0000000000000000000000000000000000000000..a0b0d3d1bd31d27463ea8179bf0c8dd886d62551 GIT binary patch literal 4870 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 W9`Y`>wom=_XUd#xL#i|KivK_M7=5|` literal 0 HcmV?d00001 diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/coin.png b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/coin.png new file mode 100755 index 0000000000000000000000000000000000000000..b2b01cfd5ef053cabc3457847f3087910b5800bc GIT binary patch literal 4639 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 literal 0 HcmV?d00001 diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/exercise2.png b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/public/exercise2.png new file mode 100644 index 0000000000000000000000000000000000000000..8a2fc2d8ad6e8e9be10b80ae3437eb17eacf0da9 GIT binary patch literal 146797 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 +

Our Guarantees

+ + + + + + ); +} + +export default App; diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/Guarantee.jsx b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/Guarantee.jsx new file mode 100644 index 0000000000..74e5b89127 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/Guarantee.jsx @@ -0,0 +1,9 @@ +export default function Guarantee({ img, title, description }) { + return ( +
+ {title} +

{title}

+

{description}

+
+ ); +} diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/assets/react.svg b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/assets/react.svg new file mode 100644 index 0000000000..6c87de9bb3 --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/index.css b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/index.css new file mode 100644 index 0000000000..6119ad9a8f --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/main.jsx b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/main.jsx new file mode 100644 index 0000000000..b9a1a6deac --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) diff --git a/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/vite.config.js b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/vite.config.js new file mode 100644 index 0000000000..8b0f57b91a --- /dev/null +++ b/week1/possible-qa-exercises/2-perfect-customer-service/Guarantee/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From f0b15d8060020f643df8f9594834a2fc5400f6d6 Mon Sep 17 00:00:00 2001 From: RubaMansour Date: Tue, 28 Jan 2025 18:22:01 +0100 Subject: [PATCH 2/5] project week1 --- week1/project/ecommerce/src/App.css | 132 +++++++++ week1/project/ecommerce/src/App.jsx | 32 +++ week1/project/ecommerce/src/CategoryList.jsx | 26 ++ week1/project/ecommerce/src/ProductList.jsx | 28 ++ week1/project/ecommerce/src/assets/react.svg | 1 + .../ecommerce/src/fake-data/all-categories.js | 6 + .../ecommerce/src/fake-data/all-products.js | 269 ++++++++++++++++++ week1/project/ecommerce/src/index.css | 68 +++++ week1/project/ecommerce/src/main.jsx | 10 + 9 files changed, 572 insertions(+) create mode 100644 week1/project/ecommerce/src/App.css create mode 100644 week1/project/ecommerce/src/App.jsx create mode 100644 week1/project/ecommerce/src/CategoryList.jsx create mode 100644 week1/project/ecommerce/src/ProductList.jsx create mode 100644 week1/project/ecommerce/src/assets/react.svg create mode 100644 week1/project/ecommerce/src/fake-data/all-categories.js create mode 100644 week1/project/ecommerce/src/fake-data/all-products.js create mode 100644 week1/project/ecommerce/src/index.css create mode 100644 week1/project/ecommerce/src/main.jsx diff --git a/week1/project/ecommerce/src/App.css b/week1/project/ecommerce/src/App.css new file mode 100644 index 0000000000..fa640f0af1 --- /dev/null +++ b/week1/project/ecommerce/src/App.css @@ -0,0 +1,132 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} +.category-list { + display: flex; + gap: 10px; + margin-bottom: 20px; + justify-content: center; + flex-wrap: wrap; +} + +.category-list { + display: flex; + gap: 10px; + margin-bottom: 20px; + justify-content: center; + flex-wrap: wrap; +} + +.category-btn { + padding: 10px 20px; + background-color: #fff; + border: 1px solid #ddd; + cursor: pointer; + transition: + background-color 0.3s, + color 0.3s; + border-radius: 5px; +} +.category-btn:hover, +.category-btn.active { + background-color: #007bff; + color: white; +} + +.product-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); + gap: 20px; + margin-top: 20px; +} +.product-card { + background-color: white; + border: 1px solid #ddd; + padding: 15px; + text-align: center; + border-radius: 8px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + transition: + transform 0.3s, + box-shadow 0.3s; + max-width: 300px; + margin: 0 auto; +} +.product-card:hover { + transform: translateY(-5px); + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); +} + +.product-image { + width: 100%; + height: 250px; + object-fit: contain; + border-radius: 8px; + margin-bottom: 15px; +} +.product-title { + font-size: 18px; + font-weight: bold; +} + +.product-description { + font-size: 14px; + color: #555; + margin-top: 10px; + height: 60px; + overflow: hidden; + text-overflow: ellipsis; +} +.product-price { + font-size: 18px; + color: #333; + margin-top: 10px; +} + +.rating { + font-size: 14px; + color: #555; + margin-top: 10px; +} + +.rating span { + color: #ff9800; +} +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/week1/project/ecommerce/src/App.jsx b/week1/project/ecommerce/src/App.jsx new file mode 100644 index 0000000000..e761c7f38b --- /dev/null +++ b/week1/project/ecommerce/src/App.jsx @@ -0,0 +1,32 @@ +import { useState } from "react"; +import reactLogo from "./assets/react.svg"; +import viteLogo from "/vite.svg"; +import "./App.css"; +import productsData from "./fake-data/all-products"; +import categories from "./fake-data/all-categories"; +import CategoryList from "./CategoryList"; +import ProductList from "./ProductList"; + +function App() { + const [activeCategory, setActiveCategory] = useState("All"); + + const filteredProducts = + activeCategory === "All" + ? productsData + : productsData.filter((product) => { + return product.category === activeCategory.replace("FAKE: ", ""); + }); + return ( +
+ + + +
+ ); +} + +export default App; diff --git a/week1/project/ecommerce/src/CategoryList.jsx b/week1/project/ecommerce/src/CategoryList.jsx new file mode 100644 index 0000000000..3d80b2cc48 --- /dev/null +++ b/week1/project/ecommerce/src/CategoryList.jsx @@ -0,0 +1,26 @@ +import React from "react"; + +const CategoryList = ({ categories, activeCategory, onCategoryChange }) => { + return ( +
+ + + {categories.map((category, index) => ( + + ))} +
+ ); +}; + +export default CategoryList; diff --git a/week1/project/ecommerce/src/ProductList.jsx b/week1/project/ecommerce/src/ProductList.jsx new file mode 100644 index 0000000000..8afc356b12 --- /dev/null +++ b/week1/project/ecommerce/src/ProductList.jsx @@ -0,0 +1,28 @@ +import React from "react"; + +const ProductList = ({ products }) => { + return ( +
+ {products.map((product) => ( +
+ {product.title} +

+ {product.title.replace("FAKE: ", "")} +

+

{product.description}

+

${product.price}

+
+ {product.rating.rate} ★ ({product.rating.count}{" "} + reviews) +
+
+ ))} +
+ ); +}; + +export default ProductList; diff --git a/week1/project/ecommerce/src/assets/react.svg b/week1/project/ecommerce/src/assets/react.svg new file mode 100644 index 0000000000..6c87de9bb3 --- /dev/null +++ b/week1/project/ecommerce/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/week1/project/ecommerce/src/fake-data/all-categories.js b/week1/project/ecommerce/src/fake-data/all-categories.js new file mode 100644 index 0000000000..c3745dfefc --- /dev/null +++ b/week1/project/ecommerce/src/fake-data/all-categories.js @@ -0,0 +1,6 @@ +export default [ + "FAKE: electronics", + "FAKE: jewelery", + "FAKE: men's clothing", + "FAKE: women's clothing", +]; diff --git a/week1/project/ecommerce/src/fake-data/all-products.js b/week1/project/ecommerce/src/fake-data/all-products.js new file mode 100644 index 0000000000..cd1ac1a497 --- /dev/null +++ b/week1/project/ecommerce/src/fake-data/all-products.js @@ -0,0 +1,269 @@ +export default [ + { + id: 1, + title: "FAKE: Fjallraven - Foldsack No. 1 Backpack, Fits 15 Laptops", + price: 109.95, + description: + "Your perfect pack for everyday use and walks in the forest. Stash your laptop (up to 15 inches) in the padded sleeve, your everyday", + category: "men's clothing", + image: "https://fakestoreapi.com/img/81fPKd-2AYL._AC_SL1500_.jpg", + rating: { + rate: 3.9, + count: 120, + }, + }, + { + id: 2, + title: "FAKE: Mens Casual Premium Slim Fit T-Shirts ", + price: 22.3, + description: + "Slim-fitting style, contrast raglan long sleeve, three-button henley placket, light weight & soft fabric for breathable and comfortable wearing. And Solid stitched shirts with round neck made for durability and a great fit for casual fashion wear and diehard baseball fans. The Henley style round neckline includes a three-button placket.", + category: "men's clothing", + image: + "https://fakestoreapi.com/img/71-3HjGNDUL._AC_SY879._SX._UX._SY._UY_.jpg", + rating: { + rate: 4.1, + count: 259, + }, + }, + { + id: 3, + title: "FAKE: Mens Cotton Jacket", + price: 55.99, + description: + "great outerwear jackets for Spring/Autumn/Winter, suitable for many occasions, such as working, hiking, camping, mountain/rock climbing, cycling, traveling or other outdoors. Good gift choice for you or your family member. A warm hearted love to Father, husband or son in this thanksgiving or Christmas Day.", + category: "men's clothing", + image: "https://fakestoreapi.com/img/71li-ujtlUL._AC_UX679_.jpg", + rating: { + rate: 4.7, + count: 500, + }, + }, + { + id: 4, + title: "FAKE: Mens Casual Slim Fit", + price: 15.99, + description: + "The color could be slightly different between on the screen and in practice. / Please note that body builds vary by person, therefore, detailed size information should be reviewed below on the product description.", + category: "men's clothing", + image: "https://fakestoreapi.com/img/71YXzeOuslL._AC_UY879_.jpg", + rating: { + rate: 2.1, + count: 430, + }, + }, + { + id: 5, + title: + "John Hardy Women's Legends Naga Gold & Silver Dragon Station Chain Bracelet", + price: 695, + description: + "From our Legends Collection, the Naga was inspired by the mythical water dragon that protects the ocean's pearl. Wear facing inward to be bestowed with love and abundance, or outward for protection.", + category: "jewelery", + image: "https://fakestoreapi.com/img/71pWzhdJNwL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 4.6, + count: 400, + }, + }, + { + id: 6, + title: "FAKE: Solid Gold Petite Micropave ", + price: 168, + description: + "Satisfaction Guaranteed. Return or exchange any order within 30 days.Designed and sold by Hafeez Center in the United States. Satisfaction Guaranteed. Return or exchange any order within 30 days.", + category: "jewelery", + image: "https://fakestoreapi.com/img/61sbMiUnoGL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 3.9, + count: 70, + }, + }, + { + id: 7, + title: "FAKE: White Gold Plated Princess", + price: 9.99, + description: + "Classic Created Wedding Engagement Solitaire Diamond Promise Ring for Her. Gifts to spoil your love more for Engagement, Wedding, Anniversary, Valentine's Day...", + category: "jewelery", + image: "https://fakestoreapi.com/img/71YAIFU48IL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 3, + count: 400, + }, + }, + { + id: 8, + title: "FAKE: Pierced Owl Rose Gold Plated Stainless Steel Double", + price: 10.99, + description: + "Rose Gold Plated Double Flared Tunnel Plug Earrings. Made of 316L Stainless Steel", + category: "jewelery", + image: "https://fakestoreapi.com/img/51UDEzMJVpL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 1.9, + count: 100, + }, + }, + { + id: 9, + title: "FAKE: WD 2TB Elements Portable External Hard Drive - USB 3.0 ", + price: 64, + description: + "USB 3.0 and USB 2.0 Compatibility Fast data transfers Improve PC Performance High Capacity; Compatibility Formatted NTFS for Windows 10, Windows 8.1, Windows 7; Reformatting may be required for other operating systems; Compatibility may vary depending on user’s hardware configuration and operating system", + category: "electronics", + image: "https://fakestoreapi.com/img/61IBBVJvSDL._AC_SY879_.jpg", + rating: { + rate: 3.3, + count: 203, + }, + }, + { + id: 10, + title: "FAKE: SanDisk SSD PLUS 1TB Internal SSD - SATA III 6 Gb/s", + price: 109, + description: + "Easy upgrade for faster boot up, shutdown, application load and response (As compared to 5400 RPM SATA 2.5” hard drive; Based on published specifications and internal benchmarking tests using PCMark vantage scores) Boosts burst write performance, making it ideal for typical PC workloads The perfect balance of performance and reliability Read/write speeds of up to 535MB/s/450MB/s (Based on internal testing; Performance may vary depending upon drive capacity, host device, OS and application.)", + category: "electronics", + image: "https://fakestoreapi.com/img/61U7T1koQqL._AC_SX679_.jpg", + rating: { + rate: 2.9, + count: 470, + }, + }, + { + id: 11, + title: + "Silicon Power 256GB SSD 3D NAND A55 SLC Cache Performance Boost SATA III 2.5", + price: 109, + description: + "3D NAND flash are applied to deliver high transfer speeds Remarkable transfer speeds that enable faster bootup and improved overall system performance. The advanced SLC Cache Technology allows performance boost and longer lifespan 7mm slim design suitable for Ultrabooks and Ultra-slim notebooks. Supports TRIM command, Garbage Collection technology, RAID, and ECC (Error Checking & Correction) to provide the optimized performance and enhanced reliability.", + category: "electronics", + image: "https://fakestoreapi.com/img/71kWymZ+c+L._AC_SX679_.jpg", + rating: { + rate: 4.8, + count: 319, + }, + }, + { + id: 12, + title: + "WD 4TB Gaming Drive Works with Playstation 4 Portable External Hard Drive", + price: 114, + description: + "Expand your PS4 gaming experience, Play anywhere Fast and easy, setup Sleek design with high capacity, 3-year manufacturer's limited warranty", + category: "electronics", + image: "https://fakestoreapi.com/img/61mtL65D4cL._AC_SX679_.jpg", + rating: { + rate: 4.8, + count: 400, + }, + }, + { + id: 13, + title: + "FAKE: Acer SB220Q bi 21.5 inches Full HD (1920 x 1080) IPS Ultra-Thin", + price: 599, + description: + "21. 5 inches Full HD (1920 x 1080) widescreen IPS display And Radeon free Sync technology. No compatibility for VESA Mount Refresh Rate: 75Hz - Using HDMI port Zero-frame design | ultra-thin | 4ms response time | IPS panel Aspect ratio - 16: 9. Color Supported - 16. 7 million colors. Brightness - 250 nit Tilt angle -5 degree to 15 degree. Horizontal viewing angle-178 degree. Vertical viewing angle-178 degree 75 hertz", + category: "electronics", + image: "https://fakestoreapi.com/img/81QpkIctqPL._AC_SX679_.jpg", + rating: { + rate: 2.9, + count: 250, + }, + }, + { + id: 14, + title: + "Samsung 49-Inch CHG90 144Hz Curved Gaming Monitor (LC49HG90DMNXZA) – Super Ultrawide Screen QLED ", + price: 999.99, + description: + "49 INCH SUPER ULTRAWIDE 32:9 CURVED GAMING MONITOR with dual 27 inch screen side by side QUANTUM DOT (QLED) TECHNOLOGY, HDR support and factory calibration provides stunningly realistic and accurate color and contrast 144HZ HIGH REFRESH RATE and 1ms ultra fast response time work to eliminate motion blur, ghosting, and reduce input lag", + category: "electronics", + image: "https://fakestoreapi.com/img/81Zt42ioCgL._AC_SX679_.jpg", + rating: { + rate: 2.2, + count: 140, + }, + }, + { + id: 15, + title: "FAKE: BIYLACLESEN Women's 3-in-1 Snowboard Jacket Winter Coats", + price: 56.99, + description: + "Note:The Jackets is US standard size, Please choose size as your usual wear Material: 100% Polyester; Detachable Liner Fabric: Warm Fleece. Detachable Functional Liner: Skin Friendly, Lightweigt and Warm.Stand Collar Liner jacket, keep you warm in cold weather. Zippered Pockets: 2 Zippered Hand Pockets, 2 Zippered Pockets on Chest (enough to keep cards or keys)and 1 Hidden Pocket Inside.Zippered Hand Pockets and Hidden Pocket keep your things secure. Humanized Design: Adjustable and Detachable Hood and Adjustable cuff to prevent the wind and water,for a comfortable fit. 3 in 1 Detachable Design provide more convenience, you can separate the coat and inner as needed, or wear it together. It is suitable for different season and help you adapt to different climates", + category: "women's clothing", + image: "https://fakestoreapi.com/img/51Y5NI-I5jL._AC_UX679_.jpg", + rating: { + rate: 2.6, + count: 235, + }, + }, + { + id: 16, + title: + "Lock and Love Women's Removable Hooded Faux Leather Moto Biker Jacket", + price: 29.95, + description: + "100% POLYURETHANE(shell) 100% POLYESTER(lining) 75% POLYESTER 25% COTTON (SWEATER), Faux leather material for style and comfort / 2 pockets of front, 2-For-One Hooded denim style faux leather jacket, Button detail on waist / Detail stitching at sides, HAND WASH ONLY / DO NOT BLEACH / LINE DRY / DO NOT IRON", + category: "women's clothing", + image: "https://fakestoreapi.com/img/81XH0e8fefL._AC_UY879_.jpg", + rating: { + rate: 2.9, + count: 340, + }, + }, + { + id: 17, + title: "FAKE: Rain Jacket Women Windbreaker Striped Climbing Raincoats", + price: 39.99, + description: + "Lightweight perfet for trip or casual wear---Long sleeve with hooded, adjustable drawstring waist design. Button and zipper front closure raincoat, fully stripes Lined and The Raincoat has 2 side pockets are a good size to hold all kinds of things, it covers the hips, and the hood is generous but doesn't overdo it.Attached Cotton Lined Hood with Adjustable Drawstrings give it a real styled look.", + category: "women's clothing", + image: "https://fakestoreapi.com/img/71HblAHs5xL._AC_UY879_-2.jpg", + rating: { + rate: 3.8, + count: 679, + }, + }, + { + id: 18, + title: "FAKE: MBJ Women's Solid Short Sleeve Boat Neck V ", + price: 9.85, + description: + "95% RAYON 5% SPANDEX, Made in USA or Imported, Do Not Bleach, Lightweight fabric with great stretch for comfort, Ribbed on sleeves and neckline / Double stitching on bottom hem", + category: "women's clothing", + image: "https://fakestoreapi.com/img/71z3kpMAYsL._AC_UY879_.jpg", + rating: { + rate: 4.7, + count: 130, + }, + }, + { + id: 19, + title: "FAKE: Opna Women's Short Sleeve Moisture", + price: 7.95, + description: + "100% Polyester, Machine wash, 100% cationic polyester interlock, Machine Wash & Pre Shrunk for a Great Fit, Lightweight, roomy and highly breathable with moisture wicking fabric which helps to keep moisture away, Soft Lightweight Fabric with comfortable V-neck collar and a slimmer fit, delivers a sleek, more feminine silhouette and Added Comfort", + category: "women's clothing", + image: "https://fakestoreapi.com/img/51eg55uWmdL._AC_UX679_.jpg", + rating: { + rate: 4.5, + count: 146, + }, + }, + { + id: 20, + title: "FAKE: DANVOUY Womens T Shirt Casual Cotton Short", + price: 12.99, + description: + "95%Cotton,5%Spandex, Features: Casual, Short Sleeve, Letter Print,V-Neck,Fashion Tees, The fabric is soft and has some stretch., Occasion: Casual/Office/Beach/School/Home/Street. Season: Spring,Summer,Autumn,Winter.", + category: "women's clothing", + image: "https://fakestoreapi.com/img/61pHAEJ4NML._AC_UX679_.jpg", + rating: { + rate: 3.6, + count: 145, + }, + }, +]; diff --git a/week1/project/ecommerce/src/index.css b/week1/project/ecommerce/src/index.css new file mode 100644 index 0000000000..6119ad9a8f --- /dev/null +++ b/week1/project/ecommerce/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/week1/project/ecommerce/src/main.jsx b/week1/project/ecommerce/src/main.jsx new file mode 100644 index 0000000000..b9a1a6deac --- /dev/null +++ b/week1/project/ecommerce/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) From 903c24431b631209c7e68af19bb7e3ce7afa79d2 Mon Sep 17 00:00:00 2001 From: RubaMansour Date: Sat, 1 Feb 2025 20:09:45 +0100 Subject: [PATCH 3/5] add link --- week1/project/ecommerce/.gitignore | 24 + week1/project/ecommerce/README.md | 8 + week1/project/ecommerce/eslint.config.js | 38 + week1/project/ecommerce/index.html | 13 + week1/project/ecommerce/link.md | 1 + week1/project/ecommerce/package-lock.json | 4606 +++++++++++++++++++++ week1/project/ecommerce/package.json | 28 + week1/project/ecommerce/public/vite.svg | 1 + week1/project/ecommerce/vite.config.js | 7 + 9 files changed, 4726 insertions(+) create mode 100644 week1/project/ecommerce/.gitignore create mode 100644 week1/project/ecommerce/README.md create mode 100644 week1/project/ecommerce/eslint.config.js create mode 100644 week1/project/ecommerce/index.html create mode 100644 week1/project/ecommerce/link.md create mode 100644 week1/project/ecommerce/package-lock.json create mode 100644 week1/project/ecommerce/package.json create mode 100644 week1/project/ecommerce/public/vite.svg create mode 100644 week1/project/ecommerce/vite.config.js diff --git a/week1/project/ecommerce/.gitignore b/week1/project/ecommerce/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/week1/project/ecommerce/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/week1/project/ecommerce/README.md b/week1/project/ecommerce/README.md new file mode 100644 index 0000000000..f768e33fc9 --- /dev/null +++ b/week1/project/ecommerce/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/week1/project/ecommerce/eslint.config.js b/week1/project/ecommerce/eslint.config.js new file mode 100644 index 0000000000..238d2e4e64 --- /dev/null +++ b/week1/project/ecommerce/eslint.config.js @@ -0,0 +1,38 @@ +import js from '@eslint/js' +import globals from 'globals' +import react from 'eslint-plugin-react' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + settings: { react: { version: '18.3' } }, + plugins: { + react, + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/week1/project/ecommerce/index.html b/week1/project/ecommerce/index.html new file mode 100644 index 0000000000..0c589eccd4 --- /dev/null +++ b/week1/project/ecommerce/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/week1/project/ecommerce/link.md b/week1/project/ecommerce/link.md new file mode 100644 index 0000000000..6cee21ae43 --- /dev/null +++ b/week1/project/ecommerce/link.md @@ -0,0 +1 @@ +https://mystored.netlify.app/ diff --git a/week1/project/ecommerce/package-lock.json b/week1/project/ecommerce/package-lock.json new file mode 100644 index 0000000000..8cc763c570 --- /dev/null +++ b/week1/project/ecommerce/package-lock.json @@ -0,0 +1,4606 @@ +{ + "name": "ecommerce", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ecommerce", + "version": "0.0.0", + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "vite": "^6.0.11" + } + }, + "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, + "license": "Apache-2.0", + "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.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", + "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.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.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", + "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.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, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", + "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.1.tgz", + "integrity": "sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.1.tgz", + "integrity": "sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.1.tgz", + "integrity": "sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.1.tgz", + "integrity": "sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.1.tgz", + "integrity": "sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.1.tgz", + "integrity": "sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.1.tgz", + "integrity": "sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.1.tgz", + "integrity": "sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.1.tgz", + "integrity": "sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.1.tgz", + "integrity": "sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.1.tgz", + "integrity": "sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.1.tgz", + "integrity": "sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.1.tgz", + "integrity": "sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.1.tgz", + "integrity": "sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.1.tgz", + "integrity": "sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.1.tgz", + "integrity": "sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.1.tgz", + "integrity": "sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.1.tgz", + "integrity": "sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.1.tgz", + "integrity": "sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@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 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "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/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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "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.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.88", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.88.tgz", + "integrity": "sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==", + "dev": true, + "license": "ISC" + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "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, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", + "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.19.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", + "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", + "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.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, + "license": "MIT", + "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": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", + "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "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.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "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, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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==", + "license": "MIT", + "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, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "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/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.32.1.tgz", + "integrity": "sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.32.1", + "@rollup/rollup-android-arm64": "4.32.1", + "@rollup/rollup-darwin-arm64": "4.32.1", + "@rollup/rollup-darwin-x64": "4.32.1", + "@rollup/rollup-freebsd-arm64": "4.32.1", + "@rollup/rollup-freebsd-x64": "4.32.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.32.1", + "@rollup/rollup-linux-arm-musleabihf": "4.32.1", + "@rollup/rollup-linux-arm64-gnu": "4.32.1", + "@rollup/rollup-linux-arm64-musl": "4.32.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.32.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.32.1", + "@rollup/rollup-linux-riscv64-gnu": "4.32.1", + "@rollup/rollup-linux-s390x-gnu": "4.32.1", + "@rollup/rollup-linux-x64-gnu": "4.32.1", + "@rollup/rollup-linux-x64-musl": "4.32.1", + "@rollup/rollup-win32-arm64-msvc": "4.32.1", + "@rollup/rollup-win32-ia32-msvc": "4.32.1", + "@rollup/rollup-win32-x64-msvc": "4.32.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "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==", + "license": "MIT", + "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, + "license": "ISC", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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, + "license": "MIT", + "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-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, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.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, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.4.49", + "rollup": "^4.23.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.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 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "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, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "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, + "license": "MIT", + "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.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/week1/project/ecommerce/package.json b/week1/project/ecommerce/package.json new file mode 100644 index 0000000000..e305e5061e --- /dev/null +++ b/week1/project/ecommerce/package.json @@ -0,0 +1,28 @@ +{ + "name": "ecommerce", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "vite": "^6.0.11" + } +} diff --git a/week1/project/ecommerce/public/vite.svg b/week1/project/ecommerce/public/vite.svg new file mode 100644 index 0000000000..e7b8dfb1b2 --- /dev/null +++ b/week1/project/ecommerce/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/week1/project/ecommerce/vite.config.js b/week1/project/ecommerce/vite.config.js new file mode 100644 index 0000000000..8b0f57b91a --- /dev/null +++ b/week1/project/ecommerce/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From aa08a632174ce4757129252079d31754e9524e48 Mon Sep 17 00:00:00 2001 From: RubaMansour Date: Tue, 4 Feb 2025 04:22:58 +0100 Subject: [PATCH 4/5] week2 --- week2/project/ecommerce/.gitignore | 24 + week2/project/ecommerce/README.md | 8 + week2/project/ecommerce/eslint.config.js | 38 + week2/project/ecommerce/index.html | 13 + week2/project/ecommerce/link.md | 1 + week2/project/ecommerce/package-lock.json | 4674 +++++++++++++++++ week2/project/ecommerce/package.json | 29 + week2/project/ecommerce/public/vite.svg | 1 + week2/project/ecommerce/src/App.css | 120 + week2/project/ecommerce/src/App.jsx | 31 + week2/project/ecommerce/src/CategoryList.jsx | 44 + week2/project/ecommerce/src/ProductDetail.jsx | 45 + week2/project/ecommerce/src/ProductList.jsx | 51 + week2/project/ecommerce/src/assets/react.svg | 1 + .../ecommerce/src/fake-data/all-categories.js | 6 + .../ecommerce/src/fake-data/all-products.js | 269 + week2/project/ecommerce/src/index.css | 68 + week2/project/ecommerce/src/main.jsx | 10 + week2/project/ecommerce/vite.config.js | 7 + 19 files changed, 5440 insertions(+) create mode 100644 week2/project/ecommerce/.gitignore create mode 100644 week2/project/ecommerce/README.md create mode 100644 week2/project/ecommerce/eslint.config.js create mode 100644 week2/project/ecommerce/index.html create mode 100644 week2/project/ecommerce/link.md create mode 100644 week2/project/ecommerce/package-lock.json create mode 100644 week2/project/ecommerce/package.json create mode 100644 week2/project/ecommerce/public/vite.svg create mode 100644 week2/project/ecommerce/src/App.css create mode 100644 week2/project/ecommerce/src/App.jsx create mode 100644 week2/project/ecommerce/src/CategoryList.jsx create mode 100644 week2/project/ecommerce/src/ProductDetail.jsx create mode 100644 week2/project/ecommerce/src/ProductList.jsx create mode 100644 week2/project/ecommerce/src/assets/react.svg create mode 100644 week2/project/ecommerce/src/fake-data/all-categories.js create mode 100644 week2/project/ecommerce/src/fake-data/all-products.js create mode 100644 week2/project/ecommerce/src/index.css create mode 100644 week2/project/ecommerce/src/main.jsx create mode 100644 week2/project/ecommerce/vite.config.js diff --git a/week2/project/ecommerce/.gitignore b/week2/project/ecommerce/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/week2/project/ecommerce/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/week2/project/ecommerce/README.md b/week2/project/ecommerce/README.md new file mode 100644 index 0000000000..f768e33fc9 --- /dev/null +++ b/week2/project/ecommerce/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/week2/project/ecommerce/eslint.config.js b/week2/project/ecommerce/eslint.config.js new file mode 100644 index 0000000000..238d2e4e64 --- /dev/null +++ b/week2/project/ecommerce/eslint.config.js @@ -0,0 +1,38 @@ +import js from '@eslint/js' +import globals from 'globals' +import react from 'eslint-plugin-react' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + settings: { react: { version: '18.3' } }, + plugins: { + react, + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/week2/project/ecommerce/index.html b/week2/project/ecommerce/index.html new file mode 100644 index 0000000000..0c589eccd4 --- /dev/null +++ b/week2/project/ecommerce/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/week2/project/ecommerce/link.md b/week2/project/ecommerce/link.md new file mode 100644 index 0000000000..6cee21ae43 --- /dev/null +++ b/week2/project/ecommerce/link.md @@ -0,0 +1 @@ +https://mystored.netlify.app/ diff --git a/week2/project/ecommerce/package-lock.json b/week2/project/ecommerce/package-lock.json new file mode 100644 index 0000000000..561ad4bed6 --- /dev/null +++ b/week2/project/ecommerce/package-lock.json @@ -0,0 +1,4674 @@ +{ + "name": "ecommerce", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ecommerce", + "version": "0.0.0", + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^7.1.5" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "vite": "^6.0.11" + } + }, + "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, + "license": "Apache-2.0", + "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.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", + "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.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.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", + "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.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, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", + "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.1.tgz", + "integrity": "sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.1.tgz", + "integrity": "sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.1.tgz", + "integrity": "sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.1.tgz", + "integrity": "sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.1.tgz", + "integrity": "sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.1.tgz", + "integrity": "sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.1.tgz", + "integrity": "sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.1.tgz", + "integrity": "sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.1.tgz", + "integrity": "sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.1.tgz", + "integrity": "sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.1.tgz", + "integrity": "sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.1.tgz", + "integrity": "sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.1.tgz", + "integrity": "sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.1.tgz", + "integrity": "sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.1.tgz", + "integrity": "sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.1.tgz", + "integrity": "sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.1.tgz", + "integrity": "sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.1.tgz", + "integrity": "sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.1.tgz", + "integrity": "sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@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 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "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/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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "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.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.88", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.88.tgz", + "integrity": "sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==", + "dev": true, + "license": "ISC" + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "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, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", + "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.19.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", + "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", + "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.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, + "license": "MIT", + "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": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", + "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "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.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "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, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "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==", + "license": "MIT", + "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, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "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/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.5.tgz", + "integrity": "sha512-8BUF+hZEU4/z/JD201yK6S+UYhsf58bzYIDq2NS1iGpwxSXDu7F+DeGSkIXMFBuHZB21FSiCzEcUb18cQNdRkA==", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.5.tgz", + "integrity": "sha512-/4f9+up0Qv92D3bB8iN5P1s3oHAepSGa9h5k6tpTFlixTTskJZwKGhJ6vRJ277tLD1zuaZTt95hyGWV1Z37csQ==", + "license": "MIT", + "dependencies": { + "react-router": "7.1.5" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.32.1.tgz", + "integrity": "sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.32.1", + "@rollup/rollup-android-arm64": "4.32.1", + "@rollup/rollup-darwin-arm64": "4.32.1", + "@rollup/rollup-darwin-x64": "4.32.1", + "@rollup/rollup-freebsd-arm64": "4.32.1", + "@rollup/rollup-freebsd-x64": "4.32.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.32.1", + "@rollup/rollup-linux-arm-musleabihf": "4.32.1", + "@rollup/rollup-linux-arm64-gnu": "4.32.1", + "@rollup/rollup-linux-arm64-musl": "4.32.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.32.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.32.1", + "@rollup/rollup-linux-riscv64-gnu": "4.32.1", + "@rollup/rollup-linux-s390x-gnu": "4.32.1", + "@rollup/rollup-linux-x64-gnu": "4.32.1", + "@rollup/rollup-linux-x64-musl": "4.32.1", + "@rollup/rollup-win32-arm64-msvc": "4.32.1", + "@rollup/rollup-win32-ia32-msvc": "4.32.1", + "@rollup/rollup-win32-x64-msvc": "4.32.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "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==", + "license": "MIT", + "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, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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, + "license": "MIT", + "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-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, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, + "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, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.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, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.4.49", + "rollup": "^4.23.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.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 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "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, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "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, + "license": "MIT", + "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.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/week2/project/ecommerce/package.json b/week2/project/ecommerce/package.json new file mode 100644 index 0000000000..7f04832504 --- /dev/null +++ b/week2/project/ecommerce/package.json @@ -0,0 +1,29 @@ +{ + "name": "ecommerce", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^7.1.5" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "vite": "^6.0.11" + } +} diff --git a/week2/project/ecommerce/public/vite.svg b/week2/project/ecommerce/public/vite.svg new file mode 100644 index 0000000000..e7b8dfb1b2 --- /dev/null +++ b/week2/project/ecommerce/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/week2/project/ecommerce/src/App.css b/week2/project/ecommerce/src/App.css new file mode 100644 index 0000000000..bb684501a0 --- /dev/null +++ b/week2/project/ecommerce/src/App.css @@ -0,0 +1,120 @@ +.app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.app-title { + font-size: 2rem; + color: #333; + margin-bottom: 20px; +} + +.category-list { + display: flex; + gap: 10px; + margin-bottom: 20px; + justify-content: center; + flex-wrap: wrap; +} + +.category-btn { + padding: 10px 20px; + background-color: #fff; + border: 1px solid #ddd; + cursor: pointer; + transition: background-color 0.3s, color 0.3s; + border-radius: 5px; +} + +.category-btn:hover, +.category-btn.active { + background-color: #007bff; + color: white; +} +.product-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); + gap: 20px; + margin-top: 20px; +} +.product-detail { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + max-width: 1200px; + margin: 0 auto; + text-align: left; +} +.product-card { + background-color: white; + border: 1px solid #ddd; + padding: 15px; + text-align: center; + border-radius: 8px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + transition: transform 0.3s, box-shadow 0.3s; + max-width: 300px; + margin: 0 auto; +} + +.product-card:hover { + transform: translateY(-5px); + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); +} + +.product-image { + width: 100%; + height: 250px; + object-fit: contain; + border-radius: 8px; + margin-bottom: 15px; +} + +.product-title { + font-size: 18px; + font-weight: bold; +} + +.product-description { + font-size: 14px; + color: #555; + margin-top: 10px; + height: 60px; + overflow: hidden; + text-overflow: ellipsis; +} + +.product-price { + font-size: 18px; + color: #333; + margin-top: 10px; +} + +.rating { + font-size: 14px; + color: #555; + margin-top: 10px; +} + +.rating span { + color: #ff9800; +} + +@media (max-width: 768px) { + .product-detail { + flex-direction: column; + text-align: center; + } + + .product-image { + width: 80%; + margin-bottom: 20px; + } + + .product-info { + width: 80%; + } +} \ No newline at end of file diff --git a/week2/project/ecommerce/src/App.jsx b/week2/project/ecommerce/src/App.jsx new file mode 100644 index 0000000000..d82fbb4aae --- /dev/null +++ b/week2/project/ecommerce/src/App.jsx @@ -0,0 +1,31 @@ +import React, { useState } from "react"; +import { BrowserRouter as Router, Route, Routes } from "react-router-dom"; +import CategoryList from "./CategoryList"; +import ProductList from "./ProductList"; +import ProductDetail from "./ProductDetail"; + +const App = () => { + const [activeCategory, setActiveCategory] = useState("All"); + + return ( + +
+ + +

Prouducts

+ + + + } + /> + } /> +
+
+
+ ); +}; + +export default App; diff --git a/week2/project/ecommerce/src/CategoryList.jsx b/week2/project/ecommerce/src/CategoryList.jsx new file mode 100644 index 0000000000..e305436131 --- /dev/null +++ b/week2/project/ecommerce/src/CategoryList.jsx @@ -0,0 +1,44 @@ +import React, { useEffect, useState } from "react"; + +const CategoryList = ({ activeCategory, onCategoryChange }) => { + const [categories, setCategories] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchCategories = async () => { + try { + const response = await fetch("https://fakestoreapi.com/products/categories"); + if (!response.ok) throw new Error("Failed to fetch categories"); + const data = await response.json(); + setCategories(["All", ...data]); + } catch (err) { + setError(err.message); + } finally { + setLoading(false); + } + }; + + fetchCategories(); + }, []); + + if (loading) return

Loading categories...

; + if (error) return

{error}

; + + return ( +
+ + {categories.map((category, index) => ( + + ))} +
+ ); +}; + +export default CategoryList; diff --git a/week2/project/ecommerce/src/ProductDetail.jsx b/week2/project/ecommerce/src/ProductDetail.jsx new file mode 100644 index 0000000000..3a9508a2b0 --- /dev/null +++ b/week2/project/ecommerce/src/ProductDetail.jsx @@ -0,0 +1,45 @@ +import React, { useEffect, useState } from "react"; +import { useParams } from "react-router-dom"; + +const ProductDetail = () => { + const { id } = useParams(); + const [product, setProduct] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchProduct = async () => { + try { + const response = await fetch(`https://fakestoreapi.com/products/${id}`); + if (!response.ok) throw new Error("Failed to fetch product details"); + const data = await response.json(); + setProduct(data); + } catch (err) { + setError(err.message); + } finally { + setLoading(false); + } + }; + + fetchProduct(); + }, [id]); + + if (loading) return

Loading product...

; + if (error) return

{error}

; + + return ( +
+ {product.title} +
+

{product.title}

+

{product.description}

+

Price: ${product.price}

+

+ Rating: {product.rating.rate} ({product.rating.count} reviews) +

+
+
+ ); +}; + +export default ProductDetail; diff --git a/week2/project/ecommerce/src/ProductList.jsx b/week2/project/ecommerce/src/ProductList.jsx new file mode 100644 index 0000000000..3b0d500452 --- /dev/null +++ b/week2/project/ecommerce/src/ProductList.jsx @@ -0,0 +1,51 @@ +import React, { useEffect, useState } from "react"; +import { Link } from "react-router-dom"; + +const ProductList = ({ activeCategory }) => { + const [products, setProducts] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchProducts = async () => { + try { + setLoading(true); + const url = + activeCategory === "All" + ? "https://fakestoreapi.com/products" + : `https://fakestoreapi.com/products/category/${activeCategory}`; + + const response = await fetch(url); + if (!response.ok) throw new Error("Failed to fetch products"); + const data = await response.json(); + setProducts(data); + } catch (err) { + setError(err.message); + } finally { + setLoading(false); + } + }; + + fetchProducts(); + }, [activeCategory]); + + if (loading) return

Loading products...

; + if (error) return

{error}

; + + return ( + +
+ + {products.map((product) => ( +
+ + {product.title} +

{product.title}

+ +
+ ))} +
+ ); +}; + +export default ProductList; diff --git a/week2/project/ecommerce/src/assets/react.svg b/week2/project/ecommerce/src/assets/react.svg new file mode 100644 index 0000000000..6c87de9bb3 --- /dev/null +++ b/week2/project/ecommerce/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/week2/project/ecommerce/src/fake-data/all-categories.js b/week2/project/ecommerce/src/fake-data/all-categories.js new file mode 100644 index 0000000000..c3745dfefc --- /dev/null +++ b/week2/project/ecommerce/src/fake-data/all-categories.js @@ -0,0 +1,6 @@ +export default [ + "FAKE: electronics", + "FAKE: jewelery", + "FAKE: men's clothing", + "FAKE: women's clothing", +]; diff --git a/week2/project/ecommerce/src/fake-data/all-products.js b/week2/project/ecommerce/src/fake-data/all-products.js new file mode 100644 index 0000000000..cd1ac1a497 --- /dev/null +++ b/week2/project/ecommerce/src/fake-data/all-products.js @@ -0,0 +1,269 @@ +export default [ + { + id: 1, + title: "FAKE: Fjallraven - Foldsack No. 1 Backpack, Fits 15 Laptops", + price: 109.95, + description: + "Your perfect pack for everyday use and walks in the forest. Stash your laptop (up to 15 inches) in the padded sleeve, your everyday", + category: "men's clothing", + image: "https://fakestoreapi.com/img/81fPKd-2AYL._AC_SL1500_.jpg", + rating: { + rate: 3.9, + count: 120, + }, + }, + { + id: 2, + title: "FAKE: Mens Casual Premium Slim Fit T-Shirts ", + price: 22.3, + description: + "Slim-fitting style, contrast raglan long sleeve, three-button henley placket, light weight & soft fabric for breathable and comfortable wearing. And Solid stitched shirts with round neck made for durability and a great fit for casual fashion wear and diehard baseball fans. The Henley style round neckline includes a three-button placket.", + category: "men's clothing", + image: + "https://fakestoreapi.com/img/71-3HjGNDUL._AC_SY879._SX._UX._SY._UY_.jpg", + rating: { + rate: 4.1, + count: 259, + }, + }, + { + id: 3, + title: "FAKE: Mens Cotton Jacket", + price: 55.99, + description: + "great outerwear jackets for Spring/Autumn/Winter, suitable for many occasions, such as working, hiking, camping, mountain/rock climbing, cycling, traveling or other outdoors. Good gift choice for you or your family member. A warm hearted love to Father, husband or son in this thanksgiving or Christmas Day.", + category: "men's clothing", + image: "https://fakestoreapi.com/img/71li-ujtlUL._AC_UX679_.jpg", + rating: { + rate: 4.7, + count: 500, + }, + }, + { + id: 4, + title: "FAKE: Mens Casual Slim Fit", + price: 15.99, + description: + "The color could be slightly different between on the screen and in practice. / Please note that body builds vary by person, therefore, detailed size information should be reviewed below on the product description.", + category: "men's clothing", + image: "https://fakestoreapi.com/img/71YXzeOuslL._AC_UY879_.jpg", + rating: { + rate: 2.1, + count: 430, + }, + }, + { + id: 5, + title: + "John Hardy Women's Legends Naga Gold & Silver Dragon Station Chain Bracelet", + price: 695, + description: + "From our Legends Collection, the Naga was inspired by the mythical water dragon that protects the ocean's pearl. Wear facing inward to be bestowed with love and abundance, or outward for protection.", + category: "jewelery", + image: "https://fakestoreapi.com/img/71pWzhdJNwL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 4.6, + count: 400, + }, + }, + { + id: 6, + title: "FAKE: Solid Gold Petite Micropave ", + price: 168, + description: + "Satisfaction Guaranteed. Return or exchange any order within 30 days.Designed and sold by Hafeez Center in the United States. Satisfaction Guaranteed. Return or exchange any order within 30 days.", + category: "jewelery", + image: "https://fakestoreapi.com/img/61sbMiUnoGL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 3.9, + count: 70, + }, + }, + { + id: 7, + title: "FAKE: White Gold Plated Princess", + price: 9.99, + description: + "Classic Created Wedding Engagement Solitaire Diamond Promise Ring for Her. Gifts to spoil your love more for Engagement, Wedding, Anniversary, Valentine's Day...", + category: "jewelery", + image: "https://fakestoreapi.com/img/71YAIFU48IL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 3, + count: 400, + }, + }, + { + id: 8, + title: "FAKE: Pierced Owl Rose Gold Plated Stainless Steel Double", + price: 10.99, + description: + "Rose Gold Plated Double Flared Tunnel Plug Earrings. Made of 316L Stainless Steel", + category: "jewelery", + image: "https://fakestoreapi.com/img/51UDEzMJVpL._AC_UL640_QL65_ML3_.jpg", + rating: { + rate: 1.9, + count: 100, + }, + }, + { + id: 9, + title: "FAKE: WD 2TB Elements Portable External Hard Drive - USB 3.0 ", + price: 64, + description: + "USB 3.0 and USB 2.0 Compatibility Fast data transfers Improve PC Performance High Capacity; Compatibility Formatted NTFS for Windows 10, Windows 8.1, Windows 7; Reformatting may be required for other operating systems; Compatibility may vary depending on user’s hardware configuration and operating system", + category: "electronics", + image: "https://fakestoreapi.com/img/61IBBVJvSDL._AC_SY879_.jpg", + rating: { + rate: 3.3, + count: 203, + }, + }, + { + id: 10, + title: "FAKE: SanDisk SSD PLUS 1TB Internal SSD - SATA III 6 Gb/s", + price: 109, + description: + "Easy upgrade for faster boot up, shutdown, application load and response (As compared to 5400 RPM SATA 2.5” hard drive; Based on published specifications and internal benchmarking tests using PCMark vantage scores) Boosts burst write performance, making it ideal for typical PC workloads The perfect balance of performance and reliability Read/write speeds of up to 535MB/s/450MB/s (Based on internal testing; Performance may vary depending upon drive capacity, host device, OS and application.)", + category: "electronics", + image: "https://fakestoreapi.com/img/61U7T1koQqL._AC_SX679_.jpg", + rating: { + rate: 2.9, + count: 470, + }, + }, + { + id: 11, + title: + "Silicon Power 256GB SSD 3D NAND A55 SLC Cache Performance Boost SATA III 2.5", + price: 109, + description: + "3D NAND flash are applied to deliver high transfer speeds Remarkable transfer speeds that enable faster bootup and improved overall system performance. The advanced SLC Cache Technology allows performance boost and longer lifespan 7mm slim design suitable for Ultrabooks and Ultra-slim notebooks. Supports TRIM command, Garbage Collection technology, RAID, and ECC (Error Checking & Correction) to provide the optimized performance and enhanced reliability.", + category: "electronics", + image: "https://fakestoreapi.com/img/71kWymZ+c+L._AC_SX679_.jpg", + rating: { + rate: 4.8, + count: 319, + }, + }, + { + id: 12, + title: + "WD 4TB Gaming Drive Works with Playstation 4 Portable External Hard Drive", + price: 114, + description: + "Expand your PS4 gaming experience, Play anywhere Fast and easy, setup Sleek design with high capacity, 3-year manufacturer's limited warranty", + category: "electronics", + image: "https://fakestoreapi.com/img/61mtL65D4cL._AC_SX679_.jpg", + rating: { + rate: 4.8, + count: 400, + }, + }, + { + id: 13, + title: + "FAKE: Acer SB220Q bi 21.5 inches Full HD (1920 x 1080) IPS Ultra-Thin", + price: 599, + description: + "21. 5 inches Full HD (1920 x 1080) widescreen IPS display And Radeon free Sync technology. No compatibility for VESA Mount Refresh Rate: 75Hz - Using HDMI port Zero-frame design | ultra-thin | 4ms response time | IPS panel Aspect ratio - 16: 9. Color Supported - 16. 7 million colors. Brightness - 250 nit Tilt angle -5 degree to 15 degree. Horizontal viewing angle-178 degree. Vertical viewing angle-178 degree 75 hertz", + category: "electronics", + image: "https://fakestoreapi.com/img/81QpkIctqPL._AC_SX679_.jpg", + rating: { + rate: 2.9, + count: 250, + }, + }, + { + id: 14, + title: + "Samsung 49-Inch CHG90 144Hz Curved Gaming Monitor (LC49HG90DMNXZA) – Super Ultrawide Screen QLED ", + price: 999.99, + description: + "49 INCH SUPER ULTRAWIDE 32:9 CURVED GAMING MONITOR with dual 27 inch screen side by side QUANTUM DOT (QLED) TECHNOLOGY, HDR support and factory calibration provides stunningly realistic and accurate color and contrast 144HZ HIGH REFRESH RATE and 1ms ultra fast response time work to eliminate motion blur, ghosting, and reduce input lag", + category: "electronics", + image: "https://fakestoreapi.com/img/81Zt42ioCgL._AC_SX679_.jpg", + rating: { + rate: 2.2, + count: 140, + }, + }, + { + id: 15, + title: "FAKE: BIYLACLESEN Women's 3-in-1 Snowboard Jacket Winter Coats", + price: 56.99, + description: + "Note:The Jackets is US standard size, Please choose size as your usual wear Material: 100% Polyester; Detachable Liner Fabric: Warm Fleece. Detachable Functional Liner: Skin Friendly, Lightweigt and Warm.Stand Collar Liner jacket, keep you warm in cold weather. Zippered Pockets: 2 Zippered Hand Pockets, 2 Zippered Pockets on Chest (enough to keep cards or keys)and 1 Hidden Pocket Inside.Zippered Hand Pockets and Hidden Pocket keep your things secure. Humanized Design: Adjustable and Detachable Hood and Adjustable cuff to prevent the wind and water,for a comfortable fit. 3 in 1 Detachable Design provide more convenience, you can separate the coat and inner as needed, or wear it together. It is suitable for different season and help you adapt to different climates", + category: "women's clothing", + image: "https://fakestoreapi.com/img/51Y5NI-I5jL._AC_UX679_.jpg", + rating: { + rate: 2.6, + count: 235, + }, + }, + { + id: 16, + title: + "Lock and Love Women's Removable Hooded Faux Leather Moto Biker Jacket", + price: 29.95, + description: + "100% POLYURETHANE(shell) 100% POLYESTER(lining) 75% POLYESTER 25% COTTON (SWEATER), Faux leather material for style and comfort / 2 pockets of front, 2-For-One Hooded denim style faux leather jacket, Button detail on waist / Detail stitching at sides, HAND WASH ONLY / DO NOT BLEACH / LINE DRY / DO NOT IRON", + category: "women's clothing", + image: "https://fakestoreapi.com/img/81XH0e8fefL._AC_UY879_.jpg", + rating: { + rate: 2.9, + count: 340, + }, + }, + { + id: 17, + title: "FAKE: Rain Jacket Women Windbreaker Striped Climbing Raincoats", + price: 39.99, + description: + "Lightweight perfet for trip or casual wear---Long sleeve with hooded, adjustable drawstring waist design. Button and zipper front closure raincoat, fully stripes Lined and The Raincoat has 2 side pockets are a good size to hold all kinds of things, it covers the hips, and the hood is generous but doesn't overdo it.Attached Cotton Lined Hood with Adjustable Drawstrings give it a real styled look.", + category: "women's clothing", + image: "https://fakestoreapi.com/img/71HblAHs5xL._AC_UY879_-2.jpg", + rating: { + rate: 3.8, + count: 679, + }, + }, + { + id: 18, + title: "FAKE: MBJ Women's Solid Short Sleeve Boat Neck V ", + price: 9.85, + description: + "95% RAYON 5% SPANDEX, Made in USA or Imported, Do Not Bleach, Lightweight fabric with great stretch for comfort, Ribbed on sleeves and neckline / Double stitching on bottom hem", + category: "women's clothing", + image: "https://fakestoreapi.com/img/71z3kpMAYsL._AC_UY879_.jpg", + rating: { + rate: 4.7, + count: 130, + }, + }, + { + id: 19, + title: "FAKE: Opna Women's Short Sleeve Moisture", + price: 7.95, + description: + "100% Polyester, Machine wash, 100% cationic polyester interlock, Machine Wash & Pre Shrunk for a Great Fit, Lightweight, roomy and highly breathable with moisture wicking fabric which helps to keep moisture away, Soft Lightweight Fabric with comfortable V-neck collar and a slimmer fit, delivers a sleek, more feminine silhouette and Added Comfort", + category: "women's clothing", + image: "https://fakestoreapi.com/img/51eg55uWmdL._AC_UX679_.jpg", + rating: { + rate: 4.5, + count: 146, + }, + }, + { + id: 20, + title: "FAKE: DANVOUY Womens T Shirt Casual Cotton Short", + price: 12.99, + description: + "95%Cotton,5%Spandex, Features: Casual, Short Sleeve, Letter Print,V-Neck,Fashion Tees, The fabric is soft and has some stretch., Occasion: Casual/Office/Beach/School/Home/Street. Season: Spring,Summer,Autumn,Winter.", + category: "women's clothing", + image: "https://fakestoreapi.com/img/61pHAEJ4NML._AC_UX679_.jpg", + rating: { + rate: 3.6, + count: 145, + }, + }, +]; diff --git a/week2/project/ecommerce/src/index.css b/week2/project/ecommerce/src/index.css new file mode 100644 index 0000000000..6119ad9a8f --- /dev/null +++ b/week2/project/ecommerce/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/week2/project/ecommerce/src/main.jsx b/week2/project/ecommerce/src/main.jsx new file mode 100644 index 0000000000..a182e41985 --- /dev/null +++ b/week2/project/ecommerce/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './App.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) diff --git a/week2/project/ecommerce/vite.config.js b/week2/project/ecommerce/vite.config.js new file mode 100644 index 0000000000..8b0f57b91a --- /dev/null +++ b/week2/project/ecommerce/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From 48ae35f43c0b8204841b93a31dded0e439ed3164 Mon Sep 17 00:00:00 2001 From: RubaMansour Date: Wed, 5 Feb 2025 09:06:10 +0100 Subject: [PATCH 5/5] https://mystored.netlify.app --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 41669ba273..ab44776759 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ node_modules .env.production.local npm-debug.log* yarn-debug.log* -yarn-error.log* \ No newline at end of file +yarn-error.log* +# Local Netlify folder +.netlify