From 8441b55901c50b60af5cbb8a2b52e6e16d5b467f Mon Sep 17 00:00:00 2001 From: Adrian De Vera Date: Mon, 18 May 2026 04:59:57 +0800 Subject: [PATCH] Added frontend skeleton and stuff --- birthday_web_ui/.gitignore | 25 + birthday_web_ui/.npmrc | 1 + birthday_web_ui/.prettierignore | 9 + birthday_web_ui/.prettierrc | 16 + birthday_web_ui/.vscode/extensions.json | 8 + birthday_web_ui/.vscode/settings.json | 5 + birthday_web_ui/README.md | 42 + birthday_web_ui/eslint.config.js | 44 + birthday_web_ui/package-lock.json | 3926 +++++++++++++++++ birthday_web_ui/package.json | 48 + birthday_web_ui/playwright.config.ts | 6 + birthday_web_ui/src/app.d.ts | 13 + birthday_web_ui/src/app.html | 13 + .../src/lib/CelebrantButton.svelte | 24 + birthday_web_ui/src/lib/assets/calvin.jpg | Bin 0 -> 59798 bytes birthday_web_ui/src/lib/assets/favicon.svg | 1 + .../src/lib/assets/home-button.svg | 13 + birthday_web_ui/src/lib/assets/nanan.jpg | Bin 0 -> 62804 bytes birthday_web_ui/src/lib/index.ts | 3 + birthday_web_ui/src/lib/returnhome.svelte | 22 + birthday_web_ui/src/routes/+layout.svelte | 9 + birthday_web_ui/src/routes/+page.svelte | 25 + .../src/routes/celebrants/calvin/+page.svelte | 21 + .../src/routes/celebrants/nanan/+page.svelte | 23 + birthday_web_ui/src/routes/demo/+page.svelte | 5 + .../src/routes/demo/playwright/+page.svelte | 1 + .../routes/demo/playwright/page.svelte.e2e.ts | 6 + birthday_web_ui/src/routes/layout.css | 9 + birthday_web_ui/static/robots.txt | 3 + birthday_web_ui/svelte.config.js | 17 + birthday_web_ui/tsconfig.json | 20 + birthday_web_ui/vite.config.ts | 36 + 32 files changed, 4394 insertions(+) create mode 100644 birthday_web_ui/.gitignore create mode 100644 birthday_web_ui/.npmrc create mode 100644 birthday_web_ui/.prettierignore create mode 100644 birthday_web_ui/.prettierrc create mode 100644 birthday_web_ui/.vscode/extensions.json create mode 100644 birthday_web_ui/.vscode/settings.json create mode 100644 birthday_web_ui/README.md create mode 100644 birthday_web_ui/eslint.config.js create mode 100644 birthday_web_ui/package-lock.json create mode 100644 birthday_web_ui/package.json create mode 100644 birthday_web_ui/playwright.config.ts create mode 100644 birthday_web_ui/src/app.d.ts create mode 100644 birthday_web_ui/src/app.html create mode 100644 birthday_web_ui/src/lib/CelebrantButton.svelte create mode 100644 birthday_web_ui/src/lib/assets/calvin.jpg create mode 100644 birthday_web_ui/src/lib/assets/favicon.svg create mode 100644 birthday_web_ui/src/lib/assets/home-button.svg create mode 100644 birthday_web_ui/src/lib/assets/nanan.jpg create mode 100644 birthday_web_ui/src/lib/index.ts create mode 100644 birthday_web_ui/src/lib/returnhome.svelte create mode 100644 birthday_web_ui/src/routes/+layout.svelte create mode 100644 birthday_web_ui/src/routes/+page.svelte create mode 100644 birthday_web_ui/src/routes/celebrants/calvin/+page.svelte create mode 100644 birthday_web_ui/src/routes/celebrants/nanan/+page.svelte create mode 100644 birthday_web_ui/src/routes/demo/+page.svelte create mode 100644 birthday_web_ui/src/routes/demo/playwright/+page.svelte create mode 100644 birthday_web_ui/src/routes/demo/playwright/page.svelte.e2e.ts create mode 100644 birthday_web_ui/src/routes/layout.css create mode 100644 birthday_web_ui/static/robots.txt create mode 100644 birthday_web_ui/svelte.config.js create mode 100644 birthday_web_ui/tsconfig.json create mode 100644 birthday_web_ui/vite.config.ts diff --git a/birthday_web_ui/.gitignore b/birthday_web_ui/.gitignore new file mode 100644 index 0000000..41f1bdc --- /dev/null +++ b/birthday_web_ui/.gitignore @@ -0,0 +1,25 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* +# Playwright +test-results diff --git a/birthday_web_ui/.npmrc b/birthday_web_ui/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/birthday_web_ui/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/birthday_web_ui/.prettierignore b/birthday_web_ui/.prettierignore new file mode 100644 index 0000000..7d74fe2 --- /dev/null +++ b/birthday_web_ui/.prettierignore @@ -0,0 +1,9 @@ +# Package Managers +package-lock.json +pnpm-lock.yaml +yarn.lock +bun.lock +bun.lockb + +# Miscellaneous +/static/ diff --git a/birthday_web_ui/.prettierrc b/birthday_web_ui/.prettierrc new file mode 100644 index 0000000..819fa57 --- /dev/null +++ b/birthday_web_ui/.prettierrc @@ -0,0 +1,16 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], + "overrides": [ + { + "files": "*.svelte", + "options": { + "parser": "svelte" + } + } + ], + "tailwindStylesheet": "./src/routes/layout.css" +} diff --git a/birthday_web_ui/.vscode/extensions.json b/birthday_web_ui/.vscode/extensions.json new file mode 100644 index 0000000..175f389 --- /dev/null +++ b/birthday_web_ui/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "svelte.svelte-vscode", + "esbenp.prettier-vscode", + "dbaeumer.vscode-eslint", + "bradlc.vscode-tailwindcss" + ] +} diff --git a/birthday_web_ui/.vscode/settings.json b/birthday_web_ui/.vscode/settings.json new file mode 100644 index 0000000..bc31e15 --- /dev/null +++ b/birthday_web_ui/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "*.css": "tailwindcss" + } +} diff --git a/birthday_web_ui/README.md b/birthday_web_ui/README.md new file mode 100644 index 0000000..71068d5 --- /dev/null +++ b/birthday_web_ui/README.md @@ -0,0 +1,42 @@ +# sv + +Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). + +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```sh +# create a new project +npx sv create my-app +``` + +To recreate this project with the same configuration: + +```sh +# recreate this project +npx sv@0.15.3 create --template minimal --types ts --add prettier eslint playwright vitest="usages:unit,component" tailwindcss="plugins:typography,forms" --install npm birthdays +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```sh +npm run dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open +``` + +## Building + +To create a production version of your app: + +```sh +npm run build +``` + +You can preview the production build with `npm run preview`. + +> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. diff --git a/birthday_web_ui/eslint.config.js b/birthday_web_ui/eslint.config.js new file mode 100644 index 0000000..0014edd --- /dev/null +++ b/birthday_web_ui/eslint.config.js @@ -0,0 +1,44 @@ +import prettier from 'eslint-config-prettier'; +import path from 'node:path'; +import { includeIgnoreFile } from '@eslint/compat'; +import js from '@eslint/js'; +import svelte from 'eslint-plugin-svelte'; +import { defineConfig } from 'eslint/config'; +import globals from 'globals'; +import ts from 'typescript-eslint'; +import svelteConfig from './svelte.config.js'; + +const gitignorePath = path.resolve(import.meta.dirname, '.gitignore'); + +export default defineConfig( + includeIgnoreFile(gitignorePath), + js.configs.recommended, + ts.configs.recommended, + svelte.configs.recommended, + prettier, + svelte.configs.prettier, + { + languageOptions: { globals: { ...globals.browser, ...globals.node } }, + rules: { + // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. + // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors + 'no-undef': 'off' + } + }, + { + files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], + languageOptions: { + parserOptions: { + projectService: true, + extraFileExtensions: ['.svelte'], + parser: ts.parser, + svelteConfig + } + } + }, + { + // Override or add rule settings here, such as: + // 'svelte/button-has-type': 'error' + rules: {} + } +); diff --git a/birthday_web_ui/package-lock.json b/birthday_web_ui/package-lock.json new file mode 100644 index 0000000..77fd48c --- /dev/null +++ b/birthday_web_ui/package-lock.json @@ -0,0 +1,3926 @@ +{ + "name": "birthdays", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "birthdays", + "version": "0.0.1", + "devDependencies": { + "@eslint/compat": "^2.0.4", + "@eslint/js": "^10.0.1", + "@playwright/test": "^1.59.1", + "@sveltejs/adapter-auto": "^7.0.1", + "@sveltejs/kit": "^2.57.0", + "@sveltejs/vite-plugin-svelte": "^7.0.0", + "@tailwindcss/forms": "^0.5.11", + "@tailwindcss/typography": "^0.5.19", + "@tailwindcss/vite": "^4.2.2", + "@types/node": "^24", + "@vitest/browser-playwright": "^4.1.3", + "eslint": "^10.2.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-svelte": "^3.17.0", + "globals": "^17.4.0", + "playwright": "^1.59.1", + "prettier": "^3.8.1", + "prettier-plugin-svelte": "^3.5.1", + "prettier-plugin-tailwindcss": "^0.7.2", + "svelte": "^5.55.2", + "svelte-check": "^4.4.6", + "tailwindcss": "^4.2.2", + "typescript": "^6.0.2", + "typescript-eslint": "^8.58.1", + "vite": "^8.0.7", + "vitest": "^4.1.3", + "vitest-browser-svelte": "^2.1.0" + } + }, + "node_modules/@blazediff/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.9.1.tgz", + "integrity": "sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "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.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/compat": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-2.1.0.tgz", + "integrity": "sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "peerDependencies": { + "eslint": "^8.40 || 9 || 10" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "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.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "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/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.130.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.130.0.tgz", + "integrity": "sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@playwright/test": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.60.0.tgz", + "integrity": "sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.60.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.1.tgz", + "integrity": "sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.1.tgz", + "integrity": "sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.1.tgz", + "integrity": "sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.1.tgz", + "integrity": "sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.1.tgz", + "integrity": "sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.1.tgz", + "integrity": "sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.1.tgz", + "integrity": "sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.9.tgz", + "integrity": "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/adapter-auto": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-7.0.1.tgz", + "integrity": "sha512-dvuPm1E7M9NI/+canIQ6KKQDU2AkEefEZ2Dp7cY6uKoPq9Z/PhOXABe526UdW2mN986gjVkuSLkOYIBnS/M2LQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.60.1", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.60.1.tgz", + "integrity": "sha512-mQjlkNo+rJvpln7V2IGY2j99BqhcFbS4UN0AQNKNYfhBAFZTuCDAdW3a1sgf330mvtNvsBXn3HpAhcmvdJTcIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.8.1", + "esm-env": "^1.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "set-cookie-parser": "^3.0.0", + "sirv": "^3.0.0" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": "^5.3.3 || ^6.0.0", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-7.1.2.tgz", + "integrity": "sha512-DrUBA2UXRfDmUX/ZTiEopd3X40yavsJF1FX2RygcuIScHL7o5YX1fMvoYnDhjeJQC4weCOklirpNWlcb2NiSeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "deepmerge": "^4.3.1", + "magic-string": "^0.30.21", + "obug": "^2.1.0", + "vitefu": "^1.1.2" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "svelte": "^5.46.4", + "vite": "^8.0.0-beta.7 || ^8.0.0" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz", + "integrity": "sha512-h9wegbZDPurxG22xZSoWtdzc41/OlNEUQERNqI/0fOwa2aVlWGu7C35E/x6LDyD3lgtztFSSjKZyuVM0hxhbgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz", + "integrity": "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.21.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz", + "integrity": "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-x64": "4.3.0", + "@tailwindcss/oxide-freebsd-x64": "4.3.0", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.0", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-x64-musl": "4.3.0", + "@tailwindcss/oxide-wasm32-wasi": "4.3.0", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.0", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz", + "integrity": "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz", + "integrity": "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz", + "integrity": "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz", + "integrity": "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz", + "integrity": "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz", + "integrity": "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz", + "integrity": "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz", + "integrity": "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz", + "integrity": "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz", + "integrity": "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz", + "integrity": "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz", + "integrity": "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", + "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.0.tgz", + "integrity": "sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.0", + "@tailwindcss/oxide": "4.3.0", + "tailwindcss": "4.3.0" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@testing-library/svelte-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/svelte-core/-/svelte-core-1.0.0.tgz", + "integrity": "sha512-VkUePoLV6oOYwSUvX6ShA8KLnJqZiYMIbP2JW2t0GLWLkJxKGvuH5qrrZBV/X7cXFnLGuFQEC7RheYiZOW68KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "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/node": { + "version": "24.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.4.tgz", + "integrity": "sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz", + "integrity": "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/type-utils": "8.59.3", + "@typescript-eslint/utils": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.59.3", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.3.tgz", + "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz", + "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.59.3", + "@typescript-eslint/types": "^8.59.3", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz", + "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz", + "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz", + "integrity": "sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/utils": "8.59.3", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz", + "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz", + "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.59.3", + "@typescript-eslint/tsconfig-utils": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz", + "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz", + "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitest/browser": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.6.tgz", + "integrity": "sha512-ynsspTubXGSpa58JFJ24xIQt4z4A25epSbugEyaTmmrV1//Wec9EgE/LtoaC6yxUrXi5P7erGHRrkdZIHaVQuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@blazediff/core": "1.9.1", + "@vitest/mocker": "4.1.6", + "@vitest/utils": "4.1.6", + "magic-string": "^0.30.21", + "pngjs": "^7.0.0", + "sirv": "^3.0.2", + "tinyrainbow": "^3.1.0", + "ws": "^8.19.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "4.1.6" + } + }, + "node_modules/@vitest/browser-playwright": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.6.tgz", + "integrity": "sha512-4csoeyl/qwHyxU2zNL0++WaoDr8YJDXOQPwWPNJoTZ+QzcdO3INYKgF5Zfz730Io7zbkuv914aZmfQ+QE+1Hvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/browser": "4.1.6", + "@vitest/mocker": "4.1.6", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "playwright": "*", + "vitest": "4.1.6" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": false + } + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.6.tgz", + "integrity": "sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.6.tgz", + "integrity": "sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.6", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.6.tgz", + "integrity": "sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.6.tgz", + "integrity": "sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.6", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.6.tgz", + "integrity": "sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "@vitest/utils": "4.1.6", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.6.tgz", + "integrity": "sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.6.tgz", + "integrity": "sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "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.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "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/aria-query": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.1.tgz", + "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "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/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz", + "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.21.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.3.tgz", + "integrity": "sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "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": "10.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.0.tgz", + "integrity": "sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.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", + "minimatch": "^10.2.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.17.1.tgz", + "integrity": "sha512-NyiXHtS3Ni7e532RBwS9OXlMKDIrENg3gY+/+ODjZzQx2xhU3NlJ+nIl1a93iUUQeiJL3lS8KLmY+W8hklzweQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.6.1", + "@jridgewell/sourcemap-codec": "^1.5.0", + "esutils": "^2.0.3", + "globals": "^16.0.0", + "known-css-properties": "^0.37.0", + "postcss": "^8.4.49", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^7.0.0", + "semver": "^7.6.3", + "svelte-eslint-parser": "^1.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^8.57.1 || ^9.0.0 || ^10.0.0", + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-svelte/node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrap": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.9.tgz", + "integrity": "sha512-4KijP+NxCWthMCUC3qHbE6n4vCjqgJS1uAYKhuT/GWfFTf1Qyive2TgOjep+gzbSzRfnNyaN/UU9YmdOt8Eg0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "peerDependencies": { + "@typescript-eslint/types": "^8.2.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/types": { + "optional": true + } + } + }, + "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/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.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/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.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/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "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.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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": "17.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", + "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "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/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/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-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-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "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/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "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/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/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "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/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "dev": true, + "license": "MIT" + }, + "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/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "license": "MIT", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "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/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "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/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/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/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "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/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/playwright": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz", + "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.60.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz", + "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/pngjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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/prettier": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.5.2.tgz", + "integrity": "sha512-ItFouLvzSFE3ulNl4DKoWM3BGcbDCNVpIyy/Y3F2gC3aNiGLxtFUdffVqO5Z5hhYG+DFT5KULWaxmeFFpdbvaQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.7.4.tgz", + "integrity": "sha512-UKii4RjY05SNt/WQi6/NcOn/LsT0/ILLXsxygjbRg5/YZelsSu5jTqorYHPDGq4nZy5q5hpCu+XdGZ1xaJEQgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.19" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-hermes": "*", + "@prettier/plugin-oxc": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-multiline-arrays": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-hermes": { + "optional": true + }, + "@prettier/plugin-oxc": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "@zackad/prettier-plugin-twig": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-multiline-arrays": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + } + } + }, + "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/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rolldown": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.1.tgz", + "integrity": "sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.130.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.1", + "@rolldown/binding-darwin-arm64": "1.0.1", + "@rolldown/binding-darwin-x64": "1.0.1", + "@rolldown/binding-freebsd-x64": "1.0.1", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.1", + "@rolldown/binding-linux-arm64-gnu": "1.0.1", + "@rolldown/binding-linux-arm64-musl": "1.0.1", + "@rolldown/binding-linux-ppc64-gnu": "1.0.1", + "@rolldown/binding-linux-s390x-gnu": "1.0.1", + "@rolldown/binding-linux-x64-gnu": "1.0.1", + "@rolldown/binding-linux-x64-musl": "1.0.1", + "@rolldown/binding-openharmony-arm64": "1.0.1", + "@rolldown/binding-wasm32-wasi": "1.0.1", + "@rolldown/binding-win32-arm64-msvc": "1.0.1", + "@rolldown/binding-win32-x64-msvc": "1.0.1" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/semver": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.1.0.tgz", + "integrity": "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==", + "dev": true, + "license": "MIT" + }, + "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/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "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/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/svelte": { + "version": "5.55.7", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.55.7.tgz", + "integrity": "sha512-ymI5ykLPwIHW839E053FQbI1G+jnRFJEw3Kv5Y4njixVWywQBx+NUFpkkKyk5LIb36Fg9DVXSYpqiGekLD0hyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "@types/trusted-types": "^2.0.7", + "acorn": "^8.12.1", + "aria-query": "5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "devalue": "^5.8.1", + "esm-env": "^1.2.1", + "esrap": "^2.2.4", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte-check": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.4.8.tgz", + "integrity": "sha512-67adfgBox5eNSNIvIIwgFizKGdcRrGpiMoNO2obHcYuLz7iTa8Xgm/NGU3ntMFnNm8K1grFOIG6HhMLX/vcN8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "chokidar": "^4.0.1", + "fdir": "^6.2.0", + "picocolors": "^1.0.0", + "sade": "^1.7.4" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "engines": { + "node": ">= 18.0.0" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": ">=5.0.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.6.1.tgz", + "integrity": "sha512-hhvSH6kRj46UzrBVO5TaotD+Iuvruj5ccKBcO4wAhVcPTLmIc/c32D8UllBTYO0on4LzYuM0rNzf1lM/gBlkSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.0", + "postcss": "^8.4.49", + "postcss-scss": "^4.0.9", + "postcss-selector-parser": "^7.0.0", + "semver": "^7.7.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0", + "pnpm": "10.33.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-eslint-parser/node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "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/svelte-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "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/svelte-eslint-parser/node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", + "integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", + "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "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/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.3.tgz", + "integrity": "sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.59.3", + "@typescript-eslint/parser": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/utils": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "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/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "8.0.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.13.tgz", + "integrity": "sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.14", + "rolldown": "1.0.1", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "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/vite/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/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "dev": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.6.tgz", + "integrity": "sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.6", + "@vitest/mocker": "4.1.6", + "@vitest/pretty-format": "4.1.6", + "@vitest/runner": "4.1.6", + "@vitest/snapshot": "4.1.6", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.6", + "@vitest/browser-preview": "4.1.6", + "@vitest/browser-webdriverio": "4.1.6", + "@vitest/coverage-istanbul": "4.1.6", + "@vitest/coverage-v8": "4.1.6", + "@vitest/ui": "4.1.6", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/vitest-browser-svelte": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest-browser-svelte/-/vitest-browser-svelte-2.1.1.tgz", + "integrity": "sha512-qbunYRSm+N92r9bfTkdDTpBZESLmp4QFz2SluV3n/x8U7ysosfeXYJZ4vXbJ0Y0LzoqqDnV5LHprmFgn4Eo+Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@testing-library/svelte-core": "^1.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0", + "vitest": "^4.0.0" + } + }, + "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/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "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/ws": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", + "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zimmerframe": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", + "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/birthday_web_ui/package.json b/birthday_web_ui/package.json new file mode 100644 index 0000000..a7e013f --- /dev/null +++ b/birthday_web_ui/package.json @@ -0,0 +1,48 @@ +{ + "name": "birthdays", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --check . && eslint .", + "format": "prettier --write .", + "test:e2e": "playwright install && playwright test", + "test": "npm run test:unit -- --run && npm run test:e2e", + "test:unit": "vitest" + }, + "devDependencies": { + "@eslint/compat": "^2.0.4", + "@eslint/js": "^10.0.1", + "@playwright/test": "^1.59.1", + "@sveltejs/adapter-auto": "^7.0.1", + "@sveltejs/kit": "^2.57.0", + "@sveltejs/vite-plugin-svelte": "^7.0.0", + "@tailwindcss/forms": "^0.5.11", + "@tailwindcss/typography": "^0.5.19", + "@tailwindcss/vite": "^4.2.2", + "@types/node": "^24", + "@vitest/browser-playwright": "^4.1.3", + "eslint": "^10.2.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-svelte": "^3.17.0", + "globals": "^17.4.0", + "playwright": "^1.59.1", + "prettier": "^3.8.1", + "prettier-plugin-svelte": "^3.5.1", + "prettier-plugin-tailwindcss": "^0.7.2", + "svelte": "^5.55.2", + "svelte-check": "^4.4.6", + "tailwindcss": "^4.2.2", + "typescript": "^6.0.2", + "typescript-eslint": "^8.58.1", + "vite": "^8.0.7", + "vitest": "^4.1.3", + "vitest-browser-svelte": "^2.1.0" + } +} diff --git a/birthday_web_ui/playwright.config.ts b/birthday_web_ui/playwright.config.ts new file mode 100644 index 0000000..9eea31b --- /dev/null +++ b/birthday_web_ui/playwright.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from '@playwright/test'; + +export default defineConfig({ + webServer: { command: 'npm run build && npm run preview', port: 4173 }, + testMatch: '**/*.e2e.{ts,js}' +}); diff --git a/birthday_web_ui/src/app.d.ts b/birthday_web_ui/src/app.d.ts new file mode 100644 index 0000000..da08e6d --- /dev/null +++ b/birthday_web_ui/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/birthday_web_ui/src/app.html b/birthday_web_ui/src/app.html new file mode 100644 index 0000000..448eb9c --- /dev/null +++ b/birthday_web_ui/src/app.html @@ -0,0 +1,13 @@ + + + + + Birthday + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/birthday_web_ui/src/lib/CelebrantButton.svelte b/birthday_web_ui/src/lib/CelebrantButton.svelte new file mode 100644 index 0000000..5dffb37 --- /dev/null +++ b/birthday_web_ui/src/lib/CelebrantButton.svelte @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/birthday_web_ui/src/lib/assets/calvin.jpg b/birthday_web_ui/src/lib/assets/calvin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f72fe8933c37d9be89102260f51e178fc79a5f53 GIT binary patch literal 59798 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�P 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 \ No newline at end of file diff --git a/birthday_web_ui/src/lib/assets/home-button.svg b/birthday_web_ui/src/lib/assets/home-button.svg new file mode 100644 index 0000000..8fa6115 --- /dev/null +++ b/birthday_web_ui/src/lib/assets/home-button.svg @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/birthday_web_ui/src/lib/assets/nanan.jpg b/birthday_web_ui/src/lib/assets/nanan.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e76c162229103e122aeaef5999dfc83d88c616fa GIT binary patch literal 62804 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 P!S0Wc>Yf>Ir9c1KLauG! literal 0 HcmV?d00001 diff --git a/birthday_web_ui/src/lib/index.ts b/birthday_web_ui/src/lib/index.ts new file mode 100644 index 0000000..194687e --- /dev/null +++ b/birthday_web_ui/src/lib/index.ts @@ -0,0 +1,3 @@ +// place files you want to import through the `$lib` alias in this folder. +export { default as CelebrantButton } from './CelebrantButton.svelte'; +export { default as HomeButton} from './returnhome.svelte'; \ No newline at end of file diff --git a/birthday_web_ui/src/lib/returnhome.svelte b/birthday_web_ui/src/lib/returnhome.svelte new file mode 100644 index 0000000..ee55d73 --- /dev/null +++ b/birthday_web_ui/src/lib/returnhome.svelte @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/birthday_web_ui/src/routes/+layout.svelte b/birthday_web_ui/src/routes/+layout.svelte new file mode 100644 index 0000000..0d8eb03 --- /dev/null +++ b/birthday_web_ui/src/routes/+layout.svelte @@ -0,0 +1,9 @@ + + + +{@render children()} diff --git a/birthday_web_ui/src/routes/+page.svelte b/birthday_web_ui/src/routes/+page.svelte new file mode 100644 index 0000000..b504544 --- /dev/null +++ b/birthday_web_ui/src/routes/+page.svelte @@ -0,0 +1,25 @@ + + Birthday Home + + + + +
+

Welcome to the BIRTDEY

+
+
+ CHOOSE A BIRTDAYER +
+ + +
+
+ + diff --git a/birthday_web_ui/src/routes/celebrants/calvin/+page.svelte b/birthday_web_ui/src/routes/celebrants/calvin/+page.svelte new file mode 100644 index 0000000..0d32c9e --- /dev/null +++ b/birthday_web_ui/src/routes/celebrants/calvin/+page.svelte @@ -0,0 +1,21 @@ +
+ O'AIGHT THEN SHOW US YE' MINGE! +
+ + + +Calvin + + diff --git a/birthday_web_ui/src/routes/celebrants/nanan/+page.svelte b/birthday_web_ui/src/routes/celebrants/nanan/+page.svelte new file mode 100644 index 0000000..9f09ea4 --- /dev/null +++ b/birthday_web_ui/src/routes/celebrants/nanan/+page.svelte @@ -0,0 +1,23 @@ + + +
IT'S ME NANAN!
+ +David eating pansit + + + + diff --git a/birthday_web_ui/src/routes/demo/+page.svelte b/birthday_web_ui/src/routes/demo/+page.svelte new file mode 100644 index 0000000..372e8bc --- /dev/null +++ b/birthday_web_ui/src/routes/demo/+page.svelte @@ -0,0 +1,5 @@ + + +
playwright diff --git a/birthday_web_ui/src/routes/demo/playwright/+page.svelte b/birthday_web_ui/src/routes/demo/playwright/+page.svelte new file mode 100644 index 0000000..5f0f2c9 --- /dev/null +++ b/birthday_web_ui/src/routes/demo/playwright/+page.svelte @@ -0,0 +1 @@ +

Playwright e2e test demo

diff --git a/birthday_web_ui/src/routes/demo/playwright/page.svelte.e2e.ts b/birthday_web_ui/src/routes/demo/playwright/page.svelte.e2e.ts new file mode 100644 index 0000000..1000be6 --- /dev/null +++ b/birthday_web_ui/src/routes/demo/playwright/page.svelte.e2e.ts @@ -0,0 +1,6 @@ +import { expect, test } from '@playwright/test'; + +test('has expected h1', async ({ page }) => { + await page.goto('/demo/playwright'); + await expect(page.locator('h1')).toBeVisible(); +}); diff --git a/birthday_web_ui/src/routes/layout.css b/birthday_web_ui/src/routes/layout.css new file mode 100644 index 0000000..292b387 --- /dev/null +++ b/birthday_web_ui/src/routes/layout.css @@ -0,0 +1,9 @@ +@import 'tailwindcss'; +@plugin '@tailwindcss/forms'; +@plugin '@tailwindcss/typography'; + +body { + margin: 0; + min-height: 100vh; + background-color: #5992C6; +} \ No newline at end of file diff --git a/birthday_web_ui/static/robots.txt b/birthday_web_ui/static/robots.txt new file mode 100644 index 0000000..b6dd667 --- /dev/null +++ b/birthday_web_ui/static/robots.txt @@ -0,0 +1,3 @@ +# allow crawling everything by default +User-agent: * +Disallow: diff --git a/birthday_web_ui/svelte.config.js b/birthday_web_ui/svelte.config.js new file mode 100644 index 0000000..0c3412e --- /dev/null +++ b/birthday_web_ui/svelte.config.js @@ -0,0 +1,17 @@ +import adapter from '@sveltejs/adapter-auto'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + compilerOptions: { + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true) + }, + kit: { + // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. + // See https://svelte.dev/docs/kit/adapters for more information about adapters. + adapter: adapter() + } +}; + +export default config; diff --git a/birthday_web_ui/tsconfig.json b/birthday_web_ui/tsconfig.json new file mode 100644 index 0000000..2c2ed3c --- /dev/null +++ b/birthday_web_ui/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "rewriteRelativeImportExtensions": true, + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files + // + // To make changes to top-level options such as include and exclude, we recommend extending + // the generated config; see https://svelte.dev/docs/kit/configuration#typescript +} diff --git a/birthday_web_ui/vite.config.ts b/birthday_web_ui/vite.config.ts new file mode 100644 index 0000000..f22be4a --- /dev/null +++ b/birthday_web_ui/vite.config.ts @@ -0,0 +1,36 @@ +import tailwindcss from '@tailwindcss/vite'; +import { defineConfig } from 'vitest/config'; +import { playwright } from '@vitest/browser-playwright'; +import { sveltekit } from '@sveltejs/kit/vite'; + +export default defineConfig({ + plugins: [tailwindcss(), sveltekit()], + test: { + expect: { requireAssertions: true }, + projects: [ + { + extends: './vite.config.ts', + test: { + name: 'client', + browser: { + enabled: true, + provider: playwright(), + instances: [{ browser: 'chromium', headless: true }] + }, + include: ['src/**/*.svelte.{test,spec}.{js,ts}'], + exclude: ['src/lib/server/**'] + } + }, + + { + extends: './vite.config.ts', + test: { + name: 'server', + environment: 'node', + include: ['src/**/*.{test,spec}.{js,ts}'], + exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] + } + } + ] + } +});