diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 00000000..44571643 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,51 @@ +# PLSS Cloud-Agent Guide + +## Project at a glance + +This is the Utah GIS Public Lands Survey System (PLSS) application: a React map for viewing PLSS monuments and submitting monument records. It is a pnpm workspace with two Node 24 packages: + +- The root package is a React 19, Vite 8, Tailwind 4, ArcGIS JavaScript SDK web app. It deploys as Firebase Hosting. +- `functions/` contains ESM Firebase Functions v2 (HTTP callables plus Auth, Firestore, and Storage triggers). Firebase Hosting and Functions both target Node 24 (`firebase.json`, `package.json`, and `functions/package.json`). + +The repository is small application source plus a large generated/installed ArcGIS asset surface. Do not inspect or edit `public/assets/`, `dist/`, coverage output, `node_modules/`, or `.emulator-data/`; they are generated or local data. Trust this guide and search only when it is incomplete or demonstrably wrong. + +## Bootstrap and commands + +Always use pnpm 11 and Node 24. CI installs Java 21 for Firebase emulators; a Java 21-or-newer runtime is required locally for storage-rules tests. From the repository root, run: + +```sh +pnpm install --frozen-lockfile +``` + +This is the CI bootstrap and succeeds with the committed lockfile. `pnpm-workspace.yaml` has strict package-age and approved-build policies; do not use another package manager or rewrite the lockfile unless the task changes dependencies. + +Run validation in this order after relevant changes: + +```sh +CI=1 pnpm test:ci +pnpm lint +pnpm check +pnpm build +``` + +- `test:ci` starts a temporary Firebase Storage emulator on port 9199 and runs all Vitest suites, including Functions, shared schemas, state machines, UI utilities, and `storage.rules.test.mjs`. It passed locally with 9 files / 323 tests in about 17 seconds after emulator startup. `CI=1` is essential locally because `pnpm test` includes `--ui --open`; without CI it opens the Vitest UI and remains interactive. Firebase may report a nonfatal Java `Unsafe` deprecation warning or use logging port 4501 if 4500 is occupied. +- `lint` is the PR gate: root ESLint uses `@ugrc/eslint-config` and fails on any warning. The Functions package has a legacy local lint script, but root `pnpm lint` covers repository CI. +- `build` runs Vite and writes the deployable Firebase Hosting bundle to `dist/`, including copied ArcGIS assets. The production build passed locally. A generated-CSS pseudo-class warning can appear and is currently nonfatal. +- `pnpm format` modifies files. Run `pnpm exec prettier --write ` as appropriate for changed files that Prettier supports. Use `pnpm exec prettier --check ` when a formatting-only validation is needed; Prettier organizes imports and Tailwind classes. + +For interactive development, first authenticate with Firebase, copy `.env` to `.env.local`, and copy `functions/.secret` to `functions/.secret.local`; populate the existing placeholders with authorized development values. Never commit either local file or secrets. Then run `pnpm start` and use `http://localhost:5173/`. It starts Vite and Auth/Functions/Firestore/Storage emulators; it waits for the Firebase emulator UI at port 4000. It is a long-running command, not a PR validation. `pnpm dev:firebase-state` imports and exports `.emulator-data`; use it only when persistent emulator data is wanted. Deploy commands require repository/cloud credentials and should not be run by a cloud agent. + +## Architecture and change locations + +- `src/main.jsx` configures Firebase and React Query providers, then renders `src/components/app/App.jsx`. Firebase configuration is parsed from `VITE_FIREBASE_CONFIG`; other browser-visible variables must use the `VITE_` prefix. +- `src/components/pageElements/` contains map-oriented screens and the corner-submission wizard; `formElements/` contains reusable inputs; `layoutElements/` has navigation/drawer; `machines/` contains XState logic; `reducers/AppReducer.js` owns app-level UI/map state. Add or update nearby `*.test.js` / `*.stories.jsx` using existing patterns. +- `functions/index.js` is the Functions export and authorization boundary. Keep its lazy imports and v2 trigger/callable conventions; implement endpoint bodies in `functions/https/`, document-trigger code in `functions/database/submissions/`, and reusable validation/formatting in `functions/shared/`. Sensitive integrations use `defineSecret` (`SENDGRID_API_KEY`, `SHARED_DRIVE_ID`), not client environment variables. +- `functions/firebase.js` intentionally configures localhost and the dev Firebase project for `NODE_ENV=development` or `test`. +- `firestore.rules`, `storage.rules`, and `firestore.indexes.json` are deployed Firebase configuration. Storage rules have the executable root test above; preserve the 5 MB and authenticated-user constraints unless requirements intentionally change. Firestore submissions/stats require an authenticated, elevated submitter. +- `vite.config.js` is Vite/Vitest configuration and hardcodes `FIREBASE_STORAGE_EMULATOR_HOST=127.0.0.1:9199` for tests. `firebase.json` controls Functions runtime, Hosting `dist/`, rewrites, security headers, and emulator ports. `eslint.config.js`, `.prettierrc`, and `pnpm-workspace.yaml` are the style and package-policy configuration. + +## CI and delivery + +`.github/workflows/pull_request.yml` is the required PR pipeline: pnpm 11, Node from `package.json`, frozen install, Java 21, `pnpm test:ci`, then `pnpm lint`. Preview deployment occurs only after those pass and only for eligible non-`dev` PR authors; it builds with `pnpm build --mode dev` and protected Firebase credentials. Do not depend on previews to validate a change. + +Pushes to `main` and `dev` use the release automation. Published prereleases deploy to staging and releases deploy to production through protected credentials; both build with `pnpm build`. Repository root also contains `README.md` (local setup and domain context), `firebase.json`, rules/index configuration, `vite.config.js`, `eslint.config.js`, `pnpm-lock.yaml`, `CHANGELOG.md`, and `AI_ATTESTATION.md`. diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 96d11f53..7050d615 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -25,7 +25,7 @@ jobs: - name: ๐Ÿ“ฆ Setup PNPM uses: pnpm/action-setup@v4 with: - version: latest + version: 11 - name: ๐Ÿ’พ Cache firebase emulators uses: actions/cache@v5 @@ -36,11 +36,11 @@ jobs: - name: โŽ” Setup Node.js uses: actions/setup-node@v6 with: - node-version: lts/* + node-version-file: package.json cache: pnpm - name: ๐Ÿ“ฅ Download app dependencies - run: pnpm install + run: pnpm install --frozen-lockfile - name: โ˜• Setup Java uses: actions/setup-java@v4 @@ -48,11 +48,14 @@ jobs: distribution: 'temurin' java-version: '21' - - name: ๐Ÿงช Run tests - run: pnpm run test:ci - - name: ๐Ÿ” Lint - run: pnpm run lint + run: pnpm lint + + - name: โœ… Type Check + run: pnpm check + + - name: ๐Ÿงช Run tests + run: pnpm test:ci deploy-preview: name: Create preview @@ -63,11 +66,16 @@ jobs: name: preview steps: + - name: โฌ‡๏ธ Set up code + uses: actions/checkout@v6 + with: + show-progress: false + - name: ๐Ÿš€ Deploy - uses: agrc/firebase-website-deploy-composite-action@v1 + uses: agrc/firebase-website-deploy-composite-action@v2 with: preview: yes - build-command: pnpm run build --mode dev + build-command: pnpm build --mode dev project-id: ${{ secrets.PROJECT_ID }} repo-token: ${{ secrets.GITHUB_TOKEN }} identity-provider: ${{ secrets.IDENTITY_PROVIDER }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fb8451c9..b4bdd03e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,7 +38,7 @@ jobs: identity-provider: ${{ secrets.IDENTITY_PROVIDER }} service-account-email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }} project-id: ${{ secrets.PROJECT_ID }} - build-command: pnpm run build + build-command: pnpm build env: VITE_FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} VITE_DISCOVER_KEY: ${{ secrets.VITE_DISCOVER_KEY }} @@ -73,7 +73,7 @@ jobs: service-now-username: ${{ secrets.SN_USERNAME }} service-now-password: ${{ secrets.SN_PASSWORD }} repo-token: ${{ secrets.GITHUB_TOKEN }} - build-command: pnpm run build + build-command: pnpm build env: VITE_FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} VITE_DISCOVER_KEY: ${{ secrets.VITE_DISCOVER_KEY }} diff --git a/.gitignore b/.gitignore index 07590d22..4f67b0ad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,9 @@ lerna-debug.log* dist dist-ssr +storybook-static +functions/lib +functions/shared/dist *.local # Editor directories and files diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec1..00000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index cfe75101..00000000 --- a/.husky/commit-msg +++ /dev/null @@ -1 +0,0 @@ -pnpm commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index a9fbf9be..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -pnpm lint-staged --quiet diff --git a/.prettierignore b/.prettierignore index 0886420c..4f009017 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,3 +7,4 @@ /dist /public/assets CHANGELOG.md +pnpm-lock.yaml \ No newline at end of file diff --git a/.storybook/main.js b/.storybook/main.ts similarity index 79% rename from .storybook/main.js rename to .storybook/main.ts index 8bc2420d..21bb53e8 100644 --- a/.storybook/main.js +++ b/.storybook/main.ts @@ -1,5 +1,5 @@ export default { - stories: ['../src/**/*.stories.@(js|jsx|ts|tsx)'], + stories: ['../src/**/*.stories.@(ts|tsx)'], addons: ['@storybook/addon-links', '@storybook/addon-docs'], framework: { name: '@storybook/react-vite', diff --git a/.storybook/preview.js b/.storybook/preview.ts similarity index 100% rename from .storybook/preview.js rename to .storybook/preview.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 67bf0752..9b576c5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,92 @@ # Changelog +## [3.6.17-rc.8](https://github.com/agrc/plss/compare/v3.6.16...v3.6.17-rc.8) (2026-09-10) + + +### Features + +* add better busy indicator to map ([b573e84](https://github.com/agrc/plss/commit/b573e84d48f1b15f40e33c2de2771a678f797751)), refs [#551](https://github.com/agrc/plss/issues/551) + + +### Bug Fixes + +* allow tasks.arcgisonline.com in content security policy ([80f8d79](https://github.com/agrc/plss/commit/80f8d79570750137f74fbe6e15570db639c1646a)) +* better layout for quick finder tools dialog ([9d82808](https://github.com/agrc/plss/commit/9d828087c7302cd5484562379f59d0b22fa1b9c6)) +* default MMRC project toggle to yes ([baaa2d3](https://github.com/agrc/plss/commit/baaa2d3bf6e0189704361c7a777aa0901cd79a9e)), refs [#549](https://github.com/agrc/plss/issues/549) +* **functions:** better error handling for submissions ([60af4f9](https://github.com/agrc/plss/commit/60af4f905e96476916d265da9576c271002caf37)) +* **functions:** create the monument firestore prop for new sheets ([e6a75cb](https://github.com/agrc/plss/commit/e6a75cba610f4b4b46ef13eb3f49fa4d3b2a51ec)), refs [#563](https://github.com/agrc/plss/issues/563) +* make menu ribbon more visible and functional on mobile ([f1e91a1](https://github.com/agrc/plss/commit/f1e91a1681c9438214064f39478de872148a497f)), refs [#160](https://github.com/agrc/plss/issues/160) +* more natural sorting of TRS ranges with decimals ([06b726c](https://github.com/agrc/plss/commit/06b726c36e7533761a9920b888fcff44be549b89)), refs [#203](https://github.com/agrc/plss/issues/203) +* prevent form from going back to step 1 after a successful submission ([8cb3972](https://github.com/agrc/plss/commit/8cb3972c6e23d8363f768bd93c76edaeb6ff2c9a)) +* remove skip button on "Location Information" screen ([341da26](https://github.com/agrc/plss/commit/341da26956fbac40e1bf78c4204c9a742130718d)), refs [#550](https://github.com/agrc/plss/issues/550) +* repoint to AGOL geometry service and better error logging ([8a9e2d1](https://github.com/agrc/plss/commit/8a9e2d1001f1c496f30353fc77502333ce5eb6e9)) +* test artifact registry policy ([a13005e](https://github.com/agrc/plss/commit/a13005e286764ffc7690e51f9e2a18c7ce5101a4)) + + +### Dependencies + +* @arcgis/core v4 -> v5 ([59c2cec](https://github.com/agrc/plss/commit/59c2cec60f35942815079a16509c83e1ce8d9b88)) +* bump NPM dependencies ๐ŸŒฒ ([1ee9c97](https://github.com/agrc/plss/commit/1ee9c97d07a05dd6dd869bab5c8794a966048348)) +* bump utah design system ([68ddcda](https://github.com/agrc/plss/commit/68ddcda0301ae32426f2f368ce99cc21a920e731)) + +## [3.6.17-rc.6](https://github.com/agrc/plss/compare/v3.6.17-rc.5...v3.6.17-rc.6) (2026-09-09) + + +### Bug Fixes + +* **functions:** create the monument firestore prop for new sheets ([facaafb](https://github.com/agrc/plss/commit/facaafbe979c05e524a05835daf9ab3470530002)), refs [#563](https://github.com/agrc/plss/issues/563) + +## [3.6.17-rc.5](https://github.com/agrc/plss/compare/v3.6.17-rc.4...v3.6.17-rc.5) (2026-09-04) + + +### Bug Fixes + +* prevent form from going back to step 1 after a successful submission ([976360d](https://github.com/agrc/plss/commit/976360d1b2cea66f427e452d8f417706cfe1f7a2)) + +## [3.6.17-rc.4](https://github.com/agrc/plss/compare/v3.6.17-rc.3...v3.6.17-rc.4) (2026-08-21) + + +### Bug Fixes + +* allow tasks.arcgisonline.com in content security policy ([29ade78](https://github.com/agrc/plss/commit/29ade78d13b2bc479367535d69704ee236db7429)) + +## [3.6.17-rc.3](https://github.com/agrc/plss/compare/v3.6.17-rc.2...v3.6.17-rc.3) (2026-08-20) + + +### Bug Fixes + +* test artifact registry policy ([79e14cb](https://github.com/agrc/plss/commit/79e14cb7e8f2e1ac06a2478e6afe622528597674)) + +## [3.6.17-rc.2](https://github.com/agrc/plss/compare/v3.6.17-rc.1...v3.6.17-rc.2) (2026-08-18) + + +### Features + +* add better busy indicator to map ([44f2ff8](https://github.com/agrc/plss/commit/44f2ff822317c09aeb62c4994a92773230528021)), refs [#551](https://github.com/agrc/plss/issues/551) + + +### Bug Fixes + +* better layout for quick finder tools dialog ([795a79e](https://github.com/agrc/plss/commit/795a79ea4e426a83939198953e0bbeefa6f4fb56)) +* default MRRC project toggle to yes ([b982ee2](https://github.com/agrc/plss/commit/b982ee2c8fb6f2327f35714a8cb088e7bba49f24)), refs [#549](https://github.com/agrc/plss/issues/549) +* make menu ribbon more visible and functional on mobile ([553b138](https://github.com/agrc/plss/commit/553b138a73af6a2498277805f8597ac1a4114824)), refs [#160](https://github.com/agrc/plss/issues/160) +* more natural sorting of TRS ranges with decimals ([ac72af0](https://github.com/agrc/plss/commit/ac72af046a7e3cee59bda5eaf804766e9f27ab5e)), refs [#203](https://github.com/agrc/plss/issues/203) +* remove skip button on "Location Information" screen ([9f8250e](https://github.com/agrc/plss/commit/9f8250ee96915f704a2882cc81199b04b638d409)), refs [#550](https://github.com/agrc/plss/issues/550) + +## [3.6.17-rc.1](https://github.com/agrc/plss/compare/v3.6.16...v3.6.17-rc.1) (2026-08-18) + + +### Bug Fixes + +* repoint to AGOL geometry service and better error logging ([8a9e2d1](https://github.com/agrc/plss/commit/8a9e2d1001f1c496f30353fc77502333ce5eb6e9)) + + +### Dependencies + +* @arcgis/core v4 -> v5 ([59c2cec](https://github.com/agrc/plss/commit/59c2cec60f35942815079a16509c83e1ce8d9b88)) +* bump NPM dependencies ๐ŸŒฒ ([1ee9c97](https://github.com/agrc/plss/commit/1ee9c97d07a05dd6dd869bab5c8794a966048348)) +* bump utah design system ([68ddcda](https://github.com/agrc/plss/commit/68ddcda0301ae32426f2f368ce99cc21a920e731)) + ## [3.6.16](https://github.com/agrc/plss/compare/v3.6.15...v3.6.16) (2026-04-08) diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index b2727de7..00000000 --- a/commitlint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -export default { - extends: ['@commitlint/config-conventional'], - rules: { - 'scope-enum': [2, 'always', ['api', 'app']], - 'type-enum': [2, 'always', ['build', 'chore', 'ci', 'docs', 'feat', 'fix', 'refactor', 'deps', 'style', 'test']], - }, -}; diff --git a/eslint.config.js b/eslint.config.js index 43384360..184746e4 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,6 +1,9 @@ import { browser } from '@ugrc/eslint-config'; export default [ + { + ignores: ['coverage/**', 'dist/**', 'functions/lib/**', 'functions/shared/dist/**', 'public/assets/**'], + }, ...browser, { rules: { diff --git a/firebase.json b/firebase.json index 360d3ede..97642782 100644 --- a/firebase.json +++ b/firebase.json @@ -2,8 +2,9 @@ "functions": [ { "source": "functions", - "runtime": "nodejs22", + "runtime": "nodejs24", "codebase": "default", + "predeploy": "pnpm --dir \"$RESOURCE_DIR\" run build", "ignore": ["node_modules", ".git", "firebase-debug.log", "firebase-debug.*.log"] } ], @@ -56,7 +57,7 @@ "headers": [ { "key": "Content-Security-Policy", - "value": "default-src 'none'; font-src *; worker-src blob:; script-src 'self' 'unsafe-eval' https://*.google.com https://www.googletagmanager.com; connect-src 'self' https://*.cloudfunctions.net https://*.utah.gov https://*.googleapis.com https://*.arcgis.com https://www.google-analytics.com; img-src 'self' blob: data: https://www.gravatar.com https://*.wp.com https://*.utah.gov https://*.arcgis.com https://www.googletagmanager.com https://*.googleapis.com; style-src 'self' 'unsafe-inline';base-uri 'self'; form-action 'self'; frame-src *; object-src 'self' https://*.googleapis.com" + "value": "default-src 'none'; font-src *; worker-src blob:; script-src 'self' 'unsafe-eval' https://*.google.com https://www.googletagmanager.com; connect-src 'self' https://*.cloudfunctions.net https://*.utah.gov https://*.googleapis.com https://*.arcgis.com https://www.google-analytics.com https://*.arcgisonline.com; img-src 'self' blob: data: https://www.gravatar.com https://*.wp.com https://*.utah.gov https://*.arcgis.com https://www.googletagmanager.com https://*.googleapis.com; style-src 'self' 'unsafe-inline';base-uri 'self'; form-action 'self'; frame-src *; object-src 'self' https://*.googleapis.com" } ] }, diff --git a/functions/auth/onCreate.js b/functions/auth/onCreate.ts similarity index 81% rename from functions/auth/onCreate.js rename to functions/auth/onCreate.ts index 9d9bc9dc..5b3fa207 100644 --- a/functions/auth/onCreate.js +++ b/functions/auth/onCreate.ts @@ -1,9 +1,10 @@ -import { logger } from 'firebase-functions/v2'; import { getFirestore } from 'firebase-admin/firestore'; +import { logger } from 'firebase-functions/v2'; +import type { AuthUserRecord } from 'firebase-functions/v2/identity'; const db = getFirestore(); -export const createUser = async (user) => { +export const createUser = async (user: AuthUserRecord): Promise => { logger.info('[auth::user::onCreate] creating user', { user }); const data = { diff --git a/functions/converters.js b/functions/converters.ts similarity index 73% rename from functions/converters.js rename to functions/converters.ts index f333b087..79efd6d4 100644 --- a/functions/converters.js +++ b/functions/converters.ts @@ -1,12 +1,18 @@ +import { getStatus } from '@ugrc/plss-shared'; import { contrastColor } from 'contrast-color'; -import { getStatus } from './shared/index.js'; +import type { + DocumentData, + FirestoreDataConverter, + QueryDocumentSnapshot, + WithFieldValue, +} from 'firebase-admin/firestore'; -export const graphicConverter = { - toFirestore(data) { - return data; - }, - fromFirestore(snapshot, options) { - const data = snapshot.data(options); +const passthrough = (data: WithFieldValue): DocumentData => data; + +export const graphicConverter: FirestoreDataConverter = { + toFirestore: passthrough, + fromFirestore(snapshot: QueryDocumentSnapshot) { + const data = snapshot.data(); return { photos: data.photos, @@ -47,19 +53,17 @@ const colors = { 'UGRC rejected submission.': '#f43f5e', 'Pending PLSS geometry corrections': '#10b981', 'Sheet and geometry corrections are live': '#f0fdfa', -}; +} as const; -export const myContentConverter = { - toFirestore(data) { - return data; - }, - fromFirestore(snapshot, options) { - const data = snapshot.data(options); +export const myContentConverter: FirestoreDataConverter = { + toFirestore: passthrough, + fromFirestore(snapshot: QueryDocumentSnapshot) { + const data = snapshot.data(); const status = getStatus(data.status); if (status.label in colors) { - data.color = colors[status.label]; + data.color = colors[status.label as keyof typeof colors]; } else { for (const [title, color] of Object.entries(colors)) { if (status.label === title || status.label.includes(title)) { @@ -72,7 +76,7 @@ export const myContentConverter = { data.color = colors.Unknown; } - const result = { + const result: DocumentData = { id: data.blm_point_id, key: snapshot.id, submitted: data.created_at.toDate().toISOString(), diff --git a/functions/database/submissions/onCancelSubmission.js b/functions/database/submissions/onCancelSubmission.ts similarity index 77% rename from functions/database/submissions/onCancelSubmission.js rename to functions/database/submissions/onCancelSubmission.ts index 3e7d57cb..cb582862 100644 --- a/functions/database/submissions/onCancelSubmission.js +++ b/functions/database/submissions/onCancelSubmission.ts @@ -1,22 +1,25 @@ -import { logger } from 'firebase-functions/v2'; +import type { ClientRequest } from '@sendgrid/client/src/request.js'; +import type { DocumentSnapshot } from 'firebase-admin/firestore'; import { getFirestore } from 'firebase-admin/firestore'; -import { safelyInitializeApp } from '../../firebase.js'; +import { logger } from 'firebase-functions/v2'; import { getContactsToNotify, notify } from '../../emailHelpers.js'; +import { safelyInitializeApp } from '../../firebase.js'; safelyInitializeApp(); const db = getFirestore(); -export const cancelSubmission = async (before) => { - // only email ugrc with empty county +export const cancelSubmission = async ( + before: DocumentSnapshot, +): Promise => { const to = await getContactsToNotify(db, null); - if (!to || to.length === 0) { + if (to.length === 0) { logger.error('no contacts to notify'); return; } - const template = { + const template: ClientRequest = { method: 'post', url: '/v3/mail/send', body: { @@ -38,7 +41,8 @@ export const cancelSubmission = async (before) => { }, }; - const templateData = template.body.personalizations[0].dynamic_template_data; + const templateData = + template.body?.personalizations?.[0]?.dynamic_template_data; logger.debug('sending notification email to', { to, templateData }); diff --git a/functions/database/submissions/onCreateAddLocation.js b/functions/database/submissions/onCreateAddLocation.ts similarity index 53% rename from functions/database/submissions/onCreateAddLocation.js rename to functions/database/submissions/onCreateAddLocation.ts index 31390ee8..9fa9f508 100644 --- a/functions/database/submissions/onCreateAddLocation.js +++ b/functions/database/submissions/onCreateAddLocation.ts @@ -1,19 +1,26 @@ +import { GeoPoint, getFirestore } from 'firebase-admin/firestore'; import { logger } from 'firebase-functions/v2'; -import { getFirestore, GeoPoint } from 'firebase-admin/firestore'; import ky from 'ky'; import { safelyInitializeApp } from '../../firebase.js'; safelyInitializeApp(); const client = ky.extend({ - prefixUrl: - 'https://services1.arcgis.com/99lidPhWCzftIe9K/arcgis/rest/services', + prefix: 'https://services1.arcgis.com/99lidPhWCzftIe9K/arcgis/rest/services', timeout: 40000, retry: 3, }); -const getLocationFromId = async (id) => { - // query points for shape +type FeatureSet = { + features: Array<{ + geometry: { + x: number; + y: number; + }; + }>; +}; + +const getLocationFromId = async (id: string): Promise => { const featureSet = await client .get('UtahPLSSGCDBPoints/FeatureServer/0/query', { searchParams: { @@ -23,21 +30,22 @@ const getLocationFromId = async (id) => { f: 'json', }, }) - .json(); + .json(); logger.debug('featureSet', { featureSet }); - if (featureSet.features.length === 0) { - return {}; + const feature = featureSet.features[0]; + if (!feature) { + return null; } - return new GeoPoint( - featureSet.features[0].geometry.y, - featureSet.features[0].geometry.x, - ); + return new GeoPoint(feature.geometry.y, feature.geometry.x); }; -export const createAddLocation = async (id, blmPointId) => { +export const createAddLocation = async ( + id: string, + blmPointId: string, +): Promise => { const db = getFirestore(); const doc = db.collection('submissions').doc(id); @@ -45,12 +53,8 @@ export const createAddLocation = async (id, blmPointId) => { logger.debug( '[database::submissions::onCreateAddLocation] setting location', - { - location, - }, + { location }, ); - const result = await doc.update({ location }); - - return result; + await doc.update({ location }); }; diff --git a/functions/database/submissions/onCreateMonument.test.ts b/functions/database/submissions/onCreateMonument.test.ts new file mode 100644 index 00000000..d6bbd348 --- /dev/null +++ b/functions/database/submissions/onCreateMonument.test.ts @@ -0,0 +1,120 @@ +import { beforeEach, describe, expect, test, vi } from 'vitest'; + +const mocks = vi.hoisted(() => { + const update = vi.fn(); + const save = vi.fn(); + const setMetadata = vi.fn(); + const getBinaryPdfs = vi.fn(); + const getPdfAssets = vi.fn(); + const createPdfDocument = vi.fn(); + const generatePdfDefinition = vi.fn(); + + return { + createPdfDocument, + generatePdfDefinition, + getBinaryPdfs, + getPdfAssets, + save, + setMetadata, + update, + }; +}); + +vi.mock('firebase-admin/firestore', () => ({ + getFirestore: () => ({ + collection: () => ({ + doc: () => ({ update: mocks.update }), + }), + }), +})); + +vi.mock('firebase-admin/storage', () => ({ + getStorage: () => ({ + bucket: () => ({ + file: () => ({ + save: mocks.save, + setMetadata: mocks.setMetadata, + }), + }), + }), +})); + +vi.mock('firebase-functions/v2', () => ({ logger: { debug: vi.fn(), error: vi.fn() } })); +vi.mock('../../drive.js', () => ({ uploadFile: vi.fn() })); +vi.mock('../../firebase.js', () => ({ safelyInitializeApp: () => ({}) })); +vi.mock('../../pdfHelpers.js', () => ({ + createPdfDocument: mocks.createPdfDocument, + generatePdfDefinition: mocks.generatePdfDefinition, + getBinaryPdfs: mocks.getBinaryPdfs, + getPdfAssets: mocks.getPdfAssets, +})); + +import { createMonumentRecord } from './onCreateMonument.js'; + +const record = { + type: 'existing', + pdf: 'submitters/user-id/existing/point-id/source.pdf', + blm_point_id: 'point-id', + submitted_by: { id: 'user-id' }, + metadata: { mrrc: false }, +}; + +const newRecord = { + type: 'new', + blm_point_id: 'point-id', + submitted_by: { id: 'user-id' }, + metadata: { mrrc: false }, + images: { monument: 'submitters/user-id/new/point-id/monument.jpg' }, +}; + +describe('createMonumentRecord', () => { + beforeEach(() => { + vi.clearAllMocks(); + mocks.save.mockResolvedValue(undefined); + mocks.setMetadata.mockResolvedValue(undefined); + mocks.update.mockResolvedValue(undefined); + mocks.getPdfAssets.mockResolvedValue({ images: {}, pdfs: {} }); + mocks.generatePdfDefinition.mockReturnValue({}); + mocks.createPdfDocument.mockResolvedValue(Buffer.from('generated pdf')); + }); + + test('stores the review PDF path after copying an existing submission', async () => { + mocks.getBinaryPdfs.mockResolvedValue({ pdf: Buffer.from('existing pdf') }); + + await createMonumentRecord(record, 'submission-id', 'shared-drive-id'); + + expect(mocks.save).toHaveBeenCalledWith(Buffer.from('existing pdf')); + expect(mocks.update).toHaveBeenCalledWith({ + monument: 'under-review/point-id/user-id/submission-id.pdf', + }); + }); + + test('does not store a review PDF path when the existing source PDF is missing', async () => { + mocks.getBinaryPdfs.mockResolvedValue(undefined); + + await createMonumentRecord(record, 'submission-id', 'shared-drive-id'); + + expect(mocks.save).not.toHaveBeenCalled(); + expect(mocks.update).not.toHaveBeenCalled(); + }); + + test('stores the review PDF path after generating a new submission', async () => { + await createMonumentRecord(newRecord, 'submission-id', 'shared-drive-id'); + + expect(mocks.save).toHaveBeenCalledWith(Buffer.from('generated pdf')); + expect(mocks.update).toHaveBeenCalledWith({ + monument: 'under-review/point-id/user-id/submission-id.pdf', + }); + }); + + test('does not store a review PDF path when generating a new submission fails', async () => { + mocks.createPdfDocument.mockRejectedValue(new Error('generation failed')); + + await expect( + createMonumentRecord(newRecord, 'submission-id', 'shared-drive-id'), + ).rejects.toThrow('generation failed'); + + expect(mocks.save).not.toHaveBeenCalled(); + expect(mocks.update).not.toHaveBeenCalled(); + }); +}); \ No newline at end of file diff --git a/functions/database/submissions/onCreateMonument.js b/functions/database/submissions/onCreateMonument.ts similarity index 70% rename from functions/database/submissions/onCreateMonument.js rename to functions/database/submissions/onCreateMonument.ts index 06269938..9f674f23 100644 --- a/functions/database/submissions/onCreateMonument.js +++ b/functions/database/submissions/onCreateMonument.ts @@ -1,21 +1,22 @@ -import { logger } from 'firebase-functions/v2'; +import type { DocumentData } from 'firebase-admin/firestore'; import { getFirestore } from 'firebase-admin/firestore'; import { getStorage } from 'firebase-admin/storage'; +import { logger } from 'firebase-functions/v2'; +import { uploadFile } from '../../drive.js'; +import { safelyInitializeApp } from '../../firebase.js'; import { createPdfDocument, generatePdfDefinition, getBinaryPdfs, getPdfAssets, } from '../../pdfHelpers.js'; -import { safelyInitializeApp } from '../../firebase.js'; -import { uploadFile } from '../../drive.js'; const config = safelyInitializeApp(); const db = getFirestore(); const bucket = getStorage().bucket(config.storageBucket); -const getFiscalYear = (now) => { - const july = 6; // July is month 6 (0-indexed) +const getFiscalYear = (now: Date): string => { + const july = 6; const currentYear = now.getFullYear(); const currentMonth = now.getMonth(); @@ -29,22 +30,34 @@ const getFiscalYear = (now) => { const fiscalYear = getFiscalYear(new Date()); -export const createMonumentRecord = async (record, id, sharedDriveId) => { +export const createMonumentRecord = async ( + record: DocumentData, + id: string, + sharedDriveId: string, +): Promise => { logger.debug('trigger: new submission for', { id, type: record.type }); if (record.type === 'existing') { - let data; + let data: Record | undefined; try { const fileName = `under-review/${record.blm_point_id}/${record.submitted_by.id}/${id}.pdf`; const file = bucket.file(fileName); - data = await getBinaryPdfs(bucket, { pdf: record.pdf }); + const loadedPdfs = await getBinaryPdfs(bucket, { pdf: record.pdf }); + const existingPdf = loadedPdfs?.pdf; + if (!existingPdf) { + throw new Error('Existing monument PDF could not be loaded'); + } + data = loadedPdfs; - await file.save(data.pdf); + await file.save(existingPdf); await file.setMetadata({ contentType: 'application/pdf', contentDisposition: 'inline', }); + + const doc = db.collection('submissions').doc(id); + await doc.update({ monument: fileName }); } catch (error) { logger.error('error generating monument', { error, record, id }); } @@ -75,7 +88,7 @@ export const createMonumentRecord = async (record, id, sharedDriveId) => { return true; } - let surveyor = {}; + const surveyor: DocumentData = {}; try { const snapshot = await db @@ -85,9 +98,9 @@ export const createMonumentRecord = async (record, id, sharedDriveId) => { const surveyorDoc = snapshot.data(); - surveyor.name = surveyorDoc.displayName; - surveyor.license = surveyorDoc.license; - surveyor.seal = surveyorDoc.seal; + surveyor.name = surveyorDoc?.displayName; + surveyor.license = surveyorDoc?.license; + surveyor.seal = surveyorDoc?.seal; } catch (error) { logger.error('error fetching surveyor license. using empty string', { error, @@ -106,48 +119,36 @@ export const createMonumentRecord = async (record, id, sharedDriveId) => { const fileName = `under-review/${record.blm_point_id}/${record.submitted_by.id}/${id}.pdf`; const file = bucket.file(fileName); - let pdf = null; try { - pdf = await createPdfDocument(definition, pdfs); + const createdPdf = (await createPdfDocument(definition, pdfs)) as Buffer; - await file.save(pdf); + await file.save(createdPdf); await file.setMetadata({ contentType: 'application/pdf', contentDisposition: 'inline', }); - } catch (error) { - logger.error('error generating monument', { error, record, id }); - } - try { const doc = db.collection('submissions').doc(id); - await doc.update({ monument: fileName }); - } catch (error) { - logger.error('error updating monument record sheet', { fileName, error }); - } - if (!record.metadata.mrrc) { - return true; - } + if (!record.metadata.mrrc) { + return true; + } - try { - if (pdf) { + try { await uploadFile( sharedDriveId, - pdf, + createdPdf, record.blm_point_id, record.county, fiscalYear, ); - } else { - logger.error('error placing file in drive: pdf not created', { - record, - id, - }); + } catch (error) { + logger.error('error placing file in drive', { error, record, id }); } } catch (error) { - logger.error('error placing file in drive', { error, record, id }); + logger.error('error generating monument', { error, record, id }); + throw error; } return true; diff --git a/functions/database/submissions/onDelete.js b/functions/database/submissions/onDelete.ts similarity index 75% rename from functions/database/submissions/onDelete.js rename to functions/database/submissions/onDelete.ts index 342d76d2..2bba9ac5 100644 --- a/functions/database/submissions/onDelete.js +++ b/functions/database/submissions/onDelete.ts @@ -4,7 +4,9 @@ import { safelyInitializeApp } from '../../firebase.js'; const config = safelyInitializeApp(); const bucket = getStorage().bucket(config.storageBucket); -export const cleanUpPointAttachments = async (photos) => { +export const cleanUpPointAttachments = async ( + photos: readonly string[], +): Promise => { for (const photo of photos) { await bucket.file(photo).delete(); } diff --git a/functions/drive.js b/functions/drive.ts similarity index 62% rename from functions/drive.js rename to functions/drive.ts index 6bc45e92..e194bf91 100644 --- a/functions/drive.js +++ b/functions/drive.ts @@ -12,7 +12,19 @@ const drive = google.drive({ auth, }); -const createFolder = async (name, parentId, root) => { +const requireId = (id: string | null | undefined, name: string): string => { + if (!id) { + throw new Error(`Google Drive did not return an ID for ${name}.`); + } + + return id; +}; + +const createFolder = async ( + name: string, + parentId: string, + root: boolean, +): Promise => { const fileMetadata = { name, mimeType: folderMimeType, @@ -25,26 +37,29 @@ const createFolder = async (name, parentId, root) => { supportsAllDrives: true, }); - const folder = folders.data.files.find( - (folder) => - folder.name.toLowerCase() === name.toLowerCase() && - (root || (folder.parents && folder.parents[0] === parentId)), + const folder = folders.data.files?.find( + (candidate) => + candidate.name?.toLowerCase() === name.toLowerCase() && + (root || candidate.parents?.[0] === parentId), ); if (folder) { - return folder.id; + return requireId(folder.id, name); } const newFolder = await drive.files.create({ - resource: fileMetadata, + requestBody: fileMetadata, fields: 'id', supportsAllDrives: true, }); - return newFolder.data.id; + return requireId(newFolder.data.id, name); }; -const getParentFolderId = async (sharedDriveId, path) => { +const getParentFolderId = async ( + sharedDriveId: string, + path: string, +): Promise => { const parts = path.split('/'); let id = sharedDriveId; let first = true; @@ -58,12 +73,12 @@ const getParentFolderId = async (sharedDriveId, path) => { }; export const uploadFile = async ( - sharedDriveId, - pdf, - blmPointId, - county, - year, -) => { + sharedDriveId: string, + pdf: Uint8Array, + blmPointId: string, + county: string, + year: number | string, +): Promise => { const mainFolder = process.env.NODE_ENV === 'production' ? 'MRRC' : 'MRRC-test'; const parentId = await getParentFolderId( @@ -81,11 +96,11 @@ export const uploadFile = async ( }; const response = await drive.files.create({ - resource: fileMetadata, - media: media, + requestBody: fileMetadata, + media, fields: 'id', supportsAllDrives: true, }); - return response.data.id; + return requireId(response.data.id, fileMetadata.name); }; diff --git a/functions/emailHelper.test.js b/functions/emailHelper.test.ts similarity index 100% rename from functions/emailHelper.test.js rename to functions/emailHelper.test.ts diff --git a/functions/emailHelpers.js b/functions/emailHelpers.ts similarity index 58% rename from functions/emailHelpers.js rename to functions/emailHelpers.ts index f267a3ac..3bb3d211 100644 --- a/functions/emailHelpers.js +++ b/functions/emailHelpers.ts @@ -1,8 +1,20 @@ import client from '@sendgrid/client'; +import type { ClientRequest } from '@sendgrid/client/src/request.js'; import { Base64Encode } from 'base64-stream'; +import type { Firestore } from 'firebase-admin/firestore'; import { logger } from 'firebase-functions/v2'; +import type { Readable } from 'node:stream'; -export const notify = (key, template) => { +export type Contact = { + name: string; + email: string; +}; + +type ContactDocument = Record & { + ugrc: Contact[]; +}; + +export const notify = (key: string, template: ClientRequest) => { if (process.env.NODE_ENV !== 'production') { logger.warn('Skipping mail send and returning a fake promise', { nodeEnv: process.env.NODE_ENV, @@ -24,7 +36,10 @@ export const notify = (key, template) => { return client.request(template); }; -export const getContactsToNotify = async (db, county) => { +export const getContactsToNotify = async ( + db: Firestore, + county: string | null, +): Promise => { const documentReference = db.collection('contacts').doc('admin'); const documentSnapshot = await documentReference.get(); @@ -34,37 +49,38 @@ export const getContactsToNotify = async (db, county) => { return []; } - const data = documentSnapshot.data(); - + const data = documentSnapshot.data() as ContactDocument; let contacts = data.ugrc; if (!county) { return contacts; } - county = county.toLowerCase(); + const normalizedCounty = county.toLowerCase(); - if (county in data) { - contacts = [...contacts, ...data[county]]; + if (normalizedCounty in data) { + contacts = [...contacts, ...data[normalizedCounty]]; } return contacts; }; -export const getBase64EncodedAttachment = (stream) => { +export const getBase64EncodedAttachment = ( + stream: Readable, +): Promise => { const chunks = new Base64Encode(); return new Promise((resolve, reject) => { stream.on('error', (error) => { logger.error('get pdf error', { error }); - return reject(error); + reject(error); }); stream.on('data', (chunk) => chunks.write(chunk)); stream.on('end', () => { chunks.end(); - return resolve(chunks.read()); + resolve(chunks.read() as Buffer); }); }); }; diff --git a/functions/firebase.js b/functions/firebase.js deleted file mode 100644 index aa65b15d..00000000 --- a/functions/firebase.js +++ /dev/null @@ -1,22 +0,0 @@ -import { initializeApp } from 'firebase-admin/app'; - -export const safelyInitializeApp = () => { - let app = {}; - try { - app = JSON.parse(process.env.FIREBASE_CONFIG); - } catch (error) { - console.error('This happens in unit tests', error); - } - - if (['development', 'test'].includes(process.env.NODE_ENV)) { - app.storageBucket = 'localhost'; - app.projectId = 'ut-dts-agrc-plss-dev'; - } - - try { - initializeApp(app); - // eslint-disable-next-line no-empty - } catch {} - - return app; -}; diff --git a/functions/firebase.ts b/functions/firebase.ts new file mode 100644 index 00000000..6f4a3449 --- /dev/null +++ b/functions/firebase.ts @@ -0,0 +1,23 @@ +import { initializeApp, type AppOptions } from 'firebase-admin/app'; + +export const safelyInitializeApp = (): AppOptions => { + let options: AppOptions = {}; + + try { + options = JSON.parse(process.env.FIREBASE_CONFIG ?? '{}') as AppOptions; + } catch (error) { + console.error('This happens in unit tests', error); + } + + if (['development', 'test'].includes(process.env.NODE_ENV ?? '')) { + options.storageBucket = 'localhost'; + options.projectId = 'ut-dts-agrc-plss-dev'; + } + + try { + initializeApp(options); + // eslint-disable-next-line no-empty + } catch {} + + return options; +}; diff --git a/functions/https/getMyContent.js b/functions/https/getMyContent.ts similarity index 79% rename from functions/https/getMyContent.js rename to functions/https/getMyContent.ts index 9ea5ce53..d099b61a 100644 --- a/functions/https/getMyContent.js +++ b/functions/https/getMyContent.ts @@ -1,14 +1,17 @@ -import { logger } from 'firebase-functions/v2'; +import type { DocumentData } from 'firebase-admin/firestore'; import { getFirestore } from 'firebase-admin/firestore'; +import { logger } from 'firebase-functions/v2'; import { graphicConverter, myContentConverter } from '../converters.js'; import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); const db = getFirestore(); -export const myContent = async (uid) => { - const points = []; - const submissions = []; +export const myContent = async ( + uid: string, +): Promise<{ submissions: DocumentData[]; points: DocumentData[] }> => { + const points: DocumentData[] = []; + const submissions: DocumentData[] = []; try { const snapshot = await db @@ -22,8 +25,7 @@ export const myContent = async (uid) => { logger.debug('user points are empty', { uid }); } else { snapshot.forEach((doc) => { - const item = doc.data(); - points.push(item); + points.push(doc.data()); }); } } catch (error) { @@ -31,7 +33,7 @@ export const myContent = async (uid) => { } try { - let filter = db + const filter = db .collectionGroup('submissions') .where('submitted_by.id', '==', uid) .where('status.user.cancelled', '==', null); diff --git a/functions/https/getMyProfile.js b/functions/https/getMyProfile.ts similarity index 55% rename from functions/https/getMyProfile.js rename to functions/https/getMyProfile.ts index e71fed69..5cb3cb4a 100644 --- a/functions/https/getMyProfile.js +++ b/functions/https/getMyProfile.ts @@ -1,14 +1,20 @@ -import { https, logger } from 'firebase-functions/v2'; +import type { Profile } from '@ugrc/plss-shared/corner-submission/schema'; import { getFirestore } from 'firebase-admin/firestore'; +import { https, logger } from 'firebase-functions/v2'; +import type { CallableRequest } from 'firebase-functions/v2/https'; import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); const db = getFirestore(); -export const myProfile = async (auth) => { - let profile = { - displayName: auth.token.displayName, - email: auth.token.email, +type CallableAuth = NonNullable; + +export const myProfile = async ( + auth: CallableAuth, +): Promise> => { + let profile: Partial | undefined = { + displayName: auth.token.displayName as string | undefined, + email: auth.token.email as string | undefined, license: '', seal: '', }; @@ -16,7 +22,7 @@ export const myProfile = async (auth) => { try { const snapshot = await db.collection('submitters').doc(auth.uid).get(); - profile = snapshot.data(); + profile = snapshot.data() as Partial | undefined; } catch (error) { logger.error('error querying profile', { error, auth }); } diff --git a/functions/https/postCancelCorner.js b/functions/https/postCancelCorner.ts similarity index 72% rename from functions/https/postCancelCorner.js rename to functions/https/postCancelCorner.ts index bf8a11f5..b82cc5c0 100644 --- a/functions/https/postCancelCorner.js +++ b/functions/https/postCancelCorner.ts @@ -1,12 +1,20 @@ -import { https, logger } from 'firebase-functions/v2'; +import type { DocumentData } from 'firebase-admin/firestore'; import { getFirestore } from 'firebase-admin/firestore'; import { getStorage } from 'firebase-admin/storage'; +import { https, logger } from 'firebase-functions/v2'; import { safelyInitializeApp } from '../firebase.js'; const config = safelyInitializeApp(); const db = getFirestore(); -export const cancelCorner = async (data, uid) => { +type CancelCornerRequest = { + key?: string; +}; + +export const cancelCorner = async ( + data: CancelCornerRequest, + uid: string, +): Promise<0 | 1> => { logger.info('validating corner cancellation', { data, uid }); if (!data.key) { @@ -25,6 +33,10 @@ export const cancelCorner = async (data, uid) => { } const record = snapshot.data(); + if (!record) { + throw new https.HttpsError('not-found', 'corner submission not found'); + } + if ( record.status?.ugrc?.reviewedAt || record.status?.county?.reviewedAt || @@ -36,7 +48,7 @@ export const cancelCorner = async (data, uid) => { published: record.published, }); - return 0; // Already reviewed, cannot cancel + return 0; } logger.debug('cancelling submission', { key: data.key }); @@ -45,7 +57,7 @@ export const cancelCorner = async (data, uid) => { { status: { user: { cancelled: new Date() } } }, { merge: true }, ); - await removeStorage(uid, snapshot.data()); + await removeStorage(uid, record); } catch (error) { logger.error('error finding submission', { error }); @@ -55,19 +67,18 @@ export const cancelCorner = async (data, uid) => { return 1; }; -export const removeStorage = async (user, submission) => { +export const removeStorage = async ( + user: string, + submission: DocumentData, +): Promise => { const bucket = getStorage().bucket(config.storageBucket); const prefix = `submitters/${user}/${submission.type}/${submission.blm_point_id}/`; logger.debug('deleting submission files', { prefix }); - await bucket.deleteFiles( - { - force: true, - prefix, - }, - (error) => { - logger.warn('had trouble deleting file', { error }); - }, - ); + try { + await bucket.deleteFiles({ force: true, prefix }); + } catch (error) { + logger.warn('had trouble deleting file', { error }); + } }; diff --git a/functions/https/postCorner.test.js b/functions/https/postCorner.test.ts similarity index 100% rename from functions/https/postCorner.test.js rename to functions/https/postCorner.test.ts diff --git a/functions/https/postCorner.js b/functions/https/postCorner.ts similarity index 57% rename from functions/https/postCorner.js rename to functions/https/postCorner.ts index 6390424b..a5ee19e3 100644 --- a/functions/https/postCorner.js +++ b/functions/https/postCorner.ts @@ -1,8 +1,10 @@ import { https, logger } from 'firebase-functions/v2'; import { getFirestore, GeoPoint } from 'firebase-admin/firestore'; +import type { DocumentData } from 'firebase-admin/firestore'; +import type { AuthData } from 'firebase-functions/tasks'; import { parseDms } from 'dms-conversion'; -import * as schemas from '../shared/cornerSubmission/Schema.js'; -import { formatDegrees } from '../shared/index.js'; +import * as schemas from '@ugrc/plss-shared/corner-submission/schema'; +import { formatDegrees } from '@ugrc/plss-shared'; import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); @@ -12,7 +14,51 @@ const options = { abortEarly: false, }; -export const saveCorner = async (data, auth) => { +type Dms = { + degrees: number; + minutes: number; + seconds: number; +}; + +type GeographicInput = { + northing: Dms; + easting: Dms; + unit: string; + elevation: number; +}; + +type GridInput = { + northing: number; + easting: number; + zone: string; + unit: string; + elevation?: number; + verticalDatum?: string; +}; + +type CornerSubmissionInput = { + type: 'new' | 'existing'; + blmPointId: string; + county: string; + datum?: string; + metadata: DocumentData; + geographic: GeographicInput; + grid: GridInput; + images: DocumentData; + existing: { + pdf: string; + mrrc: boolean; + }; +}; + +type SubmissionAuth = AuthData & { + displayName?: string; +}; + +export const saveCorner = async ( + data: unknown, + auth: SubmissionAuth, +): Promise<1> => { logger.info('validating corner submission', { data, uid: auth.uid }); try { @@ -28,9 +74,10 @@ export const saveCorner = async (data, auth) => { ); } - logger.debug('formatting corner document', { type: data.type }); + const submission = data as CornerSubmissionInput; + logger.debug('formatting corner document', { type: submission.type }); - const doc = formatDataForFirestore(data, auth); + const doc = formatDataForFirestore(submission, auth); logger.info('saving corner submission', { doc, auth }); @@ -45,9 +92,13 @@ export const saveCorner = async (data, auth) => { return 1; }; -export const validateSubmission = async (data) => { +export const validateSubmission = async (data: unknown): Promise => { await schemas.cornerData.validate(data, options); + if (!data || typeof data !== 'object' || !('type' in data)) { + throw new Error('Invalid submission type'); + } + if (data.type === 'new') { return await validateNewSubmission(data); } else if (data.type === 'existing') { @@ -57,34 +108,47 @@ export const validateSubmission = async (data) => { throw Error('Invalid submission type'); }; -export const validateNewSubmission = async (data) => { - await schemas.metadataSchema.validate(data?.metadata, options); - await schemas.coordinatePickerSchema.validate(data, options); - await schemas.geographicHeightSchema.validate(data?.geographic, options); - await schemas.longitudeSchema.validate(data?.geographic, options); - await schemas.latitudeSchema.validate(data?.geographic, options); - await schemas.gridCoordinatesSchema.validate(data?.grid, options); - await schemas.imagesSchema.validate(data?.images, options); +export const validateNewSubmission = async (data: unknown): Promise => { + const submission = data as Partial | undefined; + await schemas.metadataSchema.validate(submission?.metadata, options); + await schemas.coordinatePickerSchema.validate(submission, options); + await schemas.geographicHeightSchema.validate( + submission?.geographic, + options, + ); + await schemas.longitudeSchema.validate(submission?.geographic, options); + await schemas.latitudeSchema.validate(submission?.geographic, options); + await schemas.gridCoordinatesSchema.validate(submission?.grid, options); + await schemas.imagesSchema.validate(submission?.images, options); return true; }; -export const validateExistingSubmission = async (data) => { - await schemas.existingSheetSchema.validate(data?.existing, options); +export const validateExistingSubmission = async ( + data: unknown, +): Promise => { + const submission = data as Partial | undefined; + await schemas.existingSheetSchema.validate(submission?.existing, options); // coordinates are not required for existing corners - if (data.datum) { - await schemas.coordinatePickerSchema.validate(data, options); - await schemas.geographicHeightSchema.validate(data?.geographic, options); - await schemas.longitudeSchema.validate(data?.geographic, options); - await schemas.latitudeSchema.validate(data?.geographic, options); - await schemas.gridCoordinatesSchema.validate(data?.grid, options); + if (submission?.datum) { + await schemas.coordinatePickerSchema.validate(submission, options); + await schemas.geographicHeightSchema.validate( + submission.geographic, + options, + ); + await schemas.longitudeSchema.validate(submission.geographic, options); + await schemas.latitudeSchema.validate(submission.geographic, options); + await schemas.gridCoordinatesSchema.validate(submission.grid, options); } return true; }; -export const formatDataForFirestore = (data, user) => { +export const formatDataForFirestore = ( + data: CornerSubmissionInput, + user: SubmissionAuth, +): DocumentData => { const defaults = { created_at: new Date(), blm_point_id: data.blmPointId, @@ -126,10 +190,17 @@ export const formatDataForFirestore = (data, user) => { throw Error('Invalid submission type'); }; -export const formatNewCorner = (data, defaults) => { - const [y, x] = getLatLon(data.geographic); +export const formatNewCorner = ( + data: CornerSubmissionInput, + defaults: DocumentData, +): DocumentData => { + const coordinates = getLatLon(data.geographic); + if (!coordinates) { + throw new Error('Geographic coordinates are required'); + } + const [y, x] = coordinates; - let record = { + const record = { type: 'new', ...defaults, location: new GeoPoint(y, x), @@ -186,7 +257,7 @@ export const formatNewCorner = (data, defaults) => { return record; }; -export const convertUndefinedToNull = (obj) => { +export const convertUndefinedToNull = (obj: unknown): unknown => { if (obj === null || typeof obj !== 'object') { return obj === undefined ? null : obj; } @@ -200,20 +271,28 @@ export const convertUndefinedToNull = (obj) => { } // Handle objects - for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - if (obj[key] === undefined) { - obj[key] = null; + const record = obj as Record; + for (const key in record) { + if (Object.prototype.hasOwnProperty.call(record, key)) { + if (record[key] === undefined) { + record[key] = null; } else { - obj[key] = convertUndefinedToNull(obj[key]); + record[key] = convertUndefinedToNull(record[key]); } } } - return obj; + return record; }; -export const formatExistingCorner = (data, defaults) => { - let record = { ...defaults, pdf: data.existing.pdf, type: 'existing' }; +export const formatExistingCorner = ( + data: CornerSubmissionInput, + defaults: DocumentData, +): DocumentData => { + let record: DocumentData = { + ...defaults, + pdf: data.existing.pdf, + type: 'existing', + }; if (!record.metadata) { record.metadata = {}; @@ -221,7 +300,11 @@ export const formatExistingCorner = (data, defaults) => { record.metadata.mrrc = data.existing.mrrc; if (data.datum) { - const [y, x] = getLatLon(data.geographic); + const coordinates = getLatLon(data.geographic); + if (!coordinates) { + throw new Error('Geographic coordinates are required'); + } + const [y, x] = coordinates; record = Object.assign(record, { datum: data.datum, @@ -254,7 +337,9 @@ export const formatExistingCorner = (data, defaults) => { return record; }; -export const getLatLon = (data) => { +export const getLatLon = ( + data?: Partial, +): [number, number] | null => { if (!data || !data.northing || !data.easting) { return null; } @@ -264,5 +349,5 @@ export const getLatLon = (data) => { `${formatDegrees(data.easting)} W`, ]; - return dms.map(parseDms); + return [parseDms(dms[0]), parseDms(dms[1])]; }; diff --git a/functions/https/postGeneratePreview.js b/functions/https/postGeneratePreview.ts similarity index 70% rename from functions/https/postGeneratePreview.js rename to functions/https/postGeneratePreview.ts index ad3d847c..51969b05 100644 --- a/functions/https/postGeneratePreview.js +++ b/functions/https/postGeneratePreview.ts @@ -1,20 +1,30 @@ +import type { DocumentData } from 'firebase-admin/firestore'; import { getFirestore } from 'firebase-admin/firestore'; import { getStorage } from 'firebase-admin/storage'; import { https, logger } from 'firebase-functions/v2'; +import type { AuthData } from 'firebase-functions/tasks'; import { createPdfDocument, generatePdfDefinition, getPdfAssets, } from '../pdfHelpers.js'; -import { validateNewSubmission } from './postCorner.js'; import { safelyInitializeApp } from '../firebase.js'; +import { validateNewSubmission } from './postCorner.js'; const config = safelyInitializeApp(); const bucket = getStorage().bucket(config.storageBucket); const db = getFirestore(); const oneDay = 1000 * 60 * 60 * 24; -export const generatePreview = async (data, auth) => { +type PreviewSubmission = DocumentData & { + blmPointId: string; + images: Record; +}; + +export const generatePreview = async ( + data: unknown, + auth: AuthData, +): Promise => { try { const result = await validateNewSubmission(data); logger.debug('validation result', { result }); @@ -28,7 +38,9 @@ export const generatePreview = async (data, auth) => { ); } - let surveyor = { + const submission = data as PreviewSubmission; + + const surveyor = { name: auth.token.name, license: '', seal: '', @@ -38,11 +50,10 @@ export const generatePreview = async (data, auth) => { logger.debug('getting surveyor data', { uid: auth.uid }); const snapshot = await db.collection('submitters').doc(auth.uid).get(); + const profile = snapshot.data(); - const { license, seal } = snapshot.data(); - - surveyor.seal = seal; - surveyor.license = license; + surveyor.seal = profile?.seal ?? ''; + surveyor.license = profile?.license ?? ''; } catch (error) { logger.error('error fetching surveyor license. using empty string', { uid: auth.uid, @@ -52,17 +63,17 @@ export const generatePreview = async (data, auth) => { const { images, pdfs } = await getPdfAssets( bucket, - data.images, + submission.images, surveyor.seal, ); - const definition = generatePdfDefinition(data, surveyor, images, true); + const definition = generatePdfDefinition(submission, surveyor, images, true); - const fileName = `submitters/${auth.uid}/new/${data.blmPointId}/preview.pdf`; + const fileName = `submitters/${auth.uid}/new/${submission.blmPointId}/preview.pdf`; const file = bucket.file(fileName); try { - let pdf = await createPdfDocument(definition, pdfs); + const pdf = await createPdfDocument(definition, pdfs); await file.save(pdf); await file.setMetadata({ @@ -70,7 +81,7 @@ export const generatePreview = async (data, auth) => { contentDisposition: 'inline', }); } catch (error) { - logger.error('error generating preview', { error, data }); + logger.error('error generating preview', { error, data: submission }); throw new https.HttpsError( 'internal', @@ -80,7 +91,7 @@ export const generatePreview = async (data, auth) => { const record = { created_at: new Date(), - id: data.blmPointId, + id: submission.blmPointId, preview: fileName, ttl: new Date(Date.now() + oneDay), }; diff --git a/functions/https/postPoint.js b/functions/https/postPoint.ts similarity index 59% rename from functions/https/postPoint.js rename to functions/https/postPoint.ts index 9ed749b0..2914d96f 100644 --- a/functions/https/postPoint.js +++ b/functions/https/postPoint.ts @@ -1,6 +1,10 @@ -import { https, logger } from 'firebase-functions'; +import { + addPointSchema, + type AddPoint, +} from '@ugrc/plss-shared/corner-submission/schema'; import { getFirestore } from 'firebase-admin/firestore'; -import { addPointSchema as schema } from '../shared/cornerSubmission/Schema.js'; +import { https, logger } from 'firebase-functions'; +import type { CallableRequest } from 'firebase-functions/v2/https'; import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); @@ -9,12 +13,22 @@ const options = { abortEarly: false, }; -export const savePoint = async (data, auth) => { +type CallableAuth = NonNullable; +type PointSubmission = AddPoint & Record; + +export const savePoint = async ( + data: unknown, + auth: CallableAuth, +): Promise<1> => { logger.info('validating reference point submission', { data, uid: auth.uid }); + let submission: PointSubmission; try { - const result = await schema.validate(data, options); - logger.debug('reference point validation result', { result }); + submission = (await addPointSchema.validate( + data, + options, + )) as PointSubmission; + logger.debug('reference point validation result', { result: submission }); } catch (error) { logger.error('reference point validation error', { error }); @@ -25,9 +39,7 @@ export const savePoint = async (data, auth) => { ); } - logger.debug('formatting reference point document', { type: data.type }); - - const doc = formatDataForFirestore(data, auth); + const doc = formatDataForFirestore(submission); logger.info('saving reference point', { doc, auth }); @@ -49,10 +61,13 @@ export const savePoint = async (data, auth) => { return 1; }; -export const formatDataForFirestore = (data) => { +export const formatDataForFirestore = (data: PointSubmission) => { const photos = Object.fromEntries( Object.entries(data).filter( - ([key, value]) => key.startsWith('photo') && (value?.length ?? 0) > 0, + ([key, value]) => + key.startsWith('photo') && + typeof value === 'string' && + value.length > 0, ), ); diff --git a/functions/https/postProfile.js b/functions/https/postProfile.ts similarity index 54% rename from functions/https/postProfile.js rename to functions/https/postProfile.ts index e34b15f8..6b6968b5 100644 --- a/functions/https/postProfile.js +++ b/functions/https/postProfile.ts @@ -1,6 +1,9 @@ -import { https, logger } from 'firebase-functions/v2'; +import { + profileSchema, + type Profile, +} from '@ugrc/plss-shared/corner-submission/schema'; import { getFirestore } from 'firebase-admin/firestore'; -import { profileSchema } from '../shared/cornerSubmission/Schema.js'; +import { https, logger } from 'firebase-functions/v2'; import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); @@ -10,12 +13,23 @@ const options = { abortEarly: false, }; -export const updateProfile = async (data, uid) => { +type ProfileDocument = { + displayName: string; + email: string; + license: string | null; + seal: string | null; +}; + +export const updateProfile = async ( + data: unknown, + uid: string, +): Promise => { logger.info('validating profile data', { data, uid }); + let profile: Profile; try { - const result = await validate(data); - logger.debug('validation result', { result }); + profile = await profileSchema.validate(data, options); + logger.debug('validation result', { result: profile }); } catch (error) { logger.error('validation error', { error }); @@ -26,7 +40,7 @@ export const updateProfile = async (data, uid) => { ); } - const doc = formatDataForFirestore(data); + const doc = formatDataForFirestore(profile); logger.info('saving profile', { doc, uid }); @@ -42,15 +56,13 @@ export const updateProfile = async (data, uid) => { return doc; }; -export const validate = async (data) => { +export const validate = async (data: unknown): Promise => { await profileSchema.validate(data, options); }; -const formatDataForFirestore = (data) => { - return { - displayName: data.displayName, - email: data.email, - license: data?.license ?? null, - seal: data?.seal ?? null, - }; -}; +const formatDataForFirestore = (data: Profile): ProfileDocument => ({ + displayName: data.displayName, + email: data.email, + license: data.license ?? null, + seal: data.seal ?? null, +}); diff --git a/functions/index.js b/functions/index.ts similarity index 88% rename from functions/index.js rename to functions/index.ts index ae277058..f068dcc3 100644 --- a/functions/index.js +++ b/functions/index.ts @@ -1,4 +1,5 @@ import { logger, https } from 'firebase-functions/v2'; +import type { AuthData } from 'firebase-functions/tasks'; import { onDocumentUpdated, onDocumentCreated, @@ -18,20 +19,41 @@ const cors = [ /plss\.(?:dev\.)?utah\.gov/, ]; -const throwIfAnonymous = (auth) => { +function throwIfAnonymous( + auth: AuthData | undefined, +): asserts auth is AuthData { if (!auth) { logger.debug('No auth context'); throw new https.HttpsError('unauthenticated', 'You must log in'); } -}; +} -const throwIfNoFormData = (data) => { +function throwIfNoFormData(data: unknown): asserts data is object { if (!data) { logger.debug('No data provided'); throw new https.HttpsError('invalid-argument', 'No data provided'); } +} + +const requireEventData = (data: T | undefined): T => { + if (!data) { + throw new Error('Firebase event data is missing'); + } + + return data; +}; + +const requireGroups = ( + groups: Record | undefined, + ...keys: Key[] +): Record => { + if (!groups || keys.some((key) => !groups[key])) { + throw new Error('Expected named path groups'); + } + + return groups as Record; }; const config = safelyInitializeApp(); @@ -40,14 +62,16 @@ const sharedDriveId = defineSecret('SHARED_DRIVE_ID'); // Firebase authentication export const onCreateUser = beforeUserCreated(async (event) => { + if (!event.data) { + throw new Error('Firebase Auth user data is missing'); + } + logger.debug('[auth::user::onCreate] importing createUser'); const createUser = (await import('./auth/onCreate.js')).createUser; const result = await createUser(event.data); logger.debug('[auth::user::onCreate]', result); - - return result; }); // Firestore triggers @@ -57,9 +81,10 @@ export const onCancelSubmission = onDocumentUpdated( secrets: [sendGridApiKey], }, async (event) => { - const after = event.data.after.data(); + const eventData = requireEventData(event.data); + const after = eventData.after.data(); const current = after.status.user.cancelled; - const before = event.data.before.data(); + const before = eventData.before.data(); const previous = before.status.user.cancelled; logger.debug( @@ -99,7 +124,7 @@ export const onCancelSubmission = onDocumentUpdated( logger.debug('runWith', { apiSnippet }); - const result = await cancelSubmission(event.data.before); + const result = await cancelSubmission(eventData.before); logger.debug('[database::submissions::onCancel]', result); @@ -110,7 +135,7 @@ export const onCancelSubmission = onDocumentUpdated( export const onCreateAddLocation = onDocumentCreated( '/submissions/{docId}', async (event) => { - const record = event.data.data(); + const record = requireEventData(event.data).data(); if (record.type === 'new') { logger.debug( @@ -158,7 +183,7 @@ export const onCreateMonumentRecord = onDocumentCreated( secrets: [sharedDriveId], }, async (event) => { - const record = event.data.data(); + const record = requireEventData(event.data).data(); logger.debug( '[database::submissions::onCreateMonumentRecord] trigger: new submission for', @@ -187,7 +212,7 @@ export const onCreateMonumentRecord = onDocumentCreated( export const onCleanUpPointAttachments = onDocumentDeleted( '/submitters/{userId}/points/{docId}', async (event) => { - const record = event.data.data(); + const record = requireEventData(event.data).data(); logger.debug( '[database::submitters::onCleanUpPointAttachments] trigger: point deleted', @@ -230,7 +255,7 @@ export const onCleanUpPointAttachments = onDocumentDeleted( export const getMyContent = https.onCall({ cors }, async (request) => { logger.debug('[https::getMyContent] starting'); - throwIfAnonymous(request); + throwIfAnonymous(request.auth); logger.debug('[https::getMyContent] importing body'); const myContent = (await import('./https/getMyContent.js')).myContent; @@ -248,7 +273,7 @@ export const getMyContent = https.onCall({ cors }, async (request) => { export const getProfile = https.onCall({ cors }, async (request) => { logger.debug('[https::getMyProfile] starting'); - throwIfAnonymous(request); + throwIfAnonymous(request.auth); logger.debug('[https::getMyProfile] importing body'); const myProfile = (await import('./https/getMyProfile.js')).myProfile; @@ -375,9 +400,9 @@ export const onCreateNotify = onObjectFinalized( const result = await createNotify( name, - match.groups, + requireGroups(match.groups, 'documentId', 'pointId'), fileBucket, - contentType, + contentType ?? 'application/pdf', ); logger.debug('[storage::finalize::onCreateNotify]', result); @@ -416,7 +441,9 @@ export const syncProfileImage = onObjectDeleted( const syncProfileImage = (await import('./storage/onDelete.js')) .syncProfileImage; - const result = await syncProfileImage(match.groups.uid); + const result = await syncProfileImage( + requireGroups(match.groups, 'uid').uid, + ); logger.debug('[storage::onDelete::syncProfileImage]', result); diff --git a/functions/package.json b/functions/package.json index 87aa5913..83a50b81 100644 --- a/functions/package.json +++ b/functions/package.json @@ -3,36 +3,43 @@ "private": true, "description": "Cloud Functions for Firebase", "type": "module", - "main": "index.js", + "main": "lib/index.js", "scripts": { + "build": "pnpm clean && pnpm --filter @ugrc/plss-shared build && tsc -p tsconfig.build.json && cp -R fonts lib/fonts", + "clean": "rm -rf lib", "deploy": "firebase deploy --only functions", "lint": "eslint ./ --ext .js --ignore-path ../.eslintignore", "logs": "firebase functions:log", - "serve": "firebase emulators:start --only functions", - "shell": "firebase functions:shell", + "serve": "pnpm build && firebase emulators:start --only functions", + "shell": "pnpm build && firebase functions:shell", "format": "prettier \"src/**/*.{js,jsx,ts,json,mjs,md,mdx}\" --write", - "start": "pnpm run shell", + "start": "pnpm shell", "test": "vitest --silent --coverage --ui --open" }, "dependencies": { - "@google-cloud/functions-framework": "^4.0.1", + "@google-cloud/functions-framework": "^5.0.5", "@sendgrid/client": "^8.1.6", + "@ugrc/plss-shared": "file:shared", "base64-stream": "^1.0.0", "contrast-color": "^1.0.1", "dms-conversion": "^3.1.4", - "firebase-admin": "^13.6.0", - "firebase-functions": "^7.0.5", - "googleapis": "^168.0.0", - "ky": "^1.14.3", + "firebase-admin": "^14.2.0", + "firebase-functions": "^7.3.2", + "googleapis": "^174.0.1", + "ky": "^2.0.2", "pdf-lib": "^1.17.1", - "pdfmake": "^0.2.21", - "uuid": "^13.0.0", + "pdfmake": "^0.3.11", + "uuid": "^14.0.1", "yup": "^1.7.1" }, "devDependencies": { - "@vitest/coverage-v8": "^4.0.18", - "@vitest/ui": "^4.0.18", - "vitest": "^4.0.18" + "@types/base64-stream": "1.0.5", + "@types/contrast-color": "1.0.3", + "@types/node": "^24.13.3", + "@types/pdfmake": "^0.3.3", + "@vitest/coverage-v8": "^4.1.10", + "@vitest/ui": "^4.1.10", + "vitest": "^4.1.10" }, "eslintConfig": { "env": { @@ -56,6 +63,6 @@ "semi": true }, "engines": { - "node": "22" + "node": "24" } } diff --git a/functions/pdfHelpers.test.js b/functions/pdfHelpers.test.ts similarity index 89% rename from functions/pdfHelpers.test.js rename to functions/pdfHelpers.test.ts index 48ee2b1c..df037de8 100644 --- a/functions/pdfHelpers.test.js +++ b/functions/pdfHelpers.test.ts @@ -1,7 +1,16 @@ import { describe, expect, test } from 'vitest'; -import { splitImagesFromPdfs } from './pdfHelpers.js'; +import { createPdfDocument, splitImagesFromPdfs } from './pdfHelpers.js'; describe('pdfHelpers', () => { + test('generates a PDF buffer', async () => { + const pdf = await createPdfDocument( + { content: 'pdfmake compatibility test' }, + {}, + ); + + expect(pdf.subarray(0, 4).toString()).toBe('%PDF'); + }); + describe('splitImagesFromPdfs', () => { test('should remove all empty paths', () => { expect( diff --git a/functions/pdfHelpers.js b/functions/pdfHelpers.ts similarity index 93% rename from functions/pdfHelpers.js rename to functions/pdfHelpers.ts index 2cdcf62c..1b946d0b 100644 --- a/functions/pdfHelpers.js +++ b/functions/pdfHelpers.ts @@ -1,19 +1,30 @@ import { Base64Encode } from 'base64-stream'; import { Buffer } from 'buffer'; +import type { DocumentData } from 'firebase-admin/firestore'; +import type { Storage } from 'firebase-admin/storage'; import { logger } from 'firebase-functions/v2'; import path from 'path'; import { PDFDocument } from 'pdf-lib'; -import PdfPrinter from 'pdfmake'; +import pdfmake from 'pdfmake'; import { fileURLToPath } from 'url'; -import extractTownshipInformation from './shared/cornerSubmission/blmPointId.js'; +import extractTownshipInformation from '@ugrc/plss-shared/corner-submission/blm-point-id'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const empty = {}; -const span = (int) => Array(int).fill(empty); - -const printer = new PdfPrinter({ +const span = (int: number): object[] => Array(int).fill(empty); + +type Bucket = ReturnType; +type StorageReadStream = ReturnType< + ReturnType['createReadStream'] +>; +type PathMap = Record; +type ImageMap = Record; +type PdfMap = Record; +type PdfDocumentDefinition = Parameters[0]; + +pdfmake.addFonts({ Roboto: { normal: __dirname + '/fonts/Roboto-Regular.ttf', bold: __dirname + '/fonts/Roboto-Medium.ttf', @@ -22,12 +33,18 @@ const printer = new PdfPrinter({ }, }); -export const getPdfAssets = async (bucket, metadata, seal) => { +export const getPdfAssets = async ( + bucket: Bucket, + metadata: PathMap, + seal?: string, +): Promise<{ images: ImageMap; pdfs: PdfMap }> => { const { imagePaths, pdfPaths } = splitImagesFromPdfs(metadata); - imagePaths.seal = seal; + if (seal) { + imagePaths.seal = seal; + } - let images = {}; - let pdfs = {}; + let images: ImageMap = {}; + let pdfs: PdfMap = {}; try { images = await getBase64Images(bucket, imagePaths); @@ -43,12 +60,14 @@ export const getPdfAssets = async (bucket, metadata, seal) => { return { images, pdfs }; }; -export const splitImagesFromPdfs = (paths) => { +export const splitImagesFromPdfs = ( + paths: PathMap, +): { imagePaths: PathMap; pdfPaths: PathMap } => { const image = /.(jpg|jpeg|png)$/i; const pdf = /.(pdf)$/i; - const imagePaths = {}; - const pdfPaths = {}; + const imagePaths: PathMap = {}; + const pdfPaths: PathMap = {}; for (const [key, value] of Object.entries(paths)) { if ((value?.length ?? 0) === 0) { @@ -71,8 +90,11 @@ export const splitImagesFromPdfs = (paths) => { return { imagePaths, pdfPaths }; }; -const getBase64Images = async (bucket, metadata) => { - const promises = []; +const getBase64Images = async ( + bucket: Bucket, + metadata: PathMap, +): Promise => { + const promises: Array> = []; Object.entries(metadata).forEach(([key, fileName]) => { logger.debug('creating stream for', { key }); @@ -90,15 +112,18 @@ const getBase64Images = async (bucket, metadata) => { const results = await Promise.all(promises); - return results.reduce((obj, item) => { + return results.reduce((obj, item) => { const [key, value] = Object.entries(item)[0]; return Object.assign(obj, { [key]: value }); }, {}); }; -export const getBinaryPdfs = async (bucket, metadata) => { - const promises = []; +export const getBinaryPdfs = async ( + bucket: Bucket, + metadata: PathMap, +): Promise => { + const promises: Array> = []; Object.entries(metadata).forEach(([key, fileName]) => { logger.debug('creating stream for', { key }); @@ -112,29 +137,37 @@ export const getBinaryPdfs = async (bucket, metadata) => { const results = await Promise.all(promises); - return results.reduce((obj, item) => { + return results.reduce((obj, item) => { const [key, value] = Object.entries(item)[0]; return Object.assign(obj, { [key]: value }); }, {}); }; -const getImageData = (stream) => { +const getImageData = (stream: StorageReadStream): Promise => { const chunks = new Base64Encode(); let contentType = ''; - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { stream.on('error', (err) => { logger.error('getImageData error', err); return reject(err); }); - stream.on('response', (response) => { - contentType = response.headers['content-type']; - - return; - }); - stream.on('data', (chunk) => chunks.write(chunk)); + stream.on( + 'response', + (response: { + headers: Record; + }) => { + const header = response.headers['content-type']; + contentType = Array.isArray(header) + ? (header[0] ?? '') + : (header ?? ''); + + return; + }, + ); + stream.on('data', (chunk: Buffer) => chunks.write(chunk)); stream.on('end', () => { chunks.end(); @@ -143,11 +176,11 @@ const getImageData = (stream) => { }); }; -const getPdfData = (stream) => { - const chunks = []; +const getPdfData = (stream: StorageReadStream): Promise => { + const chunks: Buffer[] = []; - return new Promise((resolve, reject) => { - stream.on('data', (chunk) => chunks.push(chunk)); + return new Promise((resolve, reject) => { + stream.on('data', (chunk: Buffer) => chunks.push(chunk)); stream.on('end', () => resolve(Buffer.concat(chunks))); stream.on('error', (error) => { logger.error('getPdfData error', { error }); @@ -157,15 +190,20 @@ const getPdfData = (stream) => { }); }; -export const generatePdfDefinition = (data, surveyor, images, watermark) => { +export const generatePdfDefinition = ( + data: DocumentData, + surveyor: DocumentData, + images: ImageMap, + watermark: boolean, +): PdfDocumentDefinition => { const { township, range, meridian: { name: meridian }, } = extractTownshipInformation(data.blmPointId ?? data.blm_point_id); - const addExtraImages = (images) => { - const extras = Object.keys(images ?? {}).filter((key) => + const addExtraImages = (extraImages: ImageMap): object[] => { + const extras = Object.keys(extraImages ?? {}).filter((key) => key.startsWith('extra'), ); @@ -173,7 +211,14 @@ export const generatePdfDefinition = (data, surveyor, images, watermark) => { return []; } - const extraPages = { + const extraPages: { + layout: string; + table: { + pageBreak: string; + widths: string[]; + body: Array>; + }; + } = { layout: 'noBorders', table: { pageBreak: 'before', @@ -183,12 +228,12 @@ export const generatePdfDefinition = (data, surveyor, images, watermark) => { }; for (let i = 0; i < extras.length; i += 2) { - const row = []; + const row: Array<{ image?: string; fit?: number[] }> = []; - row.push({ image: images[extras[i]], fit: [230, 230] }); + row.push({ image: extraImages[extras[i]], fit: [230, 230] }); if (extras[i + 1]) { - row.push({ image: images[extras[i + 1]], fit: [230, 230] }); + row.push({ image: extraImages[extras[i + 1]], fit: [230, 230] }); } else { row.push({}); } @@ -643,7 +688,7 @@ ${data.metadata.description} `, alignment: 'center', }, }, - }; + } as unknown as PdfDocumentDefinition; if (watermark) { definition.watermark = { @@ -657,16 +702,11 @@ ${data.metadata.description} `, return definition; }; -export const createPdfDocument = async (definition, extraPdfPages) => { - const partialPdf = await new Promise((resolve, reject) => { - const chunks = []; - const stream = printer.createPdfKitDocument(definition); - - stream.on('data', (chunk) => chunks.push(chunk)); - stream.on('end', () => resolve(Buffer.concat(chunks))); - stream.on('error', (error) => reject(error)); - stream.end(); - }); +export const createPdfDocument = async ( + definition: PdfDocumentDefinition, + extraPdfPages: PdfMap, +): Promise => { + const partialPdf = await pdfmake.createPdf(definition).getBuffer(); logger.debug('saved front page now appending extra pages', { length: Object.keys(extraPdfPages).length, @@ -677,11 +717,14 @@ export const createPdfDocument = async (definition, extraPdfPages) => { return pdf; }; -export const appendPdfPages = async (original, metadata) => { +export const appendPdfPages = async ( + original: Uint8Array, + metadata: PdfMap, +): Promise => { const pdfs = Object.values(metadata ?? {}); if (pdfs.length === 0) { - return original; + return Buffer.from(original); } const source = await PDFDocument.load(original); diff --git a/functions/scripts/repair-missing-monuments.test.ts b/functions/scripts/repair-missing-monuments.test.ts new file mode 100644 index 00000000..ea1969a2 --- /dev/null +++ b/functions/scripts/repair-missing-monuments.test.ts @@ -0,0 +1,129 @@ +import { beforeEach, describe, expect, test, vi } from 'vitest'; + +const mocks = vi.hoisted(() => ({ + collection: vi.fn(), + exists: vi.fn(), + get: vi.fn(), + file: vi.fn(), +})); + +vi.mock('firebase-admin/app', () => ({ + applicationDefault: vi.fn(), + getApps: vi.fn(() => []), + initializeApp: vi.fn(), +})); + +vi.mock('firebase-admin/firestore', () => ({ + getFirestore: () => ({ collection: mocks.collection }), +})); + +vi.mock('firebase-admin/storage', () => ({ + getStorage: () => ({ bucket: () => ({ file: mocks.file }) }), +})); + +vi.mock('../pdfHelpers.js', () => ({ + createPdfDocument: vi.fn(), + generatePdfDefinition: vi.fn(), + getBinaryPdfs: vi.fn(), + getPdfAssets: vi.fn(), +})); + +import { findCandidates, parseOptions } from './repair-missing-monuments.js'; + +describe('repair-missing-monuments', () => { + beforeEach(() => { + vi.clearAllMocks(); + mocks.collection.mockReturnValue({ get: mocks.get }); + mocks.get.mockResolvedValue({ + docs: [ + { + id: 'existing-id', + data: () => ({ + type: 'existing', + blm_point_id: 'point-id', + submitted_by: { id: 'user-id' }, + pdf: 'submitters/user/existing/point/source.pdf', + status: { user: { cancelled: null } }, + }), + }, + { + id: 'new-id', + data: () => ({ + type: 'new', + blm_point_id: 'point-id', + submitted_by: { id: 'user-id' }, + images: {}, + status: { user: { cancelled: null } }, + }), + }, + { + id: 'existing-broken-id', + data: () => ({ + type: 'existing', + blm_point_id: 'point-id', + submitted_by: { id: 'user-id' }, + pdf: 'submitters/user/existing/point/source.pdf', + monument: 'under-review/point-id/user-id/existing-broken-id.pdf', + status: { user: { cancelled: null } }, + }), + }, + ], + }); + mocks.file.mockReturnValue({ + exists: vi.fn().mockResolvedValue([true]), + }); + }); + + test('uses dry-run by default and parses limits and ids', () => { + expect( + parseOptions([ + '--project=ut-dts-agrc-plss-prod', + '--bucket=ut-dts-agrc-plss-prod.appspot.com', + '--limit=2', + '--ids=one,two', + ]), + ).toMatchObject({ + ids: new Set(['one', 'two']), + limit: 2, + mode: 'dry-run', + }); + }); + + test('requires explicit Firebase configuration', () => { + expect(() => parseOptions([])).toThrow( + 'missing required arguments: --project=..., --bucket=...', + ); + }); + + test('silently skips existing records with a valid source and finds new records', async () => { + mocks.file.mockImplementation((path: string) => ({ + exists: vi.fn().mockResolvedValue([path.includes('source.pdf')]), + })); + + const candidates = await findCandidates( + { collection: mocks.collection } as never, + { file: mocks.file } as never, + parseOptions([ + '--project=project', + '--bucket=bucket', + ]), + ); + + expect(candidates).toHaveLength(2); + expect(candidates).toContainEqual( + expect.objectContaining({ + id: 'existing-broken-id', + reason: 'missing under-review file', + destination: 'under-review/point-id/user-id/existing-broken-id.pdf', + source: 'submitters/user/existing/point/source.pdf', + }), + ); + expect(candidates).toContainEqual( + expect.objectContaining({ + id: 'new-id', + reason: 'missing monument field', + destination: 'under-review/point-id/user-id/new-id.pdf', + }), + ); + }); +}); diff --git a/functions/scripts/repair-missing-monuments.ts b/functions/scripts/repair-missing-monuments.ts new file mode 100644 index 00000000..f4e3e89b --- /dev/null +++ b/functions/scripts/repair-missing-monuments.ts @@ -0,0 +1,263 @@ +import { applicationDefault, initializeApp } from 'firebase-admin/app'; +import { getFirestore, type DocumentData } from 'firebase-admin/firestore'; +import { getStorage } from 'firebase-admin/storage'; +import { + createPdfDocument, + generatePdfDefinition, + getBinaryPdfs, + getPdfAssets, +} from '../pdfHelpers.js'; + +type Mode = 'dry-run' | 'apply'; + +type Options = { + bucketName: string; + projectId: string; + ids?: Set; + includeCancelled: boolean; + limit?: number; + mode: Mode; +}; + +type Candidate = { + id: string; + reason: string; + record: DocumentData; + destination: string; + source?: string; +}; + +const underReviewPath = (record: DocumentData, id: string): string => + `under-review/${record.blm_point_id}/${record.submitted_by.id}/${id}.pdf`; + +const isPath = (value: unknown): value is string => + typeof value === 'string' && value.length > 0 && !value.startsWith('/'); + +const isCancelled = (record: DocumentData): boolean => + Boolean(record.status?.user?.cancelled); + +export const parseOptions = (args: string[]): Options => { + const values = new Map(); + for (const argument of args) { + const separator = argument.indexOf('='); + if (separator > 2 && argument.startsWith('--')) { + values.set(argument.slice(2, separator), argument.slice(separator + 1)); + } + } + + const required = ['project', 'bucket']; + const missing = required.filter((name) => !values.get(name)); + if (missing.length > 0) { + throw new Error( + `missing required arguments: ${missing.map((name) => `--${name}=...`).join(', ')}`, + ); + } + + const options: Options = { + bucketName: values.get('bucket') as string, + includeCancelled: args.includes('--include-cancelled'), + mode: args.includes('--apply') ? 'apply' : 'dry-run', + projectId: values.get('project') as string, + }; + + for (const argument of args) { + if (argument.startsWith('--limit=')) { + options.limit = Number(values.get('limit')); + } + + if (argument.startsWith('--ids=')) { + options.ids = new Set( + argument + .slice('--ids='.length) + .split(',') + .map((id) => id.trim()) + .filter(Boolean), + ); + } + } + + if (options.limit !== undefined && (!Number.isInteger(options.limit) || options.limit < 1)) { + throw new Error('--limit must be a positive integer'); + } + + return options; +}; + +const initializeServices = (options: Options) => { + const app = initializeApp({ + credential: applicationDefault(), + projectId: options.projectId, + storageBucket: options.bucketName, + }); + + return { + bucket: getStorage(app).bucket(), + db: getFirestore(app), + }; +}; + +const sourceExists = async ( + bucket: ReturnType['bucket']>, + path: string, +): Promise => { + const [exists] = await bucket.file(path).exists(); + return exists; +}; + +export const findCandidates = async ( + db: ReturnType, + bucket: ReturnType['bucket']>, + options: Options, +): Promise => { + const snapshot = await db.collection('submissions').get(); + const candidates: Candidate[] = []; + + for (const document of snapshot.docs) { + if (options.ids && !options.ids.has(document.id)) { + continue; + } + + const record = document.data(); + if (isCancelled(record) && !options.includeCancelled) { + continue; + } + + const hasMonument = isPath(record.monument); + const monumentExists = hasMonument + ? await sourceExists(bucket, record.monument) + : false; + + if (monumentExists) { + continue; + } + + if (record.type === 'existing') { + if (!hasMonument) { + if (isPath(record.pdf) && (await sourceExists(bucket, record.pdf))) { + continue; + } + + console.log( + `unresolved ${document.id}: existing submission has no recoverable pdf source`, + ); + continue; + } + + if (!isPath(record.pdf) || !(await sourceExists(bucket, record.pdf))) { + console.log( + `unresolved ${document.id}: defined monument is missing and source pdf is unavailable`, + ); + continue; + } + + candidates.push({ + destination: underReviewPath(record, document.id), + id: document.id, + reason: 'missing under-review file', + record, + source: record.pdf, + }); + continue; + } + + if (record.type !== 'new') { + console.log(`unresolved ${document.id}: unknown submission type`); + continue; + } + + const destination = underReviewPath(record, document.id); + candidates.push({ + destination, + id: document.id, + reason: hasMonument ? 'missing under-review file' : 'missing monument field', + record, + }); + } + + return options.limit === undefined + ? candidates + : candidates.slice(0, options.limit); +}; + +const generateNewPdf = async ( + db: ReturnType, + bucket: ReturnType['bucket']>, + record: DocumentData, +): Promise => { + const surveyorSnapshot = await db + .collection('submitters') + .doc(record.submitted_by.id) + .get(); + const surveyorData = surveyorSnapshot.data(); + const surveyor = { + license: surveyorData?.license, + name: surveyorData?.displayName, + seal: surveyorData?.seal, + }; + const { images, pdfs } = await getPdfAssets(bucket, record.images, surveyor.seal); + const definition = generatePdfDefinition(record, surveyor, images, false); + + return createPdfDocument(definition, pdfs); +}; + +const repairCandidate = async ( + db: ReturnType, + bucket: ReturnType['bucket']>, + candidate: Candidate, +): Promise => { + const pdf = candidate.source + ? (await getBinaryPdfs(bucket, { pdf: candidate.source })).pdf + : await generateNewPdf(db, bucket, candidate.record); + + if (!pdf) { + throw new Error('could not load source PDF'); + } + + await bucket.file(candidate.destination).save(pdf, { + metadata: { + contentDisposition: 'inline', + contentType: 'application/pdf', + }, + }); + await db.collection('submissions').doc(candidate.id).update({ + monument: candidate.destination, + }); +}; + +export const run = async (args: string[] = process.argv.slice(2)): Promise => { + const options = parseOptions(args); + const { bucket, db } = initializeServices(options); + const candidates = await findCandidates(db, bucket, options); + let failures = 0; + + for (const candidate of candidates) { + console.log(`${options.mode} ${candidate.id}: ${candidate.reason} -> ${candidate.destination}`); + + if (options.mode === 'dry-run') { + continue; + } + + try { + await repairCandidate(db, bucket, candidate); + console.log(`repaired ${candidate.id}`); + } catch (error) { + failures += 1; + console.error(`failed ${candidate.id}:`, error); + } + } + + console.log( + `summary: ${candidates.length} candidate(s), ${candidates.length - failures} repaired, ${failures} failed`, + ); + + return failures === 0 ? 0 : 1; +}; + +if (import.meta.url === `file://${process.argv[1]}`) { + run() + .then((exitCode) => process.exitCode = exitCode) + .catch((error) => { + console.error(error); + process.exitCode = 1; + }); +} diff --git a/functions/shared/cornerSubmission/Options.js b/functions/shared/cornerSubmission/Options.ts similarity index 88% rename from functions/shared/cornerSubmission/Options.js rename to functions/shared/cornerSubmission/Options.ts index aff3b7fd..dada11f3 100644 --- a/functions/shared/cornerSubmission/Options.js +++ b/functions/shared/cornerSubmission/Options.ts @@ -6,12 +6,14 @@ export const status = [ label: 'Original (Previously unmonumented Section Subdivision)', value: 'original', }, -]; +] as const; + export const accuracy = [ { label: 'Survey Grade (+/-) 0.03m', value: 'survey' }, { label: 'Mapping Grade (+/-) 3m', value: 'mapping' }, { label: 'Recreational Grade (+/-) 30m', value: 'rec' }, -]; +] as const; + export const geographic = [ { label: 'NAD83 Geographic', value: 'geographic-nad83' }, { @@ -19,21 +21,26 @@ export const geographic = [ value: 'geographic-natrf', disabled: true, }, -]; +] as const; + export const grid = [ { label: 'NAD83 2011 State Plane', value: 'grid-nad83' }, { label: 'NATRF2022 (coming in 2025)', value: 'grid-natrf', disabled: true }, -]; +] as const; + export const units = [ { label: 'Meters', value: 'm' }, { label: 'International Feet', value: 'ft' }, -]; -export const verticalDatums = ['NAVD88', 'NGVD29']; +] as const; + +export const verticalDatums = ['NAVD88', 'NGVD29'] as const; + export const statePlaneZones = [ { label: 'North', value: 'north' }, { label: 'Central', value: 'central' }, { label: 'South', value: 'south' }, -]; +] as const; + export const corner = [ 'NW', 'N 1/4', @@ -49,4 +56,4 @@ export const corner = [ 'MC', 'RC', 'Other', -]; +] as const; diff --git a/functions/shared/cornerSubmission/Schema.test.js b/functions/shared/cornerSubmission/Schema.test.ts similarity index 99% rename from functions/shared/cornerSubmission/Schema.test.js rename to functions/shared/cornerSubmission/Schema.test.ts index dcf1bbea..7bb50563 100644 --- a/functions/shared/cornerSubmission/Schema.test.js +++ b/functions/shared/cornerSubmission/Schema.test.ts @@ -2,11 +2,11 @@ import { describe, expect, test } from 'vitest'; import * as schemas from './Schema.js'; const createText = (length) => { - var result = ''; - var characters = + let result = ''; + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 '; - var charactersLength = characters.length; - for (var i = 0; i < length; i++) { + const charactersLength = characters.length; + for (let index = 0; index < length; index++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; diff --git a/functions/shared/cornerSubmission/Schema.js b/functions/shared/cornerSubmission/Schema.ts similarity index 89% rename from functions/shared/cornerSubmission/Schema.js rename to functions/shared/cornerSubmission/Schema.ts index 3e452eb0..bf8b4a08 100644 --- a/functions/shared/cornerSubmission/Schema.js +++ b/functions/shared/cornerSubmission/Schema.ts @@ -1,12 +1,15 @@ import * as yup from 'yup'; import * as options from './Options.js'; -export const scaleAndPrecision = (number, { precision }) => { +export const scaleAndPrecision = ( + number: unknown, + { precision }: { precision: number }, +): boolean => { if (!number) { return false; } - let [, right] = number.toString().split('.'); + let [, right] = String(number).split('.'); right = right ?? 0; @@ -157,10 +160,10 @@ export const coordinatePickerSchema = yup.object().shape({ .typeError(datumMessage) .required(datumMessage) .oneOf( - [].concat( - options.geographic.map((x) => x.value), - options.grid.map((x) => x.value), - ), + [ + ...options.geographic.map((x) => x.value), + ...options.grid.map((x) => x.value), + ], datumMessage, ), }); @@ -180,11 +183,11 @@ const seconds = yup .min(0, dmsMessages.seconds) .lessThan(60, dmsMessages.seconds) .test('fiveDecimalPlaces', dmsMessages.seconds, (number) => - /^\d+(\.\d{0,5})?$/.test(number), + /^\d+(\.\d{0,5})?$/.test(String(number)), ) .label('Seconds'); -const degrees = (min, max) => +const degrees = (min: number, max: number) => yup .number() .typeError(`Degrees must be a whole number from ${min} to ${max}.`) @@ -270,7 +273,7 @@ export const gridCoordinatesSchema = yup.object().shape({ northing: yup .number() .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'ft' && zone === 'north', + is: (unit: unknown, zone: unknown) => unit === 'ft' && zone === 'north', then: () => yup .number() @@ -284,7 +287,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Northing value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'ft' && zone === 'central', + is: (unit: unknown, zone: unknown) => unit === 'ft' && zone === 'central', then: () => yup .number() @@ -298,7 +301,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Northing value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'ft' && zone === 'south', + is: (unit: unknown, zone: unknown) => unit === 'ft' && zone === 'south', then: () => yup .number() @@ -312,7 +315,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Northing value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'm' && zone === 'north', + is: (unit: unknown, zone: unknown) => unit === 'm' && zone === 'north', then: () => yup .number() @@ -326,7 +329,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Northing value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'm' && zone === 'central', + is: (unit: unknown, zone: unknown) => unit === 'm' && zone === 'central', then: () => yup .number() @@ -340,7 +343,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Northing value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'm' && zone === 'south', + is: (unit: unknown, zone: unknown) => unit === 'm' && zone === 'south', then: () => yup .number() @@ -364,7 +367,7 @@ export const gridCoordinatesSchema = yup.object().shape({ easting: yup .number() .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'ft' && zone === 'north', + is: (unit: unknown, zone: unknown) => unit === 'ft' && zone === 'north', then: () => yup .number() @@ -378,7 +381,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Easting value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'ft' && zone === 'central', + is: (unit: unknown, zone: unknown) => unit === 'ft' && zone === 'central', then: () => yup .number() @@ -392,7 +395,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Easting value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'ft' && zone === 'south', + is: (unit: unknown, zone: unknown) => unit === 'ft' && zone === 'south', then: () => yup .number() @@ -406,7 +409,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Easting value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'm' && zone === 'north', + is: (unit: unknown, zone: unknown) => unit === 'm' && zone === 'north', then: () => yup .number() @@ -420,7 +423,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Easting value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'm' && zone === 'central', + is: (unit: unknown, zone: unknown) => unit === 'm' && zone === 'central', then: () => yup .number() @@ -434,7 +437,7 @@ export const gridCoordinatesSchema = yup.object().shape({ .label('Easting value'), }) .when(['unit', 'zone'], { - is: (unit, zone) => unit === 'm' && zone === 'south', + is: (unit: unknown, zone: unknown) => unit === 'm' && zone === 'south', then: () => yup .number() @@ -634,3 +637,15 @@ export const profileSchema = yup.object().shape({ .nullable() .optional(), }); + +export type AddPoint = yup.InferType; +export type CornerData = yup.InferType; +export type Metadata = yup.InferType; +export type CoordinatePicker = yup.InferType; +export type Longitude = yup.InferType; +export type Latitude = yup.InferType; +export type GeographicHeight = yup.InferType; +export type GridCoordinates = yup.InferType; +export type ExistingSheet = yup.InferType; +export type Images = yup.InferType; +export type Profile = yup.InferType; diff --git a/functions/shared/cornerSubmission/blmPointId.test.js b/functions/shared/cornerSubmission/blmPointId.test.ts similarity index 97% rename from functions/shared/cornerSubmission/blmPointId.test.js rename to functions/shared/cornerSubmission/blmPointId.test.ts index e0262144..eb4b2f52 100644 --- a/functions/shared/cornerSubmission/blmPointId.test.js +++ b/functions/shared/cornerSubmission/blmPointId.test.ts @@ -1,5 +1,5 @@ -import parseTownshipInformation from './blmPointId'; import { expect, test } from 'vitest'; +import parseTownshipInformation from './blmPointId.js'; const id = 'UT260060S0020E0_240400'; diff --git a/functions/shared/cornerSubmission/blmPointId.js b/functions/shared/cornerSubmission/blmPointId.ts similarity index 69% rename from functions/shared/cornerSubmission/blmPointId.js rename to functions/shared/cornerSubmission/blmPointId.ts index 701311cb..25dcbae5 100644 --- a/functions/shared/cornerSubmission/blmPointId.js +++ b/functions/shared/cornerSubmission/blmPointId.ts @@ -1,5 +1,17 @@ -const extractTownshipInformation = (pointId) => { - const meridian = parseInt(pointId.slice(2, 4)); +type Meridian = { + number: number; + name: 'Salt Lake' | 'Uintah Special'; + abbr: 'SL' | 'US'; +}; + +export type TownshipInformation = { + meridian: Meridian; + township: string; + range: string; +}; + +const extractTownshipInformation = (pointId: string): TownshipInformation => { + const meridian = Number.parseInt(pointId.slice(2, 4)); const township = extractNumberAndDirection(pointId.slice(5, 9)).label; const range = extractNumberAndDirection(pointId.slice(10, 14)).label; @@ -14,11 +26,11 @@ const extractTownshipInformation = (pointId) => { }; }; -const extractNumberAndDirection = (part) => { +const extractNumberAndDirection = (part: string) => { const number = part.slice(0, 2); const fractionIdentifier = part[2]; const direction = part[3]; - let fraction; + let fraction: string; // 1 for 1/4 township, 2 for 1/2 township, 3 for 3/4 township) switch (fractionIdentifier) { diff --git a/functions/shared/index.js b/functions/shared/index.js deleted file mode 100644 index 378d4708..00000000 --- a/functions/shared/index.js +++ /dev/null @@ -1,309 +0,0 @@ -import { - accuracy, - status, - grid, - units, - geographic, - statePlaneZones, -} from './cornerSubmission/Options.js'; - -export const formatDegrees = (dms) => - `${dms.degrees}ยฐ${dms.minutes}โ€ฒ${dms.seconds}โ€ณ`; - -export const formatDatum = (value) => { - if ((value?.length ?? 0) < 1) { - return ''; - } - - const [datum] = value.split('-'); - let options = grid; - - if (datum === 'geographic') { - options = geographic; - } - - return reverseLookup(options, value); -}; - -const reverseLookup = (options, value) => { - const option = options.find((item) => item.value === value); - - if (!option) { - return '-'; - } - - return option.label; -}; - -export const keyMap = { - accuracy: (value) => reverseLookup(accuracy, value), - datum: (value) => formatDatum(value), - description: (value) => value, - easting: (value) => formatDegrees(value), - height: (value) => value, - northing: (value) => formatDegrees(value), - notes: (value) => value, - status: (value) => reverseLookup(status, value), - unit: (value) => reverseLookup(units, value), - zone: (value) => reverseLookup(statePlaneZones, value), -}; - -export const getDefault = (value, nullReplacement = '-', suffix = '') => { - value = value?.toString().toLowerCase().trim(); - - if (!value) { - return nullReplacement; - } - - const nulls = ['null', '', '']; - - if (nulls.includes(value)) { - return nullReplacement; - } - - return `${value} ${suffix}`.trim(); -}; - -export const parseBool = (value, defaultValue) => - (['true', 'false', true, false].includes(value) && JSON.parse(value)) || - defaultValue; - -const getGridInputSpatialReference = (zone, unit) => { - const statePlaneZones = { - north: { - ft: 103166, - m: 6620, - }, - central: { - ft: 103167, - m: 6619, - }, - south: { - ft: 103168, - m: 6621, - }, - }; - - if (!(zone in statePlaneZones)) { - throw new Error(`Zone ${zone} not one of north, central, or south.`); - } - - return statePlaneZones[zone][unit]; -}; - -export const countiesInZone = { - north: [ - 'box elder', - 'cache', - 'daggett', - 'davis', - 'morgan', - 'rich', - 'summit', - 'weber', - ], - central: [ - 'carbon', - 'duchesne', - 'emery', - 'grand', - 'juab', - 'millard', - 'salt lake', - 'sanpete', - 'sevier', - 'tooele', - 'uintah', - 'utah', - 'wasatch', - ], - south: [ - 'beaver', - 'garfield', - 'iron', - 'kane', - 'piute', - 'san juan', - 'washington', - 'wayne', - ], -}; - -const nad832011 = 6318; -export const createProjectFormData = ({ type, coordinates }) => { - const formData = { - f: 'json', - }; - - if (type === 'grid') { - let { zone, unit } = coordinates; - - formData.inSr = getGridInputSpatialReference(zone, unit); - formData.outSr = nad832011; - formData.geometries = JSON.stringify({ - geometryType: 'esriGeometryPoint', - geometries: [ - { - x: coordinates.easting, - y: coordinates.northing, - }, - ], - }); - - return formData; - } - - if (type === 'geographic') { - const { zone, x, y } = coordinates; - - formData.inSr = nad832011; - formData.outSr = getGridInputSpatialReference(zone, 'm'); - formData.geometries = JSON.stringify({ - geometryType: 'esriGeometryPoint', - geometries: [ - { - x, - y, - }, - ], - }); - - return formData; - } - - return null; -}; - -export const roundAccurately = (number, decimalPlaces) => - Number(Math.round(number + 'e' + decimalPlaces) + 'e-' + decimalPlaces); - -export const getStatus = (status) => { - // Default status for unknown/null cases - const defaultStatus = { - label: 'Unknown', - received: 'pending', - reviewed: 'pending', - sheetPublished: 'pending', - dataPublished: 'pending', - }; - - if (!status) { - return defaultStatus; - } - - const { ugrc, county, sgid, published } = status; - - // Final state: Sheet and geometry corrections are live - if (sgid.approved === true) { - return { - label: 'Sheet and geometry corrections are live', - received: 'yes', - reviewed: 'approved', - sheetPublished: published ? 'yes' : 'waiting', - dataPublished: 'yes', - }; - } - - // County approved cases - if (county.approved === true && sgid.approved === null) { - return { - label: published - ? 'Pending PLSS geometry corrections' - : 'Pending monument record sheet publishing', - received: 'yes', - reviewed: 'approved', - sheetPublished: published ? 'yes' : 'waiting', - dataPublished: published ? 'waiting' : 'pending', - }; - } - - // Rejection cases - if ( - county.approved === false && - county.reviewedAt !== null && - !sgid.reviewedAt - ) { - return { - label: `The county rejected the submission. ${county.comments}`, - received: 'yes', - reviewed: 'rejected', - sheetPublished: 'rejected', - dataPublished: 'rejected', - }; - } - - if (ugrc.approved === false && county.reviewedAt === null) { - return { - label: `UGRC rejected submission. ${ugrc.comments}`, - received: 'yes', - reviewed: 'rejected', - sheetPublished: 'rejected', - dataPublished: 'rejected', - }; - } - - // Waiting states - if (ugrc.approved === true && county.reviewedAt === null) { - return { - label: 'Pending county review', - received: 'yes', - reviewed: 'waiting', - sheetPublished: 'pending', - dataPublished: 'pending', - }; - } - - if (ugrc.reviewedAt === null) { - return { - label: 'Pending UGRC review', - received: 'yes', - reviewed: 'waiting', - sheetPublished: 'pending', - dataPublished: 'pending', - }; - } - - return defaultStatus; -}; - -const pluralRules = new Intl.PluralRules('en-US'); - -function pluralize(count, singular, plural) { - const grammaticalNumber = pluralRules.select(count); - switch (grammaticalNumber) { - case 'one': - return count + ' ' + singular; - case 'other': - return count + ' ' + plural; - default: - throw new Error('Unknown: ' + grammaticalNumber); - } -} - -export const timeSince = (date) => { - const seconds = Math.floor((new Date() - date) / 1000); - - let interval = seconds / 31536000; - - if (interval > 1) { - return `${pluralize(Math.floor(interval), 'yr', 'yrs')} ago`; - } - interval = seconds / 2592000; - if (interval > 1) { - return `${Math.floor(interval)} mo ago`; - } - interval = seconds / 86400; - if (interval > 1) { - return `${pluralize(Math.floor(interval), 'day', 'days')} ago`; - } - interval = seconds / 3600; - if (interval > 1) { - return `${pluralize(Math.floor(interval), 'hr', 'hrs')} ago`; - } - interval = seconds / 60; - if (interval > 1) { - return `${pluralize(Math.floor(interval), 'min', 'mins')} ago`; - } - - return `${Math.floor(seconds)} s ago`; -}; diff --git a/functions/shared/index.test.js b/functions/shared/index.test.ts similarity index 100% rename from functions/shared/index.test.js rename to functions/shared/index.test.ts diff --git a/functions/shared/index.ts b/functions/shared/index.ts new file mode 100644 index 00000000..8dcd99c3 --- /dev/null +++ b/functions/shared/index.ts @@ -0,0 +1,382 @@ +import { + accuracy, + geographic, + grid, + statePlaneZones, + status, + units, +} from './cornerSubmission/Options.js'; + +type DegreesMinutesSeconds = { + degrees: number | string; + minutes: number | string; + seconds: number | string; +}; + +type SelectOption = { + readonly label: string; + readonly value: string; +}; + +type StatePlaneZone = 'north' | 'central' | 'south'; +type CoordinateUnit = 'ft' | 'm'; + +type GridCoordinates = { + zone: StatePlaneZone; + unit: CoordinateUnit; + easting: number; + northing: number; +}; + +type GeographicCoordinates = { + zone: StatePlaneZone; + x: number; + y: number; +}; + +export type ProjectRequest = + | { type: 'grid'; coordinates: GridCoordinates } + | { type: 'geographic'; coordinates: GeographicCoordinates } + | { type?: string; coordinates?: undefined }; + +export type ProjectFormData = { + f: 'json'; + inSr: number; + outSr: number; + geometries: string; +}; + +type Review = { + approved: boolean | null; + comments?: string | null; + reviewedAt?: unknown | null; +}; + +export type SubmissionReviewStatus = { + published?: boolean; + ugrc: Review; + county: Review; + sgid: Review; +}; + +type ProgressState = 'approved' | 'pending' | 'rejected' | 'waiting' | 'yes'; + +export type SubmissionStatus = { + label: string; + received: ProgressState; + reviewed: ProgressState; + sheetPublished: ProgressState; + dataPublished: ProgressState; +}; + +export const formatDegrees = (dms: DegreesMinutesSeconds): string => + `${dms.degrees}ยฐ${dms.minutes}โ€ฒ${dms.seconds}โ€ณ`; + +export const formatDatum = (value?: string | null): string => { + if (!value) { + return ''; + } + + const [datum] = value.split('-'); + const options = datum === 'geographic' ? geographic : grid; + + return reverseLookup(options, value); +}; + +const reverseLookup = ( + options: readonly SelectOption[], + value: string, +): string => { + const option = options.find((item) => item.value === value); + + if (!option) { + return '-'; + } + + return option.label; +}; + +export const keyMap = { + accuracy: (value: string) => reverseLookup(accuracy, value), + datum: (value: string) => formatDatum(value), + description: (value: unknown) => value, + easting: (value: DegreesMinutesSeconds) => formatDegrees(value), + height: (value: unknown) => value, + northing: (value: DegreesMinutesSeconds) => formatDegrees(value), + notes: (value: unknown) => value, + status: (value: string) => reverseLookup(status, value), + unit: (value: string) => reverseLookup(units, value), + zone: (value: string) => reverseLookup(statePlaneZones, value), +}; + +export const getDefault = ( + value: unknown, + nullReplacement = '-', + suffix = '', +): string => { + const normalizedValue = value?.toString().toLowerCase().trim(); + + if (!normalizedValue) { + return nullReplacement; + } + + const nulls = ['null', '', '']; + + if (nulls.includes(normalizedValue)) { + return nullReplacement; + } + + return `${normalizedValue} ${suffix}`.trim(); +}; + +export const parseBool = (value: unknown, defaultValue: boolean): boolean => { + if (!['true', 'false', true, false].includes(value as string | boolean)) { + return defaultValue; + } + + return JSON.parse(String(value)) || defaultValue; +}; + +const spatialReferences: Record< + StatePlaneZone, + Record +> = { + north: { + ft: 103166, + m: 6620, + }, + central: { + ft: 103167, + m: 6619, + }, + south: { + ft: 103168, + m: 6621, + }, +}; + +const getGridInputSpatialReference = ( + zone: StatePlaneZone, + unit: CoordinateUnit, +): number => spatialReferences[zone][unit]; + +export const countiesInZone: Record = { + north: [ + 'box elder', + 'cache', + 'daggett', + 'davis', + 'morgan', + 'rich', + 'summit', + 'weber', + ], + central: [ + 'carbon', + 'duchesne', + 'emery', + 'grand', + 'juab', + 'millard', + 'salt lake', + 'sanpete', + 'sevier', + 'tooele', + 'uintah', + 'utah', + 'wasatch', + ], + south: [ + 'beaver', + 'garfield', + 'iron', + 'kane', + 'piute', + 'san juan', + 'washington', + 'wayne', + ], +}; + +const nad832011 = 6318; + +export const createProjectFormData = ( + request: ProjectRequest, +): ProjectFormData | null => { + if (request.type === 'grid' && request.coordinates) { + const { zone, unit, easting, northing } = request.coordinates; + + return { + f: 'json', + inSr: getGridInputSpatialReference(zone, unit), + outSr: nad832011, + geometries: JSON.stringify({ + geometryType: 'esriGeometryPoint', + geometries: [ + { + x: easting, + y: northing, + }, + ], + }), + }; + } + + if (request.type === 'geographic' && request.coordinates) { + const { zone, x, y } = request.coordinates; + + return { + f: 'json', + inSr: nad832011, + outSr: getGridInputSpatialReference(zone, 'm'), + geometries: JSON.stringify({ + geometryType: 'esriGeometryPoint', + geometries: [ + { + x, + y, + }, + ], + }), + }; + } + + return null; +}; + +export const roundAccurately = ( + number: number, + decimalPlaces: number, +): number => + Number( + `${Math.round(Number(`${number}e${decimalPlaces}`))}e-${decimalPlaces}`, + ); + +export const getStatus = ( + submissionStatus?: SubmissionReviewStatus | null, +): SubmissionStatus => { + const defaultStatus: SubmissionStatus = { + label: 'Unknown', + received: 'pending', + reviewed: 'pending', + sheetPublished: 'pending', + dataPublished: 'pending', + }; + + if (!submissionStatus) { + return defaultStatus; + } + + const { ugrc, county, sgid, published } = submissionStatus; + + if (sgid.approved === true) { + return { + label: 'Sheet and geometry corrections are live', + received: 'yes', + reviewed: 'approved', + sheetPublished: published ? 'yes' : 'waiting', + dataPublished: 'yes', + }; + } + + if (county.approved === true && sgid.approved === null) { + return { + label: published + ? 'Pending PLSS geometry corrections' + : 'Pending monument record sheet publishing', + received: 'yes', + reviewed: 'approved', + sheetPublished: published ? 'yes' : 'waiting', + dataPublished: published ? 'waiting' : 'pending', + }; + } + + if ( + county.approved === false && + county.reviewedAt !== null && + !sgid.reviewedAt + ) { + return { + label: `The county rejected the submission. ${county.comments}`, + received: 'yes', + reviewed: 'rejected', + sheetPublished: 'rejected', + dataPublished: 'rejected', + }; + } + + if (ugrc.approved === false && county.reviewedAt === null) { + return { + label: `UGRC rejected submission. ${ugrc.comments}`, + received: 'yes', + reviewed: 'rejected', + sheetPublished: 'rejected', + dataPublished: 'rejected', + }; + } + + if (ugrc.approved === true && county.reviewedAt === null) { + return { + label: 'Pending county review', + received: 'yes', + reviewed: 'waiting', + sheetPublished: 'pending', + dataPublished: 'pending', + }; + } + + if (ugrc.reviewedAt === null) { + return { + label: 'Pending UGRC review', + received: 'yes', + reviewed: 'waiting', + sheetPublished: 'pending', + dataPublished: 'pending', + }; + } + + return defaultStatus; +}; + +const pluralRules = new Intl.PluralRules('en-US'); + +const pluralize = (count: number, singular: string, plural: string): string => { + const grammaticalNumber = pluralRules.select(count); + switch (grammaticalNumber) { + case 'one': + return `${count} ${singular}`; + case 'other': + return `${count} ${plural}`; + default: + throw new Error(`Unknown: ${grammaticalNumber}`); + } +}; + +export const timeSince = (date: Date | number): string => { + const timestamp = date instanceof Date ? date.getTime() : date; + const seconds = Math.floor((Date.now() - timestamp) / 1000); + + let interval = seconds / 31536000; + + if (interval > 1) { + return `${pluralize(Math.floor(interval), 'yr', 'yrs')} ago`; + } + interval = seconds / 2592000; + if (interval > 1) { + return `${Math.floor(interval)} mo ago`; + } + interval = seconds / 86400; + if (interval > 1) { + return `${pluralize(Math.floor(interval), 'day', 'days')} ago`; + } + interval = seconds / 3600; + if (interval > 1) { + return `${pluralize(Math.floor(interval), 'hr', 'hrs')} ago`; + } + interval = seconds / 60; + if (interval > 1) { + return `${pluralize(Math.floor(interval), 'min', 'mins')} ago`; + } + + return `${Math.floor(seconds)} s ago`; +}; diff --git a/functions/shared/package.json b/functions/shared/package.json new file mode 100644 index 00000000..faaf6000 --- /dev/null +++ b/functions/shared/package.json @@ -0,0 +1,21 @@ +{ + "name": "@ugrc/plss-shared", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "tsc -p tsconfig.json" + }, + "exports": { + ".": "./dist/index.js", + "./corner-submission/options": "./dist/cornerSubmission/Options.js", + "./corner-submission/schema": "./dist/cornerSubmission/Schema.js", + "./corner-submission/blm-point-id": "./dist/cornerSubmission/blmPointId.js" + }, + "dependencies": { + "yup": "^1.7.1" + }, + "devDependencies": { + "typescript": "6.0.3" + } +} diff --git a/functions/shared/tsconfig.json b/functions/shared/tsconfig.json new file mode 100644 index 00000000..dcadd70b --- /dev/null +++ b/functions/shared/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "allowJs": true, + "checkJs": false, + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmitOnError": true, + "outDir": "dist", + "rootDir": ".", + "sourceMap": true, + "strict": true, + "target": "ES2024", + "tsBuildInfoFile": "../../node_modules/.tmp/tsconfig.shared.tsbuildinfo" + }, + "include": ["*.js", "*.ts", "cornerSubmission/*.js", "cornerSubmission/*.ts"], + "exclude": ["**/*.test.js", "**/*.test.ts", "dist", "node_modules"] +} diff --git a/functions/storage/onCreateNotify.js b/functions/storage/onCreateNotify.ts similarity index 66% rename from functions/storage/onCreateNotify.js rename to functions/storage/onCreateNotify.ts index 962d6129..e4ec01f2 100644 --- a/functions/storage/onCreateNotify.js +++ b/functions/storage/onCreateNotify.ts @@ -1,25 +1,38 @@ -import { logger } from 'firebase-functions/v2'; -import { getStorage } from 'firebase-admin/storage'; +import type { ClientRequest } from '@sendgrid/client/src/request.js'; import { getFirestore } from 'firebase-admin/firestore'; -import { safelyInitializeApp } from '../firebase.js'; +import { getStorage } from 'firebase-admin/storage'; +import { logger } from 'firebase-functions/v2'; import { - getContactsToNotify, getBase64EncodedAttachment, + getContactsToNotify, notify, } from '../emailHelpers.js'; +import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); const db = getFirestore(); -const getDocument = async (documentId) => { +type SubmissionSummary = { + type: string; + submitted_by: { name: string }; + blm_point_id: string; + county: string; +}; + +const getDocument = async (documentId: string): Promise => { try { const reference = db.collection('submissions').doc(documentId); - const snapshot = await reference.get(); - - const { type, submitted_by, blm_point_id, county } = snapshot.data(); - - return { type, submitted_by, blm_point_id, county }; + const data = snapshot.data(); + + if (data) { + return { + type: data.type, + submitted_by: data.submitted_by, + blm_point_id: data.blm_point_id, + county: data.county, + }; + } } catch (error) { logger.error('error querying for submission', { error, documentId }); } @@ -33,11 +46,11 @@ const getDocument = async (documentId) => { }; export const createNotify = async ( - name, - { documentId, pointId }, - fileBucket, - contentType, -) => { + name: string, + { documentId, pointId }: { documentId: string; pointId: string }, + fileBucket: string, + contentType: string, +): Promise => { const bucket = getStorage().bucket(fileBucket); const record = await getDocument(documentId); @@ -47,13 +60,13 @@ export const createNotify = async ( const to = await getContactsToNotify(db, null); - if (!to || to.length === 0) { + if (to.length === 0) { logger.error('no contacts to notify'); return; } - const template = { + const template: ClientRequest = { method: 'post', url: '/v3/mail/send', body: { @@ -69,13 +82,13 @@ export const createNotify = async ( type: record.type, surveyor: record.submitted_by.name, blmPointId: record.blm_point_id, - county: record?.county ?? 'unknown', + county: record.county ?? 'unknown', }, }, ], attachments: [ { - content, + content: content.toString(), filename: `${pointId}.pdf`, type: contentType, disposition: 'attachment', @@ -84,12 +97,16 @@ export const createNotify = async ( }, }; - const templateData = template.body.personalizations[0].dynamic_template_data; + const templateData = + template.body?.personalizations?.[0]?.dynamic_template_data; logger.debug('sending notification email to', { to, templateData }); try { - const result = await notify(process.env.SENDGRID_API_KEY, template); + const result = await notify( + process.env.SENDGRID_API_KEY ?? 'null', + template, + ); logger.debug('mail sent with status', { statusCode: result[0].statusCode }); diff --git a/functions/storage/onDelete.js b/functions/storage/onDelete.ts similarity index 88% rename from functions/storage/onDelete.js rename to functions/storage/onDelete.ts index 31cc67cb..c063deef 100644 --- a/functions/storage/onDelete.js +++ b/functions/storage/onDelete.ts @@ -1,11 +1,11 @@ -import { https, logger } from 'firebase-functions/v2'; import { getFirestore } from 'firebase-admin/firestore'; +import { https, logger } from 'firebase-functions/v2'; import { safelyInitializeApp } from '../firebase.js'; safelyInitializeApp(); const db = getFirestore(); -export const syncProfileImage = async (uid) => { +export const syncProfileImage = async (uid: string): Promise => { try { const docRef = db.collection('submitters').doc(uid); await docRef.update({ seal: '' }); diff --git a/functions/tsconfig.build.json b/functions/tsconfig.build.json new file mode 100644 index 00000000..0c5afcf9 --- /dev/null +++ b/functions/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": false, + "composite": false, + "declaration": false, + "noEmit": false, + "outDir": "lib", + "rootDir": ".", + "tsBuildInfoFile": "../node_modules/.tmp/tsconfig.functions-build.tsbuildinfo" + }, + "include": ["**/*.js", "**/*.ts", "**/*.d.ts"], + "exclude": ["**/*.test.js", "**/*.test.ts", "lib", "node_modules", "shared"] +} diff --git a/functions/tsconfig.json b/functions/tsconfig.json new file mode 100644 index 00000000..dde2e67d --- /dev/null +++ b/functions/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "allowJs": true, + "checkJs": false, + "composite": true, + "declaration": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmit": true, + "noEmitOnError": true, + "outDir": "lib", + "rootDir": ".", + "sourceMap": true, + "strict": true, + "target": "ES2024", + "tsBuildInfoFile": "../node_modules/.tmp/tsconfig.functions.tsbuildinfo" + }, + "include": ["**/*.ts", "**/*.d.ts"], + "exclude": ["**/*.test.js", "**/*.test.ts", "lib", "node_modules"] +} diff --git a/functions/types.d.ts b/functions/types.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/functions/types.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/index.html b/index.html index 1737aa90..692060f9 100644 --- a/index.html +++ b/index.html @@ -25,6 +25,6 @@

JavaScript is required

- + diff --git a/package.json b/package.json index 5c843f34..c45bb24a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ugrc/plss-app", - "version": "3.6.16", + "version": "3.6.17-rc.8", "private": true, "description": "A React app for the UGRC PLSS", "license": "MIT", @@ -8,29 +8,30 @@ "type": "module", "main": "./src/functions/index.mjs", "scripts": { - "build": "vite build", + "build": "pnpm check && vite build", "build-storybook": "storybook build", + "check": "tsc -b", "cm": "cz", "copy:arcgis": "cpy \"./node_modules/@arcgis/core/assets/**\" ./public/assets", "coverage": "vitest run --coverage", - "dev": "cross-env NODE_ENV=development concurrently 'wait-on http://127.0.0.1:4000 && pnpm run dev:vite' 'pnpm run dev:firebase'", - "dev:firebase": "cross-env NODE_ENV=development firebase emulators:start --import .emulator-data --only auth,functions,firestore,storage", - "dev:firebase-state": "cross-env NODE_ENV=development concurrently 'firebase emulators:start --import=.emulator-data --export-on-exit=.emulator-data --only auth,functions,firestore,storage' 'pnpm run dev:vite'", + "dev": "cross-env NODE_ENV=development concurrently 'wait-on http://127.0.0.1:4000 && pnpm dev:vite' 'pnpm dev:firebase'", + "dev:firebase": "pnpm --filter functions build && cross-env NODE_ENV=development firebase emulators:start --import .emulator-data --only auth,functions,firestore,storage", + "dev:firebase-state": "pnpm --filter functions build && cross-env NODE_ENV=development concurrently 'firebase emulators:start --import=.emulator-data --export-on-exit=.emulator-data --only auth,functions,firestore,storage' 'pnpm dev:vite'", "dev:vite": "vite", "fb:deploy": "firebase deploy --only functions", - "fb:serve": "cross-env NODE_ENV=development firebase emulators:start --only functions", + "fb:serve": "pnpm --filter functions build && cross-env NODE_ENV=development firebase emulators:start --only functions", "format": "prettier . --write", "lint": "eslint . --report-unused-disable-directives --max-warnings 0", - "prepare": "husky", "preview": "vite preview", "save-firebase-state": "cross-env NODE_ENV=development firebase emulators:start --import .emulator-data --export-on-exit --only auth,functions,firestore,storage", - "start": "pnpm run dev", + "start": "pnpm dev", "storybook": "storybook dev -p 6006", + "pretest": "pnpm --filter @ugrc/plss-shared build", "test": "vitest --silent --coverage --ui --open", "test:ci": "firebase emulators:exec --only storage 'pnpm test'" }, "lint-staged": { - "*.{js,jsx,mjs}": "eslint --cache --fix", + "*.{js,jsx,mjs,ts,tsx}": "eslint --cache --fix", "*.{md,yml,yaml,json}": "prettier --write" }, "config": { @@ -51,112 +52,82 @@ ] }, "dependencies": { - "@arcgis/core": "^4.34.8", - "@headlessui/react": "^2.2.9", + "@arcgis/core": "5.1.15", + "@arcgis/map-components": "5.1.15", + "@esri/calcite-components": "^5.1.2", + "@headlessui/react": "^2.2.10", "@heroicons/react": "^2.2.0", "@hookform/error-message": "^2.0.1", - "@hookform/resolvers": "^5.2.2", + "@hookform/resolvers": "^5.7.1", "@react-hook/window-size": "^3.1.1", - "@tanstack/react-query": "^5.90.12", - "@tanstack/react-query-devtools": "^5.91.3", - "@ugrc/utah-design-system": "^1.35.0", - "@ugrc/utilities": "^3.1.1", - "@xstate/react": "^6.0.0", + "@tanstack/react-query": "^5.101.4", + "@tanstack/react-query-devtools": "^5.101.4", + "@ugrc/plss-shared": "workspace:*", + "@ugrc/utah-design-system": "^4.1.0", + "@ugrc/utilities": "^5.0.1", + "@xstate/react": "^6.1.0", "camelcase": "^9.0.0", "clsx": "^2.1.1", "contrast-color": "^1.0.1", "cors": "^2.8.6", "dms-conversion": "^3.1.4", - "firebase": "^12.5.0", + "firebase": "^12.17.1", "if-env": "^1.0.4", - "immer": "^11.0.1", - "ky": "^1.14.3", + "immer": "^11.1.16", + "ky": "^2.0.2", "md5": "^2.3.0", - "natural-compare-lite": "^1.4.0", - "react": "^19.2.4", + "natural-orderby": "^5.0.0", + "react": "^19.2.8", + "react-aria": "^3.51.0", + "react-aria-components": "^1.20.0", "react-color": "^2.19.3", - "react-dom": "^19.2.4", - "react-error-boundary": "^6.1.0", - "react-hook-form": "^7.71.1", + "react-dom": "^19.2.8", + "react-error-boundary": "^6.1.2", + "react-hook-form": "^7.84.0", + "react-stately": "^3.49.0", "use-immer": "^0.11.0", - "xstate": "^5.25.0", + "xstate": "^5.32.5", "yup": "^1.7.1" }, "devDependencies": { - "@commitlint/cli": "^20.4.1", - "@commitlint/config-conventional": "^20.4.1", - "@firebase/rules-unit-testing": "^5.0.0", + "@firebase/rules-unit-testing": "^5.0.1", "@hookform/devtools": "^4.4.0", - "@storybook/addon-docs": "^10.2.8", - "@storybook/addon-links": "^10.2.8", - "@storybook/react-vite": "^10.2.8", - "@tailwindcss/vite": "^4.1.18", - "@types/react": "^19.2.7", - "@types/react-dom": "^19.2.3", - "@ugrc/eslint-config": "^1.2.3", - "@vitejs/plugin-react-swc": "^4.2.3", - "@vitest/coverage-v8": "^4.0.18", - "@vitest/ui": "^4.0.18", - "commitizen": "^4.3.1", - "concurrently": "^9.2.1", - "cpy-cli": "^6.0.0", + "@storybook/addon-docs": "10.5.7", + "@storybook/addon-links": "10.5.7", + "@storybook/react-vite": "10.5.7", + "@tailwindcss/vite": "^4.3.3", + "@types/contrast-color": "1.0.3", + "@types/md5": "^2.3.6", + "@types/node": "^24.13.3", + "@types/react": "^19.2.18", + "@types/react-color": "^3.0.13", + "@types/react-dom": "^19.2.4", + "@ugrc/eslint-config": "^1.3.1", + "@ugrc/tsconfigs": "1.0.4", + "@vitejs/plugin-react-swc": "^4.3.3", + "@vitest/coverage-v8": "^4.1.10", + "@vitest/ui": "^4.1.10", + "concurrently": "^10.0.4", + "cpy-cli": "^7.0.0", "cross-env": "^10.1.0", "cz-conventional-changelog": "^3.3.0", - "eslint": "^9.31.0", - "firebase-functions-test": "^3.4.1", - "firebase-tools": "^15.5.1", - "husky": "^9.1.7", - "lint-staged": "^16.2.7", - "prettier": "^3.8.1", + "eslint": "^9.39.5", + "firebase-functions-test": "^3.5.0", + "firebase-tools": "^15.26.0", + "prettier": "^3.9.6", "prettier-plugin-organize-imports": "^4.3.0", - "prettier-plugin-packagejson": "^3.0.0", - "prettier-plugin-tailwindcss": "^0.7.2", - "storybook": "^10.2.8", - "tailwindcss": "^4.1.18", - "vite": "^7.3.1", + "prettier-plugin-packagejson": "^3.0.2", + "prettier-plugin-tailwindcss": "^0.8.1", + "storybook": "10.5.7", + "tailwindcss": "^4.3.3", + "typescript": "6.0.3", + "vite": "^8.2.1", "vite-plugin-eslint": "^1.8.1", "vite-plugin-package-version": "^1.1.0", - "vitest": "^4.0.18", - "wait-on": "^9.0.3" + "vitest": "^4.1.10", + "wait-on": "^9.1.0" }, "engines": { - "node": "22" - }, - "pnpm": { - "onlyBuiltDependencies": [ - "@firebase/util", - "@swc/core", - "core-js", - "esbuild", - "protobufjs", - "re2", - "unrs-resolver" - ], - "overrides": { - "@eslint/plugin-kit@<0.3.4": ">=0.3.4", - "@modelcontextprotocol/sdk@>=1.10.0 <=1.25.3": ">=1.26.0", - "@modelcontextprotocol/sdk@<1.25.2": ">=1.25.2", - "axios@<=1.13.4": ">=1.13.5", - "body-parser@>=2.2.0 <2.2.1": ">=2.2.1", - "diff@>=4.0.0 <4.0.4": ">=4.0.4", - "form-data@>=4.0.0 <4.0.4": ">=4.0.4", - "form-data@<2.5.4": ">=2.5.4", - "hono@<4.11.4": ">=4.11.4", - "hono@<4.11.7": ">=4.11.7", - "jws@=4.0.0": ">=4.0.1", - "lodash@>=4.0.0 <=4.17.22": ">=4.17.23", - "lodash-es@>=4.0.0 <=4.17.22": ">=4.17.23", - "on-headers@<1.1.0": ">=1.1.0", - "qs@>=6.7.0 <=6.14.1": ">=6.14.2", - "qs@<6.14.1": ">=6.14.1", - "tar@<7.5.7": ">=7.5.7", - "tar@<=7.5.2": ">=7.5.3", - "tar@<=7.5.3": ">=7.5.4", - "tmp@<=0.2.3": ">=0.2.4", - "vite@>=7.1.0 <=7.1.10": ">=7.1.11" - }, - "ignoredBuiltDependencies": [ - "@vaadin/vaadin-usage-statistics" - ] + "node": "24" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 985983f7..1773a2f5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,65 +4,52 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - '@eslint/plugin-kit@<0.3.4': '>=0.3.4' - '@modelcontextprotocol/sdk@>=1.10.0 <=1.25.3': '>=1.26.0' - '@modelcontextprotocol/sdk@<1.25.2': '>=1.25.2' - axios@<=1.13.4: '>=1.13.5' - body-parser@>=2.2.0 <2.2.1: '>=2.2.1' - diff@>=4.0.0 <4.0.4: '>=4.0.4' - form-data@>=4.0.0 <4.0.4: '>=4.0.4' - form-data@<2.5.4: '>=2.5.4' - hono@<4.11.4: '>=4.11.4' - hono@<4.11.7: '>=4.11.7' - jws@=4.0.0: '>=4.0.1' - lodash@>=4.0.0 <=4.17.22: '>=4.17.23' - lodash-es@>=4.0.0 <=4.17.22: '>=4.17.23' - on-headers@<1.1.0: '>=1.1.0' - qs@>=6.7.0 <=6.14.1: '>=6.14.2' - qs@<6.14.1: '>=6.14.1' - tar@<7.5.7: '>=7.5.7' - tar@<=7.5.2: '>=7.5.3' - tar@<=7.5.3: '>=7.5.4' - tmp@<=0.2.3: '>=0.2.4' - vite@>=7.1.0 <=7.1.10: '>=7.1.11' - importers: + .: dependencies: '@arcgis/core': - specifier: ^4.34.8 - version: 4.34.8(@lit/context@1.1.6) + specifier: 5.1.15 + version: 5.1.15 + '@arcgis/map-components': + specifier: 5.1.15 + version: 5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2) + '@esri/calcite-components': + specifier: ^5.1.2 + version: 5.1.2 '@headlessui/react': - specifier: ^2.2.9 - version: 2.2.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^2.2.10 + version: 2.2.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@heroicons/react': specifier: ^2.2.0 - version: 2.2.0(react@19.2.4) + version: 2.2.0(react@19.2.8) '@hookform/error-message': specifier: ^2.0.1 - version: 2.0.1(react-dom@19.2.4(react@19.2.4))(react-hook-form@7.71.1(react@19.2.4))(react@19.2.4) + version: 2.0.1(react-dom@19.2.8(react@19.2.8))(react-hook-form@7.85.0(react@19.2.8))(react@19.2.8) '@hookform/resolvers': - specifier: ^5.2.2 - version: 5.2.2(react-hook-form@7.71.1(react@19.2.4)) + specifier: ^5.7.1 + version: 5.7.1(@sinclair/typebox@0.34.52)(@standard-schema/spec@1.1.0)(ajv-formats@2.1.1(ajv@8.20.0))(ajv@8.20.0)(react-hook-form@7.85.0(react@19.2.8))(yup@1.7.1)(zod@4.4.3) '@react-hook/window-size': specifier: ^3.1.1 - version: 3.1.1(react@19.2.4) + version: 3.1.1(react@19.2.8) '@tanstack/react-query': - specifier: ^5.90.12 - version: 5.90.12(react@19.2.4) + specifier: ^5.101.4 + version: 5.101.4(react@19.2.8) '@tanstack/react-query-devtools': - specifier: ^5.91.3 - version: 5.91.3(@tanstack/react-query@5.90.12(react@19.2.4))(react@19.2.4) + specifier: ^5.101.4 + version: 5.101.4(@tanstack/react-query@5.101.4(react@19.2.8))(react@19.2.8) + '@ugrc/plss-shared': + specifier: workspace:* + version: link:functions/shared '@ugrc/utah-design-system': - specifier: ^1.35.0 - version: 1.35.0(@lit/context@1.1.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.18) + specifier: ^4.1.0 + version: 4.1.0(@arcgis/core@5.1.15)(@arcgis/map-components@5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2))(@esri/calcite-components@5.1.2)(firebase@12.17.1)(react-aria-components@1.20.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-aria@3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react-stately@3.49.0(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3) '@ugrc/utilities': - specifier: ^3.1.1 - version: 3.1.1(@lit/context@1.1.6)(react@19.2.4) + specifier: ^5.0.1 + version: 5.0.1(@arcgis/core@5.1.15)(react@19.2.8) '@xstate/react': - specifier: ^6.0.0 - version: 6.0.0(@types/react@19.2.7)(react@19.2.4)(xstate@5.25.0) + specifier: ^6.1.0 + version: 6.1.0(@types/react@19.2.18)(react@19.2.8)(xstate@5.32.5) camelcase: specifier: ^9.0.0 version: 9.0.0 @@ -79,162 +66,177 @@ importers: specifier: ^3.1.4 version: 3.1.4 firebase: - specifier: ^12.5.0 - version: 12.5.0 + specifier: ^12.17.1 + version: 12.17.1 if-env: specifier: ^1.0.4 version: 1.0.4 immer: - specifier: ^11.0.1 - version: 11.0.1 + specifier: ^11.1.16 + version: 11.1.16 ky: - specifier: ^1.14.3 - version: 1.14.3 + specifier: ^2.0.2 + version: 2.0.2 md5: specifier: ^2.3.0 version: 2.3.0 - natural-compare-lite: - specifier: ^1.4.0 - version: 1.4.0 + natural-orderby: + specifier: ^5.0.0 + version: 5.0.0 react: - specifier: ^19.2.4 - version: 19.2.4 + specifier: ^19.2.8 + version: 19.2.8 + react-aria: + specifier: ^3.51.0 + version: 3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-aria-components: + specifier: ^1.20.0 + version: 1.20.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react-color: specifier: ^2.19.3 - version: 2.19.3(react@19.2.4) + version: 2.19.3(react@19.2.8) react-dom: - specifier: ^19.2.4 - version: 19.2.4(react@19.2.4) + specifier: ^19.2.8 + version: 19.2.8(react@19.2.8) react-error-boundary: - specifier: ^6.1.0 - version: 6.1.0(react@19.2.4) + specifier: ^6.1.2 + version: 6.1.2(react@19.2.8) react-hook-form: - specifier: ^7.71.1 - version: 7.71.1(react@19.2.4) + specifier: ^7.84.0 + version: 7.85.0(react@19.2.8) + react-stately: + specifier: ^3.49.0 + version: 3.49.0(react@19.2.8) use-immer: specifier: ^0.11.0 - version: 0.11.0(immer@11.0.1)(react@19.2.4) + version: 0.11.0(immer@11.1.16)(react@19.2.8) xstate: - specifier: ^5.25.0 - version: 5.25.0 + specifier: ^5.32.5 + version: 5.32.5 yup: specifier: ^1.7.1 version: 1.7.1 devDependencies: - '@commitlint/cli': - specifier: ^20.4.1 - version: 20.4.1(@types/node@25.0.3)(typescript@5.8.3) - '@commitlint/config-conventional': - specifier: ^20.4.1 - version: 20.4.1 '@firebase/rules-unit-testing': - specifier: ^5.0.0 - version: 5.0.0(firebase@12.5.0) + specifier: ^5.0.1 + version: 5.0.1(firebase@12.17.1) '@hookform/devtools': specifier: ^4.4.0 - version: 4.4.0(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 4.4.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2) '@storybook/addon-docs': - specifier: ^10.2.8 - version: 10.2.8(@types/react@19.2.7)(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + specifier: 10.5.7 + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) '@storybook/addon-links': - specifier: ^10.2.8 - version: 10.2.8(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) + specifier: 10.5.7 + version: 10.5.7(@types/react@19.2.18)(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8)) '@storybook/react-vite': - specifier: ^10.2.8 - version: 10.2.8(esbuild@0.27.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3)(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + specifier: 10.5.7 + version: 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) '@tailwindcss/vite': - specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + specifier: ^4.3.3 + version: 4.3.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + '@types/contrast-color': + specifier: 1.0.3 + version: 1.0.3 + '@types/md5': + specifier: ^2.3.6 + version: 2.3.6 + '@types/node': + specifier: ^24.13.3 + version: 24.13.3 '@types/react': - specifier: ^19.2.7 - version: 19.2.7 + specifier: ^19.2.18 + version: 19.2.18 + '@types/react-color': + specifier: ^3.0.13 + version: 3.0.13(@types/react@19.2.18) '@types/react-dom': - specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.7) + specifier: ^19.2.4 + version: 19.2.4(@types/react@19.2.18) '@ugrc/eslint-config': - specifier: ^1.2.3 - version: 1.2.3(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.31.0(jiti@2.6.1))(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3) + specifier: ^1.3.1 + version: 1.3.1(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3) + '@ugrc/tsconfigs': + specifier: 1.0.4 + version: 1.0.4 '@vitejs/plugin-react-swc': - specifier: ^4.2.3 - version: 4.2.3(@swc/helpers@0.5.18)(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + specifier: ^4.3.3 + version: 4.3.3(@swc/helpers@0.5.23)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) '@vitest/coverage-v8': - specifier: ^4.0.18 - version: 4.0.18(vitest@4.0.18) + specifier: ^4.1.10 + version: 4.1.10(vitest@4.1.10) '@vitest/ui': - specifier: ^4.0.18 - version: 4.0.18(vitest@4.0.18) - commitizen: - specifier: ^4.3.1 - version: 4.3.1(@types/node@25.0.3)(typescript@5.8.3) + specifier: ^4.1.10 + version: 4.1.10(vitest@4.1.10) concurrently: - specifier: ^9.2.1 - version: 9.2.1 + specifier: ^10.0.4 + version: 10.0.4 cpy-cli: - specifier: ^6.0.0 - version: 6.0.0 + specifier: ^7.0.0 + version: 7.0.0 cross-env: specifier: ^10.1.0 version: 10.1.0 cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@25.0.3)(typescript@5.8.3) + version: 3.3.0(@types/node@24.13.3)(typescript@6.0.3) eslint: - specifier: ^9.31.0 - version: 9.31.0(jiti@2.6.1) + specifier: ^9.39.5 + version: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) firebase-functions-test: - specifier: ^3.4.1 - version: 3.4.1(firebase-admin@13.6.0(encoding@0.1.13))(firebase-functions@7.0.5(firebase-admin@13.6.0(encoding@0.1.13)))(jest@30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3))) + specifier: ^3.5.0 + version: 3.5.0(firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(firebase-functions@7.3.2(firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(supports-color@10.2.2))(jest@30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)) firebase-tools: - specifier: ^15.5.1 - version: 15.5.1(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(encoding@0.1.13)(typescript@5.8.3) - husky: - specifier: ^9.1.7 - version: 9.1.7 - lint-staged: - specifier: ^16.2.7 - version: 16.2.7 + specifier: ^15.26.0 + version: 15.26.0(@types/node@24.13.3)(supports-color@10.2.2) prettier: - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.9.6 + version: 3.9.6 prettier-plugin-organize-imports: specifier: ^4.3.0 - version: 4.3.0(prettier@3.8.1)(typescript@5.8.3) + version: 4.3.0(prettier@3.9.6)(typescript@6.0.3) prettier-plugin-packagejson: - specifier: ^3.0.0 - version: 3.0.0(prettier@3.8.1) + specifier: ^3.0.2 + version: 3.0.2(prettier@3.9.6) prettier-plugin-tailwindcss: - specifier: ^0.7.2 - version: 0.7.2(prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.8.3))(prettier@3.8.1) + specifier: ^0.8.1 + version: 0.8.1(prettier-plugin-organize-imports@4.3.0(prettier@3.9.6)(typescript@6.0.3))(prettier@3.9.6) storybook: - specifier: ^10.2.8 - version: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: 10.5.7 + version: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) tailwindcss: - specifier: ^4.1.18 - version: 4.1.18 + specifier: ^4.3.3 + version: 4.3.3 + typescript: + specifier: 6.0.3 + version: 6.0.3 vite: - specifier: ^7.3.1 - version: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + specifier: ^8.2.1 + version: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) vite-plugin-eslint: specifier: ^1.8.1 - version: 1.8.1(eslint@9.31.0(jiti@2.6.1))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + version: 1.8.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) vite-plugin-package-version: specifier: ^1.1.0 - version: 1.1.0(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + version: 1.1.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) vitest: - specifier: ^4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(@vitest/ui@4.0.18)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + specifier: ^4.1.10 + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) wait-on: - specifier: ^9.0.3 - version: 9.0.3 + specifier: ^9.1.0 + version: 9.1.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) functions: dependencies: '@google-cloud/functions-framework': - specifier: ^4.0.1 - version: 4.0.1 + specifier: ^5.0.5 + version: 5.0.5(supports-color@10.2.2) '@sendgrid/client': specifier: ^8.1.6 - version: 8.1.6 + version: 8.1.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) + '@ugrc/plss-shared': + specifier: file:shared + version: link:shared base64-stream: specifier: ^1.0.0 version: 1.0.0 @@ -245,541 +247,371 @@ importers: specifier: ^3.1.4 version: 3.1.4 firebase-admin: - specifier: ^13.6.0 - version: 13.6.0(encoding@0.1.13) + specifier: ^14.2.0 + version: 14.2.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2) firebase-functions: - specifier: ^7.0.5 - version: 7.0.5(firebase-admin@13.6.0(encoding@0.1.13)) + specifier: ^7.3.2 + version: 7.3.2(firebase-admin@14.2.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(supports-color@10.2.2) googleapis: - specifier: ^168.0.0 - version: 168.0.0 + specifier: ^174.0.1 + version: 174.0.1(supports-color@10.2.2) ky: - specifier: ^1.14.3 - version: 1.14.3 + specifier: ^2.0.2 + version: 2.0.2 pdf-lib: specifier: ^1.17.1 version: 1.17.1 pdfmake: - specifier: ^0.2.21 - version: 0.2.21 + specifier: ^0.3.11 + version: 0.3.11 uuid: - specifier: ^13.0.0 - version: 13.0.0 + specifier: ^14.0.1 + version: 14.0.1 yup: specifier: ^1.7.1 version: 1.7.1 devDependencies: + '@types/base64-stream': + specifier: 1.0.5 + version: 1.0.5 + '@types/contrast-color': + specifier: 1.0.3 + version: 1.0.3 + '@types/node': + specifier: ^24.13.3 + version: 24.13.3 + '@types/pdfmake': + specifier: ^0.3.3 + version: 0.3.3 '@vitest/coverage-v8': - specifier: ^4.0.18 - version: 4.0.18(vitest@4.0.18) + specifier: ^4.1.10 + version: 4.1.10(vitest@4.1.10) '@vitest/ui': - specifier: ^4.0.18 - version: 4.0.18(vitest@4.0.18) + specifier: ^4.1.10 + version: 4.1.10(vitest@4.1.10) vitest: - specifier: ^4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(@vitest/ui@4.0.18)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + specifier: ^4.1.10 + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + + functions/shared: + dependencies: + yup: + specifier: ^1.7.1 + version: 1.7.1 + devDependencies: + typescript: + specifier: 6.0.3 + version: 6.0.3 packages: - '@adobe/css-tools@4.4.4': - resolution: - { integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg== } - '@amcharts/amcharts5@5.14.4': - resolution: - { integrity: sha512-Tl7wQLWvsvyWVtlCIm1yhZtJviSDYjuNTnlUkO0D49GyByoK0nb9fr0DK4rUw4DVgyLcySxWBsb2lzTJm5Rd9Q== } + '@adobe/css-tools@4.5.0': + resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==} - '@apidevtools/json-schema-ref-parser@9.1.2': - resolution: - { integrity: sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg== } + '@amcharts/amcharts5@5.18.0': + resolution: {integrity: sha512-2pIka1IrHO0mnTI7A9haq8aaq8leZZhFDythxNA7qYNg/iyGWuNcuzoyzJkybJLlNSlR5crkeNqZQL5up+IF3A==} - '@apphosting/build@0.1.7': - resolution: - { integrity: sha512-zNgQGiAWDOj6c+4ylv5ej3nLGXzMAVmzCGMqlbSarHe4bvBmZ2C5GfBRdJksedP7C9pqlwTWpxU5+GSzhJ+nKA== } - hasBin: true + '@apidevtools/json-schema-ref-parser@9.1.2': + resolution: {integrity: sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==} '@apphosting/common@0.0.8': - resolution: - { integrity: sha512-RJu5gXs2HYV7+anxpVPpp04oXeuHbV3qn402AdXVlnuYM/uWo7aceqmngpfp6Bi376UzRqGjfpdwFHxuwsEGXQ== } + resolution: {integrity: sha512-RJu5gXs2HYV7+anxpVPpp04oXeuHbV3qn402AdXVlnuYM/uWo7aceqmngpfp6Bi376UzRqGjfpdwFHxuwsEGXQ==} - '@apphosting/common@0.0.9': - resolution: - { integrity: sha512-ZbPZDcVhEN+8m0sf90PmQN4xWaKmmySnBSKKPaIOD0JvcDsRr509WenFEFlojP++VSxwFZDGG/TYsHs1FMMqpw== } + '@arcgis/common-components@5.1.15': + resolution: {integrity: sha512-qpbY9zjN0ijoJt9iTqLbCYJoKb9X+en+LsvOGY5ieRDaTAYZybQPaVbT3Kk5xzTTMAUr/ZQZiikkdgN5igKy8w==} + peerDependencies: + '@arcgis/core': ^5.1.0 + '@esri/calcite-components': ^5.1.1 - '@arcgis/core@4.34.8': - resolution: - { integrity: sha512-UrEBTjXpSA9fhmmnAENBzz9GG81xALTezQFMXUs2iMB+tiOckmJyBbhATI/W4lIQyUfNEK7Zm/46EP2PhDga/A== } + '@arcgis/core@5.1.15': + resolution: {integrity: sha512-VltmcUkz2Y7x6mQPFO6opQEUHq7nxLD9Fi1oOk0EpbELCmaFDxgNMV5T26J2UZxXSH+m9qMzbs3BGtEoAjxX+g==} - '@arcgis/lumina@4.34.9': - resolution: - { integrity: sha512-efqO+SwR+1IYf29AATh1l2FUeypRyRINTBNkaJY+KkaFe+8gqSJ45qOmputhyzF5WTRDb7WhOYgnChjp6VYPpA== } + '@arcgis/lumina@5.1.15': + resolution: {integrity: sha512-2chuQrJWzrGYBqt71/7rnYKt2yCPlqlp/AaTPoxBMsXkmz6KSS2iFjkV7hGX1a4PKECT68II52gp7EF/y2YduA==} peerDependencies: - '@lit/context': ^1.1.5 + '@lit/context': ^1.1.6 lit: ^3.3.0 peerDependenciesMeta: '@lit/context': optional: true - '@arcgis/toolkit@4.34.9': - resolution: - { integrity: sha512-wFST+eVnCwmg9NyICVyn9bsBnR+TlWklsGqG3L7xqSTgfXo6TuCThE7wtTb8xWxsTBkGvImqMUgpgLuwQuTQ1g== } - - '@babel/code-frame@7.27.1': - resolution: - { integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== } - engines: { node: '>=6.9.0' } - - '@babel/code-frame@7.29.0': - resolution: - { integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== } - engines: { node: '>=6.9.0' } - - '@babel/compat-data@7.28.5': - resolution: - { integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA== } - engines: { node: '>=6.9.0' } - - '@babel/compat-data@7.29.0': - resolution: - { integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== } - engines: { node: '>=6.9.0' } - - '@babel/core@7.28.5': - resolution: - { integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== } - engines: { node: '>=6.9.0' } - - '@babel/core@7.29.0': - resolution: - { integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== } - engines: { node: '>=6.9.0' } - - '@babel/generator@7.28.5': - resolution: - { integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== } - engines: { node: '>=6.9.0' } - - '@babel/generator@7.29.1': - resolution: - { integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw== } - engines: { node: '>=6.9.0' } - - '@babel/helper-compilation-targets@7.27.2': - resolution: - { integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== } - engines: { node: '>=6.9.0' } - - '@babel/helper-compilation-targets@7.28.6': - resolution: - { integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== } - engines: { node: '>=6.9.0' } - - '@babel/helper-globals@7.28.0': - resolution: - { integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== } - engines: { node: '>=6.9.0' } - - '@babel/helper-module-imports@7.27.1': - resolution: - { integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== } - engines: { node: '>=6.9.0' } - - '@babel/helper-module-imports@7.28.6': - resolution: - { integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== } - engines: { node: '>=6.9.0' } - - '@babel/helper-module-transforms@7.28.3': - resolution: - { integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== } - engines: { node: '>=6.9.0' } + '@arcgis/lumina@5.1.16': + resolution: {integrity: sha512-x4QOs6Oy71jx4MA+O3JAJWxlnnVoe91W0wz6R3R3bbNbAebSIuLgqOkL7O79F4TeT84qxV9w1CDPOn/PGPIu3g==} peerDependencies: - '@babel/core': ^7.0.0 + '@lit/context': ^1.1.6 + lit: ^3.3.0 + peerDependenciesMeta: + '@lit/context': + optional: true + + '@arcgis/map-components@5.1.15': + resolution: {integrity: sha512-UePwv9tIxhXh1lN/kKN1hnKdK1eSddSfWZd8Qd/UxwNNuJfxH3YYozxpRTKsfVW8aTYGmOnPri6KwtcinstwBA==} + peerDependencies: + '@arcgis/core': ^5.1.0 + '@esri/calcite-components': ^5.1.1 - '@babel/helper-module-transforms@7.28.6': - resolution: - { integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== } - engines: { node: '>=6.9.0' } + '@arcgis/toolkit@5.1.15': + resolution: {integrity: sha512-fTtSy6j+q0c38mJfDPWfUdLnyxf6X292uRX3nyRkRM2Xzf1IncVCwSReWyhRmCceufyXyb9zFnWG7H4yh7ST/w==} + + '@arcgis/toolkit@5.1.16': + resolution: {integrity: sha512-5yifjnUiIb1Zr/gOe4mmIGSqglpc6NzANx9xMeKxFpwD0t10ukIKr7N/uu6CTHC4ZE0MJ/AmiobvIPaxNdYc6A==} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.28.6': - resolution: - { integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== } - engines: { node: '>=6.9.0' } - - '@babel/helper-string-parser@7.27.1': - resolution: - { integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== } - engines: { node: '>=6.9.0' } - - '@babel/helper-validator-identifier@7.28.5': - resolution: - { integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== } - engines: { node: '>=6.9.0' } - - '@babel/helper-validator-option@7.27.1': - resolution: - { integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== } - engines: { node: '>=6.9.0' } - - '@babel/helpers@7.28.4': - resolution: - { integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== } - engines: { node: '>=6.9.0' } - - '@babel/helpers@7.28.6': - resolution: - { integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== } - engines: { node: '>=6.9.0' } - - '@babel/parser@7.28.5': - resolution: - { integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== } - engines: { node: '>=6.0.0' } - hasBin: true + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} - '@babel/parser@7.29.0': - resolution: - { integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== } - engines: { node: '>=6.0.0' } + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} hasBin: true '@babel/plugin-syntax-async-generators@7.8.4': - resolution: - { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-bigint@7.8.3': - resolution: - { integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== } + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-properties@7.12.13': - resolution: - { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: - { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.28.6': - resolution: - { integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw== } - engines: { node: '>=6.9.0' } + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-import-meta@7.10.4': - resolution: - { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-json-strings@7.8.3': - resolution: - { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.28.6': - resolution: - { integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w== } - engines: { node: '>=6.9.0' } + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: - { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: - { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: - { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: - { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: - { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: - { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: - { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: - { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.28.6': - resolution: - { integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A== } - engines: { node: '>=6.9.0' } + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.27.6': - resolution: - { integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q== } - engines: { node: '>=6.9.0' } - - '@babel/runtime@7.28.6': - resolution: - { integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA== } - engines: { node: '>=6.9.0' } - - '@babel/template@7.27.2': - resolution: - { integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== } - engines: { node: '>=6.9.0' } - - '@babel/template@7.28.6': - resolution: - { integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== } - engines: { node: '>=6.9.0' } - - '@babel/traverse@7.28.5': - resolution: - { integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== } - engines: { node: '>=6.9.0' } - - '@babel/traverse@7.29.0': - resolution: - { integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== } - engines: { node: '>=6.9.0' } - - '@babel/types@7.28.5': - resolution: - { integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== } - engines: { node: '>=6.9.0' } - - '@babel/types@7.29.0': - resolution: - { integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== } - engines: { node: '>=6.9.0' } + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': - resolution: - { integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== } + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} '@bcoe/v8-coverage@1.0.2': - resolution: - { integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} '@colors/colors@1.5.0': - resolution: - { integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== } - engines: { node: '>=0.1.90' } + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} '@colors/colors@1.6.0': - resolution: - { integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== } - engines: { node: '>=0.1.90' } - - '@commitlint/cli@20.4.1': - resolution: - { integrity: sha512-uuFKKpc7OtQM+6SRqT+a4kV818o1pS+uvv/gsRhyX7g4x495jg+Q7P0+O9VNGyLXBYP0syksS7gMRDJKcekr6A== } - engines: { node: '>=v18' } - hasBin: true + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} + engines: {node: '>=0.1.90'} + + '@commitlint/config-validator@21.2.0': + resolution: {integrity: sha512-t7AzNHAKeIdo/3NRGwzpufKHsKkPHmFs/56N2Fnsh0/r0rGtnQzTxk6vnFgjaGr4hdSQKNB50/KAhR9Yk4LJKA==} + engines: {node: '>=22.12.0'} + + '@commitlint/execute-rule@21.0.1': + resolution: {integrity: sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA==} + engines: {node: '>=22.12.0'} - '@commitlint/config-conventional@20.4.1': - resolution: - { integrity: sha512-0YUvIeBtpi86XriqrR+TCULVFiyYTIOEPjK7tTRMxjcBm1qlzb+kz7IF2WxL6Fq5DaundG8VO37BNgMkMTBwqA== } - engines: { node: '>=v18' } - - '@commitlint/config-validator@19.8.1': - resolution: - { integrity: sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ== } - engines: { node: '>=v18' } - - '@commitlint/config-validator@20.4.0': - resolution: - { integrity: sha512-zShmKTF+sqyNOfAE0vKcqnpvVpG0YX8F9G/ZIQHI2CoKyK+PSdladXMSns400aZ5/QZs+0fN75B//3Q5CHw++w== } - engines: { node: '>=v18' } - - '@commitlint/ensure@20.4.1': - resolution: - { integrity: sha512-WLQqaFx1pBooiVvBrA1YfJNFqZF8wS/YGOtr5RzApDbV9tQ52qT5VkTsY65hFTnXhW8PcDfZLaknfJTmPejmlw== } - engines: { node: '>=v18' } - - '@commitlint/execute-rule@19.8.1': - resolution: - { integrity: sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA== } - engines: { node: '>=v18' } - - '@commitlint/execute-rule@20.0.0': - resolution: - { integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw== } - engines: { node: '>=v18' } - - '@commitlint/format@20.4.0': - resolution: - { integrity: sha512-i3ki3WR0rgolFVX6r64poBHXM1t8qlFel1G1eCBvVgntE3fCJitmzSvH5JD/KVJN/snz6TfaX2CLdON7+s4WVQ== } - engines: { node: '>=v18' } - - '@commitlint/is-ignored@20.4.1': - resolution: - { integrity: sha512-In5EO4JR1lNsAv1oOBBO24V9ND1IqdAJDKZiEpdfjDl2HMasAcT7oA+5BKONv1pRoLG380DGPE2W2RIcUwdgLA== } - engines: { node: '>=v18' } - - '@commitlint/lint@20.4.1': - resolution: - { integrity: sha512-g94LrGl/c6UhuhDQqNqU232aslLEN2vzc7MPfQTHzwzM4GHNnEAwVWWnh0zX8S5YXecuLXDwbCsoGwmpAgPWKA== } - engines: { node: '>=v18' } - - '@commitlint/load@19.8.1': - resolution: - { integrity: sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A== } - engines: { node: '>=v18' } - - '@commitlint/load@20.4.0': - resolution: - { integrity: sha512-Dauup/GfjwffBXRJUdlX/YRKfSVXsXZLnINXKz0VZkXdKDcaEILAi9oflHGbfydonJnJAbXEbF3nXPm9rm3G6A== } - engines: { node: '>=v18' } - - '@commitlint/message@20.4.0': - resolution: - { integrity: sha512-B5lGtvHgiLAIsK5nLINzVW0bN5hXv+EW35sKhYHE8F7V9Uz1fR4tx3wt7mobA5UNhZKUNgB/+ldVMQE6IHZRyA== } - engines: { node: '>=v18' } - - '@commitlint/parse@20.4.1': - resolution: - { integrity: sha512-XNtZjeRcFuAfUnhYrCY02+mpxwY4OmnvD3ETbVPs25xJFFz1nRo/25nHj+5eM+zTeRFvWFwD4GXWU2JEtoK1/w== } - engines: { node: '>=v18' } - - '@commitlint/read@20.4.0': - resolution: - { integrity: sha512-QfpFn6/I240ySEGv7YWqho4vxqtPpx40FS7kZZDjUJ+eHxu3azfhy7fFb5XzfTqVNp1hNoI3tEmiEPbDB44+cg== } - engines: { node: '>=v18' } - - '@commitlint/resolve-extends@19.8.1': - resolution: - { integrity: sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg== } - engines: { node: '>=v18' } - - '@commitlint/resolve-extends@20.4.0': - resolution: - { integrity: sha512-ay1KM8q0t+/OnlpqXJ+7gEFQNlUtSU5Gxr8GEwnVf2TPN3+ywc5DzL3JCxmpucqxfHBTFwfRMXxPRRnR5Ki20g== } - engines: { node: '>=v18' } - - '@commitlint/rules@20.4.1': - resolution: - { integrity: sha512-WtqypKEPbQEuJwJS4aKs0OoJRBKz1HXPBC9wRtzVNH68FLhPWzxXlF09hpUXM9zdYTpm4vAdoTGkWiBgQ/vL0g== } - engines: { node: '>=v18' } - - '@commitlint/to-lines@20.0.0': - resolution: - { integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw== } - engines: { node: '>=v18' } - - '@commitlint/top-level@20.4.0': - resolution: - { integrity: sha512-NDzq8Q6jmFaIIBC/GG6n1OQEaHdmaAAYdrZRlMgW6glYWGZ+IeuXmiymDvQNXPc82mVxq2KiE3RVpcs+1OeDeA== } - engines: { node: '>=v18' } - - '@commitlint/types@19.8.1': - resolution: - { integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw== } - engines: { node: '>=v18' } - - '@commitlint/types@20.4.0': - resolution: - { integrity: sha512-aO5l99BQJ0X34ft8b0h7QFkQlqxC6e7ZPVmBKz13xM9O8obDaM1Cld4sQlJDXXU/VFuUzQ30mVtHjVz74TuStw== } - engines: { node: '>=v18' } - - '@cspotcode/source-map-support@0.8.1': - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: '>=12' } + '@commitlint/load@21.2.0': + resolution: {integrity: sha512-RjlzWQqruRwIenJEfZtq7kG97co97nKoHpflE5YnF61tDLXxHPrdWImgzw6VL6MlFyaOcVlk74eBV8ZQmc3oIA==} + engines: {node: '>=22.12.0'} + + '@commitlint/resolve-extends@21.2.0': + resolution: {integrity: sha512-4O/1j51+79Wth9s/MGxt/5gs0XYLDgNlYpltQfhAvLE0itusLKs9zruxbiNg1oOkmkb9L9L4USYGjEj7n87NxA==} + engines: {node: '>=22.12.0'} + + '@commitlint/types@21.2.0': + resolution: {integrity: sha512-7zVFCDB2reMvJH5dmbKnOQPjZEvjdJTH8jc0U/PIPU1r3/+vf5pD1HlfitV2MWsWXrvu7u39iY1lyLUPOaN0Gw==} + engines: {node: '>=22.12.0'} '@dabh/diagnostics@2.0.8': - resolution: - { integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q== } + resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} - '@electric-sql/pglite-tools@0.2.19': - resolution: - { integrity: sha512-Ls4ZcSymnFRlEHtDyO3k9qPXLg7awfRAE3YnXk4WLsint17JBsU4UEX8le9YE8SgPkWNnQC898SqbFGGU/5JUA== } + '@electric-sql/pglite-tools@0.2.21': + resolution: {integrity: sha512-kv8Z7UmmBVECHud63VblgQLp4A+qSklNP7H22VQqFQGrWFTodc73bubcjgmBqThFsIIiEeAEQQYwWGaK2lSDtA==} peerDependencies: - '@electric-sql/pglite': 0.3.14 + '@electric-sql/pglite': 0.3.16 '@electric-sql/pglite@0.2.17': - resolution: - { integrity: sha512-qEpKRT2oUaWDH6tjRxLHjdzMqRUGYDnGZlKrnL4dJ77JVMcP2Hpo3NYnOSPKdZdeec57B6QPprCUFg0picx5Pw== } + resolution: {integrity: sha512-qEpKRT2oUaWDH6tjRxLHjdzMqRUGYDnGZlKrnL4dJ77JVMcP2Hpo3NYnOSPKdZdeec57B6QPprCUFg0picx5Pw==} + + '@electric-sql/pglite@0.3.16': + resolution: {integrity: sha512-mZkZfOd9OqTMHsK+1cje8OSzfAQcpD7JmILXTl5ahdempjUDdmg4euf1biDex5/LfQIDJ3gvCu6qDgdnDxfJmA==} + + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@electric-sql/pglite@0.3.14': - resolution: - { integrity: sha512-3DB258dhqdsArOI1fIt7cb9RpUOgcDg5hXWVgVHAeqVQ/qxtFy605QKs4gx6mFq3jWsSPqDN8TgSEsqC3OfV9Q== } + '@emnapi/core@1.11.2': + resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} - '@emnapi/core@1.8.1': - resolution: - { integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg== } + '@emnapi/core@1.9.2': + resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/runtime@1.8.1': - resolution: - { integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg== } + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/wasi-threads@1.1.0': - resolution: - { integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ== } + '@emnapi/runtime@1.11.2': + resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} + + '@emnapi/runtime@1.9.2': + resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} '@emotion/babel-plugin@11.13.5': - resolution: - { integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== } + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} '@emotion/cache@11.14.0': - resolution: - { integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== } + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} '@emotion/hash@0.9.2': - resolution: - { integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== } + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} - '@emotion/is-prop-valid@1.3.1': - resolution: - { integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw== } + '@emotion/is-prop-valid@1.4.0': + resolution: {integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==} '@emotion/memoize@0.9.0': - resolution: - { integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== } + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} '@emotion/react@11.14.0': - resolution: - { integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== } + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -788,16 +620,13 @@ packages: optional: true '@emotion/serialize@1.3.3': - resolution: - { integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== } + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} '@emotion/sheet@1.4.0': - resolution: - { integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== } + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} '@emotion/styled@11.14.1': - resolution: - { integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw== } + resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 '@types/react': '*' @@ -807,819 +636,737 @@ packages: optional: true '@emotion/unitless@0.10.0': - resolution: - { integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== } + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} '@emotion/use-insertion-effect-with-fallbacks@1.2.0': - resolution: - { integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== } + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} peerDependencies: react: '>=16.8.0' '@emotion/utils@1.4.2': - resolution: - { integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== } + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} '@emotion/weak-memoize@0.4.0': - resolution: - { integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== } + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} '@epic-web/invariant@1.0.0': - resolution: - { integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA== } + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} - '@esbuild/aix-ppc64@0.27.2': - resolution: - { integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw== } - engines: { node: '>=18' } + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: - { integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA== } - engines: { node: '>=18' } + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: - { integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA== } - engines: { node: '>=18' } + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: - { integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A== } - engines: { node: '>=18' } + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: - { integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg== } - engines: { node: '>=18' } + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: - { integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA== } - engines: { node: '>=18' } + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: - { integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g== } - engines: { node: '>=18' } + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: - { integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA== } - engines: { node: '>=18' } + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: - { integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw== } - engines: { node: '>=18' } + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: - { integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw== } - engines: { node: '>=18' } + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: - { integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w== } - engines: { node: '>=18' } + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: - { integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg== } - engines: { node: '>=18' } + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: - { integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw== } - engines: { node: '>=18' } + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: - { integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ== } - engines: { node: '>=18' } + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: - { integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA== } - engines: { node: '>=18' } + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: - { integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w== } - engines: { node: '>=18' } + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: - { integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA== } - engines: { node: '>=18' } + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: - { integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw== } - engines: { node: '>=18' } + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: - { integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA== } - engines: { node: '>=18' } + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: - { integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA== } - engines: { node: '>=18' } + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: - { integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg== } - engines: { node: '>=18' } + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: - { integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag== } - engines: { node: '>=18' } + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: - { integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg== } - engines: { node: '>=18' } + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: - { integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg== } - engines: { node: '>=18' } + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: - { integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ== } - engines: { node: '>=18' } + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: - { integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ== } - engines: { node: '>=18' } + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.7.0': - resolution: - { integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.1': - resolution: - { integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - - '@eslint/config-array@0.21.0': - resolution: - { integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/config-helpers@0.3.0': - resolution: - { integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/core@0.15.1': - resolution: - { integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/eslintrc@3.3.1': - resolution: - { integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/js@9.30.1': - resolution: - { integrity: sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/js@9.31.0': - resolution: - { integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/object-schema@2.1.6': - resolution: - { integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@eslint/plugin-kit@0.3.4': - resolution: - { integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.2': + resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.6': + resolution: {integrity: sha512-l2Ul9PrHsPCKcEY/ac7VgFj9D80C7S68sOKc618SyHDPK36s1XcFebXY0iTzUVn4Yq+YbwvSnDmCz9yxjX+QrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.5': + resolution: {integrity: sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@esri/arcgis-html-sanitizer@4.1.0': - resolution: - { integrity: sha512-einEveDJ/k1180NOp78PB/4Hje9eBy3dyOGLLtLn6bSkizpUfCwuYBIXOA7Y3F/k/BsTQXgKqUVwQ0eiscWMdA== } - engines: { node: '>=18.0.0' } - - '@esri/arcgis-rest-fetch@4.0.0': - resolution: - { integrity: sha512-ybsMO2L4cxx0IaIx0jv6/VbXidZmQIiGD3bvPF1/n1Y1ljHIhCvX+ti54cQSfg/HW2+VAVVnt8EPD/omVhNAyg== } - - '@esri/arcgis-rest-form-data@4.0.0': - resolution: - { integrity: sha512-cAS9HONIJgseCDdgRCIHBR4CE/OQXZIRP3FoNx/w+XyjVqK6yQiwCeXpYLfHeEZ6GEQqrA9XUBxifWG9UaJyXA== } - - '@esri/arcgis-rest-geocoding@4.0.3': - resolution: - { integrity: sha512-0Ape94KudDN3g15g2Xz7MeOF11JArtruW1wAxbPrWB54fiTfry8Wsrw9bPPlZsk1g/tV88eHARHlhp/N9B0RPw== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-einEveDJ/k1180NOp78PB/4Hje9eBy3dyOGLLtLn6bSkizpUfCwuYBIXOA7Y3F/k/BsTQXgKqUVwQ0eiscWMdA==} + engines: {node: '>=18.0.0'} + + '@esri/arcgis-rest-fetch@4.11.0': + resolution: {integrity: sha512-EcpT2EwFX5GmUwdzwQ3nfUz7M4Mo6z2fbWP3/5/tZefVz+TnWWgceudIiWy45AinuEHiJS5rCgOkNS7vmTabsA==} + + '@esri/arcgis-rest-form-data@4.11.0': + resolution: {integrity: sha512-Gm9ojfnDjH3meBHZ077otEexnMJDJXkMnVqrycMWEqzNU/7saBgtHvfscF6xwQ8JZ+Jh0VeGQ7ECUQ3xNkIPcA==} + + '@esri/arcgis-rest-geocoding@4.11.0': + resolution: {integrity: sha512-bDPDa7ptloSOYjN59HCIYbaRMbMc6q1morCKGD5LDrCVG5y1gDfDbNIIH+PuKWstA71QlDWrSHRpvwA7klbm7A==} + engines: {node: '>=12.20.0'} peerDependencies: '@esri/arcgis-rest-request': ^4.0.0 - '@esri/arcgis-rest-request@4.7.3': - resolution: - { integrity: sha512-0logbVDob7/5M7MNYAsB8c4/2S8xsXBrVQBvK1z+8QFCDz/mkJnzSeXQho/OCGhxTTLfEB7eKDXUG7ma7QDuvQ== } - engines: { node: '>=12.20.0' } + '@esri/arcgis-rest-request@4.11.0': + resolution: {integrity: sha512-pK6Bz3EmB4WR2fatvTD8XsaWlyeuGGpXCU02xOJkIIk1qOiS0eDWwSSsFSzU7kjpSSsvf7WjrkoZdWDZOGxMZA==} + engines: {node: '>=12.20.0'} - '@esri/calcite-components@3.3.3': - resolution: - { integrity: sha512-tw+EfJ3pb+Odj71W6E9GUkm8rMbNxfW1KeiI8GgsKDzhr39hMKwY+zYYFFYuO0FONxWGvAB+B8yqB0NvH7WeHw== } + '@esri/calcite-components@5.1.2': + resolution: {integrity: sha512-KdCk68T+UzVeAMA+kHW5UZ8msedBAH10k1J9Vkhqc8DtpJ0L/j2rw0ve9pbq1sW+hAAbhnTj+0OyP3R5bp1dEg==} - '@esri/calcite-ui-icons@4.3.0': - resolution: - { integrity: sha512-iOOuRurpjFxFVw6+aXW2JpSkRBrdOpBcbdibfPOmSPqMd1aoHBtYmYXetKoH9vfrXoBiPyO2PkDnczhsu/N9IA== } + '@esri/calcite-ui-icons@4.5.0': + resolution: {integrity: sha512-MuXK8o5qefXXV/vdDucQUm8zno+9Q0KjadCX82gYX1VgHMLPp0x2+pbQzG3c0MDbRqkidhTqL/zwq/eVq282qg==} hasBin: true '@fastify/busboy@3.2.0': - resolution: - { integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA== } + resolution: {integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==} - '@firebase/ai@2.5.0': - resolution: - { integrity: sha512-OXv/jZLRjV9jTejWA4KOvW8gM1hNsLvQSCPwKhi2CEfe0Nap3rM6z+Ial0PGqXga0WgzhpypEvJOFvaAUFX3kg== } - engines: { node: '>=20.0.0' } + '@firebase/ai@2.14.0': + resolution: {integrity: sha512-TYEQqCQUTyVHuG/HVi9vau6F9kvEaS49o/hmdn/yUuN6ZXQkwIml2nNJTIBfjNl/r9LOxwUNILgcOY16nxObug==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x '@firebase/app-types': 0.x - '@firebase/analytics-compat@0.2.25': - resolution: - { integrity: sha512-fdzoaG0BEKbqksRDhmf4JoyZf16Wosrl0Y7tbZtJyVDOOwziE0vrFjmZuTdviL0yhak+Nco6rMsUUbkbD+qb6Q== } + '@firebase/analytics-compat@0.2.29': + resolution: {integrity: sha512-allztvCvCUlItZzD97TiRAtGoFJzR1FQFmLxbaLc6PvgscqD9cl5NdKPTtka6keShVYXvCZJpzWcRoH4TME8rw==} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/analytics-types@0.8.3': - resolution: - { integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg== } + '@firebase/analytics-types@0.8.4': + resolution: {integrity: sha512-zQ+XTgkwH6CY/eUSHJRP7e4LxM30RCxlCmob5sy2axs25GE3Ny0XdgpDscMTHHQIGqWkxPXad4w2Mw9sCgT8zQ==} - '@firebase/analytics@0.10.19': - resolution: - { integrity: sha512-3wU676fh60gaiVYQEEXsbGS4HbF2XsiBphyvvqDbtC1U4/dO4coshbYktcCHq+HFaGIK07iHOh4pME0hEq1fcg== } + '@firebase/analytics@0.10.23': + resolution: {integrity: sha512-34ALWXzWA6PTRUA5hipZmsm1RKzeecw5J1+qTCXsiMzwLqONC+GuTIQSdmm91MmTAEA+wG1Q5t0IFahcYQOqAA==} peerDependencies: '@firebase/app': 0.x - '@firebase/app-check-compat@0.4.0': - resolution: - { integrity: sha512-UfK2Q8RJNjYM/8MFORltZRG9lJj11k0nW84rrffiKvcJxLf1jf6IEjCIkCamykHE73C6BwqhVfhIBs69GXQV0g== } - engines: { node: '>=20.0.0' } + '@firebase/app-check-compat@0.4.6': + resolution: {integrity: sha512-2pzNEZEkX84jSqy6TH6FI1HSLA1lc7kakRUybBbKjg9YhIttPlW/XX3N9CDtChji2PTTPWVPZiWhB10exHfA+A==} + engines: {node: '>=20.0.0'} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/app-check-interop-types@0.3.3': - resolution: - { integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A== } + '@firebase/app-check-interop-types@0.3.4': + resolution: {integrity: sha512-zz3i6e13B8BfWiLy8MABtTh8aGIACgKbf9UVnyHcWs+yQzJXgQcl8A46b0zfaiJHdQ+niF0ouAfcpuf+3LMPQg==} - '@firebase/app-check-types@0.5.3': - resolution: - { integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng== } + '@firebase/app-check-types@0.5.4': + resolution: {integrity: sha512-xV7JsIyzVr15aA7f3Pi0rB9gdBuVubs89FGA8VkRYA4g0l78poADgdfrScgf7NndSg9mm7cR7PJyY0+t22KaGw==} - '@firebase/app-check@0.11.0': - resolution: - { integrity: sha512-XAvALQayUMBJo58U/rxW02IhsesaxxfWVmVkauZvGEz3vOAjMEQnzFlyblqkc2iAaO82uJ2ZVyZv9XzPfxjJ6w== } - engines: { node: '>=20.0.0' } + '@firebase/app-check@0.13.0': + resolution: {integrity: sha512-AbMttBKazQvGVXBZhQdVAdPzRhwHyJAY3Ghu5y2C7IZKIDIppzNYz0shTZ1mP4FBJa+28BuC4t+5h1Q6pT3Asg==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/app-compat@0.5.5': - resolution: - { integrity: sha512-lVG/nRnXaot0rQSZazmTNqy83ti9O3+kdwoaE0d5wahRIWNoDirbIMcGVjDDgdmf4IE6FYreWOMh0L3DV1475w== } - engines: { node: '>=20.0.0' } + '@firebase/app-compat@0.5.16': + resolution: {integrity: sha512-shQq37O8qELDzvsVwYPlDXwD1zlcrZ0m2bpBF5ov2HSbY8x+AHsnL5TtJ2e1JAfkQN05qHao1AfabS69PN6GiA==} + engines: {node: '>=20.0.0'} - '@firebase/app-types@0.9.3': - resolution: - { integrity: sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw== } + '@firebase/app-types@0.9.5': + resolution: {integrity: sha512-YevqTjvo7Iujsa9Dwowmd6dSoElhzmD63ZSrq6bzjvQ6POjYgNjOFHLmNIgJs48eNO093NCERibuFnxbfOvU7A==} - '@firebase/app@0.14.5': - resolution: - { integrity: sha512-zyNY77xJOGwcuB+xCxF8z8lSiHvD4ox7BCsqLEHEvgqQoRjxFZ0fkROR6NV5QyXmCqRLodMM8J5d2EStOocWIw== } - engines: { node: '>=20.0.0' } + '@firebase/app@0.16.0': + resolution: {integrity: sha512-G+ZGEyVP8YTb3ay6A+XpcYgFH3sTESHcnHU/EyTktodqhz2BHkLq+QEP7IVwjiMX0cxYwpVKip0/wC0KZcn9vQ==} + engines: {node: '>=20.0.0'} - '@firebase/auth-compat@0.6.1': - resolution: - { integrity: sha512-I0o2ZiZMnMTOQfqT22ur+zcGDVSAfdNZBHo26/Tfi8EllfR1BO7aTVo2rt/ts8o/FWsK8pOALLeVBGhZt8w/vg== } - engines: { node: '>=20.0.0' } + '@firebase/auth-compat@0.6.9': + resolution: {integrity: sha512-/hHeTBmQ61+N5J1RECls+WfskZTY78JXr7aO5EMOfUpqJvDqvoS+568k0rp6Ss/4UWwBjadILs+H+SGy1zCS3A==} + engines: {node: '>=20.0.0'} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/auth-interop-types@0.2.4': - resolution: - { integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA== } + '@firebase/auth-interop-types@0.2.5': + resolution: {integrity: sha512-1Li/YuBDBAXcKv7BzY4U28gontUmAaw53sYiqbaVOMCFb2lFKK/c3CGMUWqtwe7+TXrl3poWnTCL5umYBg85Eg==} - '@firebase/auth-types@0.13.0': - resolution: - { integrity: sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg== } + '@firebase/auth-types@0.13.1': + resolution: {integrity: sha512-0c1Mnid0uMDfGJHeUS4zfvBa4/CedJXotGy/n/NZJnBjwiJawt0ZYU+wH2VAVLiRCEfG2ncCkAX3yd1/2nrB7g==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/auth@1.11.1': - resolution: - { integrity: sha512-Mea0G/BwC1D0voSG+60Ylu3KZchXAFilXQ/hJXWCw3gebAu+RDINZA0dJMNeym7HFxBaBaByX8jSa7ys5+F2VA== } - engines: { node: '>=20.0.0' } + '@firebase/auth@1.13.4': + resolution: {integrity: sha512-s+NS1aV0DDyyfoIMeSz53HXnVTv7ufJjJfrP63XyaWHweJ5vOoxKWrTm5tO7S7PDqvyOa/Wi3oP0dgAo6JTMMA==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@react-native-async-storage/async-storage': ^1.18.1 + '@react-native-async-storage/async-storage': ^2.2.0 || ^3.0.0 peerDependenciesMeta: '@react-native-async-storage/async-storage': optional: true - '@firebase/component@0.7.0': - resolution: - { integrity: sha512-wR9En2A+WESUHexjmRHkqtaVH94WLNKt6rmeqZhSLBybg4Wyf0Umk04SZsS6sBq4102ZsDBFwoqMqJYj2IoDSg== } - engines: { node: '>=20.0.0' } + '@firebase/component@0.7.4': + resolution: {integrity: sha512-tLpOaaCol9ugUIYp2R3CbWPPA8Ajg/papX/XHEy8U52b/QXH3BbX8tTJX9aShDCjp+9sMAxMLD94i7lresdugQ==} + engines: {node: '>=20.0.0'} - '@firebase/data-connect@0.3.11': - resolution: - { integrity: sha512-G258eLzAD6im9Bsw+Qm1Z+P4x0PGNQ45yeUuuqe5M9B1rn0RJvvsQCRHXgE52Z+n9+WX1OJd/crcuunvOGc7Vw== } + '@firebase/data-connect@0.7.3': + resolution: {integrity: sha512-nHBFk3Ntl+NZCRIUG2d5j7I69P0otjyQ/duhVKLbw4+5cNke/F6RK1pdE5Jnf831/QOTs2Bd00LlxlZ+jNsb9w==} peerDependencies: '@firebase/app': 0.x - '@firebase/database-compat@2.1.0': - resolution: - { integrity: sha512-8nYc43RqxScsePVd1qe1xxvWNf0OBnbwHxmXJ7MHSuuTVYFO3eLyLW3PiCKJ9fHnmIz4p4LbieXwz+qtr9PZDg== } - engines: { node: '>=20.0.0' } + '@firebase/database-compat@2.1.6': + resolution: {integrity: sha512-mu7S/75UIajB1A5M9Vfojk69LttW55uABp9nHEtWrV/mIaSEwvoaIe9GySsEzS2EKFK5/3f5okcAuUbihhYeJg==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-compat': 0.x + peerDependenciesMeta: + '@firebase/app': + optional: true + '@firebase/app-compat': + optional: true - '@firebase/database-types@1.0.16': - resolution: - { integrity: sha512-xkQLQfU5De7+SPhEGAXFBnDryUWhhlFXelEg2YeZOQMCdoe7dL64DDAd77SQsR+6uoXIZY5MB4y/inCs4GTfcw== } + '@firebase/database-types@1.0.21': + resolution: {integrity: sha512-SX1jUqhttKgg/m9dYRTvqU9QvucBooziWfA986r4cpsbi4zlsvewe424j3Vpduwd6DG1MSAMfBVT2VqA61FnkA==} - '@firebase/database@1.1.0': - resolution: - { integrity: sha512-gM6MJFae3pTyNLoc9VcJNuaUDej0ctdjn3cVtILo3D5lpp0dmUHHLFN/pUKe7ImyeB1KAvRlEYxvIHNF04Filg== } - engines: { node: '>=20.0.0' } + '@firebase/database@1.1.4': + resolution: {integrity: sha512-D+j4+8uhGtNd1tVD+X+c8JrC4ppStGJKyujSQt2NPwdN26QcCk0BeIxue+UqspHkHiFHyQOimwlzjLewGq6S+A==} + engines: {node: '>=20.0.0'} - '@firebase/firestore-compat@0.4.2': - resolution: - { integrity: sha512-cy7ov6SpFBx+PHwFdOOjbI7kH00uNKmIFurAn560WiPCZXy9EMnil1SOG7VF4hHZKdenC+AHtL4r3fNpirpm0w== } - engines: { node: '>=20.0.0' } + '@firebase/firestore-compat@0.4.12': + resolution: {integrity: sha512-k2uX81Ao/S0jnFcWGPOQpKK1cPlJHvD9WIqh/RE1XBDP2yg5zhE4rHhSg1rtB11k39q3nKon9XLNDDrPjGclag==} + engines: {node: '>=20.0.0'} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/firestore-types@3.0.3': - resolution: - { integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q== } + '@firebase/firestore-types@3.0.4': + resolution: {integrity: sha512-jGn+JSS4X9zZsrfu7Yw66v5YRdOLD1oyQh4USR0xWl4CUqV/DA6bNIXRPpxH/cUl3iVTNiP6MN7g+EL42A4qfA==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/firestore@4.9.2': - resolution: - { integrity: sha512-iuA5+nVr/IV/Thm0Luoqf2mERUvK9g791FZpUJV1ZGXO6RL2/i/WFJUj5ZTVXy5pRjpWYO+ZzPcReNrlilmztA== } - engines: { node: '>=20.0.0' } + '@firebase/firestore@4.17.0': + resolution: {integrity: sha512-P9tof6pyO1bnLlMWbux+5O7WFJqlb7OTPMKxxOiXKYiQl7mxykAvxr1BFCgWeEXUU7DZxQncyJ040B0IhFVZCg==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/functions-compat@0.4.1': - resolution: - { integrity: sha512-AxxUBXKuPrWaVNQ8o1cG1GaCAtXT8a0eaTDfqgS5VsRYLAR0ALcfqDLwo/QyijZj1w8Qf8n3Qrfy/+Im245hOQ== } - engines: { node: '>=20.0.0' } + '@firebase/functions-compat@0.4.6': + resolution: {integrity: sha512-dj9sOet+FIU91jeU4A3vGJoXHty7NqkSfjRLCwLgJXPDk1m72KFuxD3nlFgw/yXx/Fr7UjqzbxZ0LrIOdpx7+w==} + engines: {node: '>=20.0.0'} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/functions-types@0.6.3': - resolution: - { integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg== } + '@firebase/functions-types@0.6.4': + resolution: {integrity: sha512-zV6kgqtduR4rUAdC/ilS7kmb93XD7bEZoJDlVBZqlOw2uGGGCNBQBuleww2rr0Ulr3L9o2TDjumEt68/l1f9DQ==} - '@firebase/functions@0.13.1': - resolution: - { integrity: sha512-sUeWSb0rw5T+6wuV2o9XNmh9yHxjFI9zVGFnjFi+n7drTEWpl7ZTz1nROgGrSu472r+LAaj+2YaSicD4R8wfbw== } - engines: { node: '>=20.0.0' } + '@firebase/functions@0.13.6': + resolution: {integrity: sha512-9obLnzeQUivK5lmtGFOU2ucQ38BjTp+jpPtbfFp/mDsdVCvEpRqdWNvMMQ6aQwR4vcVc/utsvngm5BRkXbc7ZA==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/installations-compat@0.2.19': - resolution: - { integrity: sha512-khfzIY3EI5LePePo7vT19/VEIH1E3iYsHknI/6ek9T8QCozAZshWT9CjlwOzZrKvTHMeNcbpo/VSOSIWDSjWdQ== } + '@firebase/installations-compat@0.2.23': + resolution: {integrity: sha512-isaXmjb9roM83eVeXAe+ZRNKYNsSo2s0aNM+cy04AAGEyVL/d8Aa11GwEXovRFeYjl9+1yRAOxRDTOukZRwTxA==} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/installations-types@0.5.3': - resolution: - { integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA== } + '@firebase/installations-types@0.5.4': + resolution: {integrity: sha512-U2eFapdHwjb43Vx9o+Pmj4dFfvcHEK1IirEFLqMtWrTHvmdrS3gBpBD1kmJk/9HjsOtoHZxJ2Paoe79e+L1ZPg==} peerDependencies: '@firebase/app-types': 0.x - '@firebase/installations@0.6.19': - resolution: - { integrity: sha512-nGDmiwKLI1lerhwfwSHvMR9RZuIH5/8E3kgUWnVRqqL7kGVSktjLTWEMva7oh5yxQ3zXfIlIwJwMcaM5bK5j8Q== } + '@firebase/installations@0.6.23': + resolution: {integrity: sha512-MBkbcQfd+3qHjW+slsH4s7jH5qTdGlYpwqmxEZ7QcIpgDxu1SKyU0f+mCZhCt1BCacLNiOWF5L0R06N0LtlfMg==} peerDependencies: '@firebase/app': 0.x - '@firebase/logger@0.5.0': - resolution: - { integrity: sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g== } - engines: { node: '>=20.0.0' } + '@firebase/logger@0.5.1': + resolution: {integrity: sha512-vZKLsqE1ABOy8OjQiE7cUTFn4gvaqlk88yp8N94Pk/sDpq61YqZGqmVFZTvOyflTwuYFcWirBdYGoJgbDaXKYQ==} + engines: {node: '>=20.0.0'} - '@firebase/messaging-compat@0.2.23': - resolution: - { integrity: sha512-SN857v/kBUvlQ9X/UjAqBoQ2FEaL1ZozpnmL1ByTe57iXkmnVVFm9KqAsTfmf+OEwWI4kJJe9NObtN/w22lUgg== } + '@firebase/messaging-compat@0.2.28': + resolution: {integrity: sha512-/AmMqHRnSQhPsdeED3ocs+s30/tpFvZDiiwIYY2uXFRvLujo1fnbPOeCFoe4Y+dRy1LCSjpvJf+dy5ZTsxi1yg==} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/messaging-interop-types@0.2.3': - resolution: - { integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q== } + '@firebase/messaging-interop-types@0.2.5': + resolution: {integrity: sha512-tUEKnaAP2Y/MNIqgnriPpV6e5l13Vs/+p2yrd6NGlncPJT9O3a8muYZtdnWe+IJ4fgKLHJVC79n/asxk/N5Msw==} - '@firebase/messaging@0.12.23': - resolution: - { integrity: sha512-cfuzv47XxqW4HH/OcR5rM+AlQd1xL/VhuaeW/wzMW1LFrsFcTn0GND/hak1vkQc2th8UisBcrkVcQAnOnKwYxg== } + '@firebase/messaging@0.13.1': + resolution: {integrity: sha512-kL8fdjbNBI7hprlXJrUjktDWosrpT4JtfwXtVVevImPF/rBRAsC+LS/jIs+kgQVuotnvMhaBCgAFipBoY9YU9g==} peerDependencies: '@firebase/app': 0.x - '@firebase/performance-compat@0.2.22': - resolution: - { integrity: sha512-xLKxaSAl/FVi10wDX/CHIYEUP13jXUjinL+UaNXT9ByIvxII5Ne5150mx6IgM8G6Q3V+sPiw9C8/kygkyHUVxg== } + '@firebase/performance-compat@0.2.26': + resolution: {integrity: sha512-jgoocXLN6ao26xWQ8pzosmzQ33uLzGBJQPNK0NTbVy1XvIHr5pfgBf9hWLOxsWe+R7sJq5bjD+8ybXprmt61mA==} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/performance-types@0.2.3': - resolution: - { integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ== } + '@firebase/performance-types@0.2.4': + resolution: {integrity: sha512-kJSEk7b0uhpcPRyL4SQ/GPujLqk52XNKcXlnsKDbWGAb9vugcLvOU3u6zfEdwd+d8hWJb5S5ZizV1JFFI0nkKg==} - '@firebase/performance@0.7.9': - resolution: - { integrity: sha512-UzybENl1EdM2I1sjYm74xGt/0JzRnU/0VmfMAKo2LSpHJzaj77FCLZXmYQ4oOuE+Pxtt8Wy2BVJEENiZkaZAzQ== } + '@firebase/performance@0.7.13': + resolution: {integrity: sha512-1u6fuXP9cj0s+lkTFAspr/ttfPebPbEdpx+5Wdr4mPZbp8qH2KCMxOddEAR1ZMRa5GI0E7hDYSnolEmbqOFOAg==} peerDependencies: '@firebase/app': 0.x - '@firebase/remote-config-compat@0.2.20': - resolution: - { integrity: sha512-P/ULS9vU35EL9maG7xp66uljkZgcPMQOxLj3Zx2F289baTKSInE6+YIkgHEi1TwHoddC/AFePXPpshPlEFkbgg== } + '@firebase/remote-config-compat@0.2.28': + resolution: {integrity: sha512-kEO9Gn6fbmVj7eNUtZ6d59mLgUDUD0qo7aCicGOWNfuRWTaUv3CF9DMYychO61zaEQ3cfA+CEny4V1E8A1gRGA==} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/remote-config-types@0.5.0': - resolution: - { integrity: sha512-vI3bqLoF14L/GchtgayMiFpZJF+Ao3uR8WCde0XpYNkSokDpAKca2DxvcfeZv7lZUqkUwQPL2wD83d3vQ4vvrg== } + '@firebase/remote-config-types@0.5.1': + resolution: {integrity: sha512-cX/1LT6KQwkXzck2eSzeKnuvXZCyr8qaPpDcikoJs7jmI+oBOXixpDLeDtWj1U6GNMkIoXrEDNoyT2Ypcyp5/A==} - '@firebase/remote-config@0.7.0': - resolution: - { integrity: sha512-dX95X6WlW7QlgNd7aaGdjAIZUiQkgWgNS+aKNu4Wv92H1T8Ue/NDUjZHd9xb8fHxLXIHNZeco9/qbZzr500MjQ== } + '@firebase/remote-config@0.9.1': + resolution: {integrity: sha512-nzQUSJnk1zAZEl2Q5O3I7Z61cYLK5JI4H6wyyOiHkVZ+bmgy1YXNNMptNbVjixMQ/eCzgA6nZRaC+1eBcJGUFA==} peerDependencies: '@firebase/app': 0.x - '@firebase/rules-unit-testing@5.0.0': - resolution: - { integrity: sha512-C6+d3Msgjnqay2ml663ChvKYoD8VsQ+TIa0e+fGq0LFC0CKSPlacT1EVGL/ryo6Rc+wFs7Fpqz3fRlYdUEa2bA== } - engines: { node: '>=20.0.0' } + '@firebase/rules-unit-testing@5.0.1': + resolution: {integrity: sha512-EvbxUvgoY2cG7vgtdhKc7gjalKzeO3AWr2NiUuyEEmcXaSaOJanV3hXLj3Viigs+Y/jFYQmtVPpSoiwUs/ZlPg==} + engines: {node: '>=20.0.0'} peerDependencies: firebase: ^12.0.0 - '@firebase/storage-compat@0.4.0': - resolution: - { integrity: sha512-vDzhgGczr1OfcOy285YAPur5pWDEvD67w4thyeCUh6Ys0izN9fNYtA1MJERmNBfqjqu0lg0FM5GLbw0Il21M+g== } - engines: { node: '>=20.0.0' } + '@firebase/storage-compat@0.4.4': + resolution: {integrity: sha512-qSRgCB9f2R/nCp8t/8OC101cIFBFeUazlRInOMdzbnLzvrQBzEfx19SrR4pvdj/0+M+P/y8AK/a2s+3EB+B1Pw==} + engines: {node: '>=20.0.0'} peerDependencies: + '@firebase/app': 0.x '@firebase/app-compat': 0.x - '@firebase/storage-types@0.8.3': - resolution: - { integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg== } + '@firebase/storage-types@0.8.4': + resolution: {integrity: sha512-BT7cwxJOx8SWwlQfrlC+bD/Sk3Cw+1odCi8UZNFNWTVZoPsBnA5W+mqtZzVnvsdJpXCFGSGQ7R7vOR6dtM/BRA==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/storage@0.14.0': - resolution: - { integrity: sha512-xWWbb15o6/pWEw8H01UQ1dC5U3rf8QTAzOChYyCpafV6Xki7KVp3Yaw2nSklUwHEziSWE9KoZJS7iYeyqWnYFA== } - engines: { node: '>=20.0.0' } + '@firebase/storage@0.14.4': + resolution: {integrity: sha512-jfzEWZb3Fpsq3FwAB2ifoc8mcSh935qXdDou3TpyjDWa45hhNcZUv8/w28/10njByhfK7snbakKN30nwnzQ3/w==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/util@1.13.0': - resolution: - { integrity: sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ== } - engines: { node: '>=20.0.0' } + '@firebase/util@1.15.2': + resolution: {integrity: sha512-974pWIZVLDMc5GW5YAsj8y0XxULxIy/sPUy7tsxmWbF93KRIyh9xpuHlh0zDL+shUcf5nHDjFOg9YLiQ763eiA==} + engines: {node: '>=20.0.0'} - '@firebase/webchannel-wrapper@1.0.5': - resolution: - { integrity: sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw== } + '@firebase/webchannel-wrapper@1.0.6': + resolution: {integrity: sha512-Vr/Mqu79dMwGRAyGbJ4uN4+BtXB3/mRTdzetD1daWNeG8QaWuzhhbG77GltO5c0yYmYls8i250iX73624GJd7Q==} - '@floating-ui/core@1.7.3': - resolution: - { integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w== } + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} - '@floating-ui/dom@1.7.4': - resolution: - { integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA== } + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} - '@floating-ui/react-dom@2.1.6': - resolution: - { integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw== } + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' '@floating-ui/react@0.26.28': - resolution: - { integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw== } + resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.10': - resolution: - { integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ== } - - '@foliojs-fork/fontkit@1.9.2': - resolution: - { integrity: sha512-IfB5EiIb+GZk+77TRB86AHroVaqfq8JRFlUbz0WEwsInyCG0epX2tCPOy+UfaWPju30DeVoUAXfzWXmhn753KA== } + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} - '@foliojs-fork/linebreak@1.1.2': - resolution: - { integrity: sha512-ZPohpxxbuKNE0l/5iBJnOAfUaMACwvUIKCvqtWGKIMv1lPYoNjYXRfhi9FeeV9McBkBLxsMFWTVVhHJA8cyzvg== } + '@google-cloud/cloud-sql-connector@1.11.3': + resolution: {integrity: sha512-dPnHkcabbH5LAksAQl99SJpC0HuG3YZwjcdcOxdz2QW58vOnGdfQ96d/Hpzl22h3eA03rKG0kMpEplC40xWtTQ==} + engines: {node: '>=22'} - '@foliojs-fork/pdfkit@0.15.3': - resolution: - { integrity: sha512-Obc0Wmy3bm7BINFVvPhcl2rnSSK61DQrlHU8aXnAqDk9LCjWdUOPwhgD8Ywz5VtuFjRxmVOM/kQ/XLIBjDvltw== } + '@google-cloud/firestore@7.11.6': + resolution: {integrity: sha512-EW/O8ktzwLfyWBOsNuhRoMi8lrC3clHM5LVFhGvO1HCsLozCOOXRAlHrYBoE6HL42Sc8yYMuCb2XqcnJ4OOEpw==} + engines: {node: '>=14.0.0'} - '@foliojs-fork/restructure@2.0.2': - resolution: - { integrity: sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA== } + '@google-cloud/firestore@8.7.1': + resolution: {integrity: sha512-Hp/WI8sH569ANitsko6RNvCUkzTCYudHoINOkQjiJq2FBG6kKnofBAW7PtS823cu6RMxHqK2RxRcspdjrRpUFA==} + engines: {node: '>=18'} - '@formatjs/ecma402-abstract@2.3.6': - resolution: - { integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw== } + '@google-cloud/functions-framework@5.0.5': + resolution: {integrity: sha512-/w+OB1MxJux1uO9KRud4CRPLouaB7bZcy0v6STfFVh7yqafZ1L5coWIpseoKPLUgyNfawyoEfE2mEBDRZNGL2w==} + engines: {node: '>=10.0.0'} + hasBin: true - '@formatjs/fast-memoize@2.2.7': - resolution: - { integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ== } + '@google-cloud/paginator@5.0.2': + resolution: {integrity: sha512-DJS3s0OVH4zFDB1PzjxAsHqJT6sKVbRwwML0ZBP9PbU7Yebtu/7SWMRzvO2J3nUi9pRNITCfu4LJeooM2w4pjg==} + engines: {node: '>=14.0.0'} - '@formatjs/icu-messageformat-parser@2.11.4': - resolution: - { integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw== } + '@google-cloud/paginator@6.1.0': + resolution: {integrity: sha512-9bxQ/QNhcq5c6ra75khWjA5Q9UHWp0vQnhwesmqPpLLF5PxmxCIsadIA5ssLxKted4/iZ2RlRPkW/E8p68W8cg==} + engines: {node: '>=18'} - '@formatjs/icu-skeleton-parser@1.8.16': - resolution: - { integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ== } + '@google-cloud/precise-date@5.2.0': + resolution: {integrity: sha512-ckZ1elVT/JXbO4kxltiT8tumYnTXGIY7OFrDMAJyVWAte/rUYiCuH1YbaKLQrZpYDp522xgTfPqqW/VxfXFdgA==} + engines: {node: '>=18'} - '@formatjs/intl-localematcher@0.6.2': - resolution: - { integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA== } + '@google-cloud/projectify@4.0.0': + resolution: {integrity: sha512-MmaX6HeSvyPbWGwFq7mXdo0uQZLGBYCwziiLIGq5JVX+/bdI3SAq6bP98trV5eTWfLuvsMcIC1YJOF2vfteLFA==} + engines: {node: '>=14.0.0'} - '@google-cloud/cloud-sql-connector@1.8.5': - resolution: - { integrity: sha512-CXOGLf/BUhZu5SoWKN8YqzcVQh8NSJi8bbeU06lZCh8f7aiNRfEmG8mG9hQcrl14u/WCq40fkqwQjADJvcO+Tw== } - engines: { node: '>=18' } + '@google-cloud/projectify@5.2.0': + resolution: {integrity: sha512-u4lTO+UI9bwyd/qaVkhVpp57jVH0Pc7wkHE0snZkpQyoKheHDJwmfStao8cWXSF03DmrQltLLSoDjM2CGBpFJA==} + engines: {node: '>=18'} - '@google-cloud/firestore@7.11.6': - resolution: - { integrity: sha512-EW/O8ktzwLfyWBOsNuhRoMi8lrC3clHM5LVFhGvO1HCsLozCOOXRAlHrYBoE6HL42Sc8yYMuCb2XqcnJ4OOEpw== } - engines: { node: '>=14.0.0' } - - '@google-cloud/functions-framework@4.0.1': - resolution: - { integrity: sha512-/ui6HI2yNVPNQXGCR+3FMMUEXqm1vMt+xh7oS+rqpVeDjjAYmFYyER1SDYlwvhau/hE53vSUyaDbicb/ilFzJA== } - engines: { node: '>=10.0.0' } - deprecated: Added a breaking change by upgrading expressjs from v4 to v5. If you want to use expressvs v5, update the 5.0.0, if you want to keep using expressjs v4, downgrade to 4.0.0 - hasBin: true + '@google-cloud/promisify@4.0.0': + resolution: {integrity: sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g==} + engines: {node: '>=14'} - '@google-cloud/paginator@5.0.2': - resolution: - { integrity: sha512-DJS3s0OVH4zFDB1PzjxAsHqJT6sKVbRwwML0ZBP9PbU7Yebtu/7SWMRzvO2J3nUi9pRNITCfu4LJeooM2w4pjg== } - engines: { node: '>=14.0.0' } + '@google-cloud/promisify@5.1.0': + resolution: {integrity: sha512-/j9zzWDxsgKg0hMuFBmLGI8ES9xj4DjXvQnDCKl0w5ed7WE3CGsgHmUoC35rvfBXshSW+5StQGnCUD+RBqITKA==} + engines: {node: '>=18'} - '@google-cloud/paginator@6.0.0': - resolution: - { integrity: sha512-g5nmMnzC+94kBxOKkLGpK1ikvolTFCC3s2qtE4F+1EuArcJ7HHC23RDQVt3Ra3CqpUYZ+oXNKZ8n5Cn5yug8DA== } - engines: { node: '>=18' } + '@google-cloud/pubsub@5.3.1': + resolution: {integrity: sha512-xXAQBVVrFviWz8L8yDKEqv1ziVw/gMSpYHt3IxSYRSY0fTyjis+xOrKJILj8dd8PAUHGnGiAIYuTprflkE9jsQ==} + engines: {node: '>=18'} - '@google-cloud/precise-date@5.0.0': - resolution: - { integrity: sha512-9h0Gvw92EvPdE8AK8AgZPbMnH5ftDyPtKm7/KUfcJVaPEPjwGDsJd1QV0H8esBDV4II41R/2lDWH1epBqIoKUw== } - engines: { node: '>=18' } + '@google-cloud/storage@7.22.0': + resolution: {integrity: sha512-W98gTQOAntEeEQ7/pZxSQXxfUO5CiQcXJRsxBpUa6UU25n8YN/VtogPBi0H+MAmUrn/6bY/sBhFansoWEsr2/g==} + engines: {node: '>=18'} - '@google-cloud/projectify@4.0.0': - resolution: - { integrity: sha512-MmaX6HeSvyPbWGwFq7mXdo0uQZLGBYCwziiLIGq5JVX+/bdI3SAq6bP98trV5eTWfLuvsMcIC1YJOF2vfteLFA== } - engines: { node: '>=14.0.0' } + '@googleapis/sqladmin@37.0.0': + resolution: {integrity: sha512-LBxSb3V+avoqsTHY/KsSR4/3FGnRfUw8yhGjx6ihTE5w7Y6l1EZkcx62aCCfCNkaigCQDvgiJG2Pq2jxN1sfag==} + engines: {node: '>=12.0.0'} - '@google-cloud/projectify@5.0.0': - resolution: - { integrity: sha512-XXQLaIcLrOAMWvRrzz+mlUGtN6vlVNja3XQbMqRi/V7XJTAVwib3VcKd7oRwyZPkp7rBVlHGcaqdyGRrcnkhlA== } - engines: { node: '>=18' } + '@grpc/grpc-js@1.14.4': + resolution: {integrity: sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==} + engines: {node: '>=12.10.0'} - '@google-cloud/promisify@4.0.0': - resolution: - { integrity: sha512-Orxzlfb9c67A15cq2JQEyVc7wEsmFBmHjZWZYQMUyJ1qivXyMwdyNOs9odi79hze+2zqdTtu1E19IM/FtqZ10g== } - engines: { node: '>=14' } - - '@google-cloud/promisify@5.0.0': - resolution: - { integrity: sha512-N8qS6dlORGHwk7WjGXKOSsLjIjNINCPicsOX6gyyLiYk7mq3MtII96NZ9N2ahwA2vnkLmZODOIH9rlNniYWvCQ== } - engines: { node: '>=18' } - - '@google-cloud/pubsub@5.2.0': - resolution: - { integrity: sha512-YNSRBo85mgPQ9QuuzAHjmLwngIwmy2RjAUAoPl2mOL2+bCM0cAVZswPb8ylcsWJP7PgDJlck+ybv0MwJ9AM0sg== } - engines: { node: '>=18' } - - '@google-cloud/storage@7.18.0': - resolution: - { integrity: sha512-r3ZwDMiz4nwW6R922Z1pwpePxyRwE5GdevYX63hRmAQUkUQJcBH/79EnQPDv5cOv1mFBgevdNWQfi3tie3dHrQ== } - engines: { node: '>=14' } - - '@googleapis/sqladmin@31.1.0': - resolution: - { integrity: sha512-k4lXSFCFuZmWtYuW/OH/PcHimZP5P/uDLK0+ACbgoZFB8qmlgcyF0531aJt6JHIdBwCRlHXZlMW4LDC5Gqra5w== } - engines: { node: '>=12.0.0' } - - '@grpc/grpc-js@1.14.3': - resolution: - { integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA== } - engines: { node: '>=12.10.0' } - - '@grpc/grpc-js@1.9.15': - resolution: - { integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ== } - engines: { node: ^8.13.0 || >=10.10.0 } + '@grpc/grpc-js@1.9.16': + resolution: {integrity: sha512-wE4Ut/olIzfKqp631XrG+wbF0v1vWFN4YL9FyXC2LJiG33DsV7PLzURjrCvY/6je2ntdRkeLpPDluzSRGaVltQ==} + engines: {node: ^8.13.0 || >=10.10.0} '@grpc/proto-loader@0.7.15': - resolution: - { integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} + engines: {node: '>=6'} hasBin: true - '@grpc/proto-loader@0.8.0': - resolution: - { integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ== } - engines: { node: '>=6' } + '@grpc/proto-loader@0.8.1': + resolution: {integrity: sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==} + engines: {node: '>=6'} hasBin: true '@hapi/address@5.1.1': - resolution: - { integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==} + engines: {node: '>=14.0.0'} '@hapi/formula@3.0.2': - resolution: - { integrity: sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw== } + resolution: {integrity: sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==} '@hapi/hoek@11.0.7': - resolution: - { integrity: sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ== } + resolution: {integrity: sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==} '@hapi/pinpoint@2.0.1': - resolution: - { integrity: sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q== } + resolution: {integrity: sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==} - '@hapi/tlds@1.1.5': - resolution: - { integrity: sha512-Vq/1gnIIsvFUpKlDdfrPd/ssHDpAyBP/baVukh3u2KSG2xoNjsnRNjQiPmuyPPGqsn1cqVWWhtZHfOBaLizFRQ== } - engines: { node: '>=14.0.0' } + '@hapi/tlds@1.1.7': + resolution: {integrity: sha512-MgNjRwy9Ti92yVAixLmDc8dd1bJIKwO9qlWCfFQRwRmUEDPQHYn4G6hwPFvFGUTzAa0FsS+inMjLin7GnyBRhA==} + engines: {node: '>=14.0.0'} '@hapi/topo@6.0.2': - resolution: - { integrity: sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg== } + resolution: {integrity: sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==} - '@headlessui/react@2.2.9': - resolution: - { integrity: sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ== } - engines: { node: '>=10' } + '@headlessui/react@2.2.10': + resolution: {integrity: sha512-5pVLNK9wlpxTUTy9GpgbX/SdcRh+HBnPktjM2wbiLTH4p+2EPHBO1aoSryUCuKUIItdDWO9ITlhUL8UnUN/oIA==} + engines: {node: '>=10'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc '@heroicons/react@2.2.0': - resolution: - { integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ== } + resolution: {integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==} peerDependencies: react: '>= 16 || ^19.0.0-rc' - '@hono/node-server@1.19.9': - resolution: - { integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw== } - engines: { node: '>=18.14.1' } + '@hono/node-server@2.1.0': + resolution: {integrity: sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg==} + engines: {node: '>=20'} peerDependencies: - hono: '>=4.11.7' + hono: ^4 '@hookform/devtools@4.4.0': - resolution: - { integrity: sha512-Mtlic+uigoYBPXlfvPBfiYYUZuyMrD3pTjDpVIhL6eCZTvQkHsKBSKeZCvXWUZr8fqrkzDg27N+ZuazLKq6Vmg== } + resolution: {integrity: sha512-Mtlic+uigoYBPXlfvPBfiYYUZuyMrD3pTjDpVIhL6eCZTvQkHsKBSKeZCvXWUZr8fqrkzDg27N+ZuazLKq6Vmg==} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 react-dom: ^16.8.0 || ^17 || ^18 || ^19 '@hookform/error-message@2.0.1': - resolution: - { integrity: sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg== } + resolution: {integrity: sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' react-hook-form: ^7.0.0 - '@hookform/resolvers@5.2.2': - resolution: - { integrity: sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA== } - peerDependencies: + '@hookform/resolvers@5.7.1': + resolution: {integrity: sha512-8wS/P4UDr5sQDe4nFaV51TVyfDPrWgNIXweqG0Bs9Z5LSuzKLb+RQNPvkN2oHM5SRrJyWrVH/F+LOUcFjUyvwQ==} + peerDependencies: + '@sinclair/typebox': '>=0.25.24' + '@standard-schema/spec': ^1.0.0 + '@typeschema/main': '>=0.13.7' + '@vinejs/vine': ^2.0.0 || ^3.0.0 || ^4.0.0 + ajv: ^8.12.0 + ajv-errors: ^3.0.0 + ajv-formats: ^2.1.1 + arktype: ^2.0.0 + ata-validator: ^1.2.0 + class-transformer: '>=0.4.0' + class-validator: '>=0.12.0' + computed-types: ^1.0.0 + effect: ^3.10.3 + fluentvalidation-ts: ^3.0.0 + fp-ts: ^2.7.0 + io-ts: ^2.0.0 + joi: ^17.0.0 + nope-validator: '>=0.12.0' react-hook-form: ^7.55.0 + superstruct: '>=0.12.0' + typanion: ^3.3.2 + valibot: '>=0.31.0 || ^1.0.0-beta.4 || ^1.0.0-rc' + vest: '>=3.0.0' + yup: ^1.0.0 + zod: ^3.25.0 || ^4.0.0 + peerDependenciesMeta: + '@sinclair/typebox': + optional: true + '@standard-schema/spec': + optional: true + '@typeschema/main': + optional: true + '@vinejs/vine': + optional: true + ajv: + optional: true + ajv-errors: + optional: true + ajv-formats: + optional: true + arktype: + optional: true + ata-validator: + optional: true + class-transformer: + optional: true + class-validator: + optional: true + computed-types: + optional: true + effect: + optional: true + fluentvalidation-ts: + optional: true + fp-ts: + optional: true + io-ts: + optional: true + joi: + optional: true + nope-validator: + optional: true + superstruct: + optional: true + typanion: + optional: true + valibot: + optional: true + vest: + optional: true + yup: + optional: true + zod: + optional: true - '@humanfs/core@0.19.1': - resolution: - { integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== } - engines: { node: '>=18.18.0' } + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: - { integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== } - engines: { node: '>=18.18.0' } + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} - '@humanwhocodes/module-importer@1.0.1': - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: '>=12.22' } + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} - '@humanwhocodes/retry@0.3.1': - resolution: - { integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== } - engines: { node: '>=18.18' } + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} '@humanwhocodes/retry@0.4.3': - resolution: - { integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@icons/material@0.2.4': - resolution: - { integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== } + resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==} peerDependencies: react: '*' '@inquirer/ansi@1.0.2': - resolution: - { integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} '@inquirer/checkbox@4.3.2': - resolution: - { integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1627,9 +1374,8 @@ packages: optional: true '@inquirer/confirm@5.1.21': - resolution: - { integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1637,9 +1383,8 @@ packages: optional: true '@inquirer/core@10.3.2': - resolution: - { integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1647,9 +1392,8 @@ packages: optional: true '@inquirer/editor@4.2.23': - resolution: - { integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1657,9 +1401,8 @@ packages: optional: true '@inquirer/expand@4.0.23': - resolution: - { integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew== } - engines: { node: '>=18' } + resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1667,9 +1410,8 @@ packages: optional: true '@inquirer/external-editor@1.0.3': - resolution: - { integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1677,14 +1419,12 @@ packages: optional: true '@inquirer/figures@1.0.15': - resolution: - { integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g== } - engines: { node: '>=18' } + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} '@inquirer/input@4.3.1': - resolution: - { integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g== } - engines: { node: '>=18' } + resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1692,9 +1432,8 @@ packages: optional: true '@inquirer/number@3.0.23': - resolution: - { integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1702,9 +1441,8 @@ packages: optional: true '@inquirer/password@4.0.23': - resolution: - { integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1712,9 +1450,8 @@ packages: optional: true '@inquirer/prompts@7.10.1': - resolution: - { integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1722,9 +1459,8 @@ packages: optional: true '@inquirer/rawlist@4.1.11': - resolution: - { integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1732,9 +1468,8 @@ packages: optional: true '@inquirer/search@3.2.2': - resolution: - { integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1742,9 +1477,8 @@ packages: optional: true '@inquirer/select@4.4.2': - resolution: - { integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w== } - engines: { node: '>=18' } + resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -1752,236 +1486,173 @@ packages: optional: true '@inquirer/type@3.0.10': - resolution: - { integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@interactjs/types@1.10.27': - resolution: - { integrity: sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA== } - - '@internationalized/date@3.10.1': - resolution: - { integrity: sha512-oJrXtQiAXLvT9clCf1K4kxp3eKsQhIaZqxEyowkBcsvZDdZkbWrVmnGknxs5flTD0VGsxrxKgBCZty1EzoiMzA== } - - '@internationalized/message@3.1.8': - resolution: - { integrity: sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA== } + '@interactjs/types@1.10.28': + resolution: {integrity: sha512-vPmu4HWmsg0Fub3BPKGk7DuozkhgVK84TVkziY47v8Uh0A14gph55/vVRaQN4oZov0lGNJNK6Jyddim2qd/4vw==} - '@internationalized/number@3.6.5': - resolution: - { integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g== } + '@internationalized/date@3.12.3': + resolution: {integrity: sha512-fuLX+3ZKLsxI73y8b01EG/WjHb6gE6weCqlfawPO27kBWGMh9G1yH6Csv1uU7/cac9H2GHmOMt6CjmuQ1aia4Q==} - '@internationalized/string@3.2.7': - resolution: - { integrity: sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A== } + '@internationalized/number@3.6.7': + resolution: {integrity: sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==} - '@isaacs/balanced-match@4.0.1': - resolution: - { integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ== } - engines: { node: 20 || >=22 } - - '@isaacs/brace-expansion@5.0.1': - resolution: - { integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ== } - engines: { node: 20 || >=22 } + '@internationalized/string@3.2.10': + resolution: {integrity: sha512-PDx6//vHSpRnHfxqMqto11zQvhsaU74O3mKv2F/0eicGZcl9NLjQmGlbHz/LsJh5tLKp4A4L7ZVTzN1/MmMTvA==} '@isaacs/cliui@8.0.2': - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: '>=12' } - - '@isaacs/cliui@9.0.0': - resolution: - { integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} '@isaacs/fs-minipass@4.0.1': - resolution: - { integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} '@istanbuljs/load-nyc-config@1.1.0': - resolution: - { integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== } - engines: { node: '>=8' } - - '@istanbuljs/schema@0.1.3': - resolution: - { integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== } - engines: { node: '>=8' } - - '@jest/console@30.0.4': - resolution: - { integrity: sha512-tMLCDvBJBwPqMm4OAiuKm2uF5y5Qe26KgcMn+nrDSWpEW+eeFmqA0iO4zJfL16GP7gE3bUUQ3hIuUJ22AqVRnw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/core@30.0.4': - resolution: - { integrity: sha512-MWScSO9GuU5/HoWjpXAOBs6F/iobvK1XlioelgOM9St7S0Z5WTI9kjCQLPeo4eQRRYusyLW25/J7J5lbFkrYXw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.6': + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} + engines: {node: '>=8'} + + '@jest/console@30.4.1': + resolution: {integrity: sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/core@30.4.2': + resolution: {integrity: sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - '@jest/diff-sequences@30.0.1': - resolution: - { integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/environment@30.0.4': - resolution: - { integrity: sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/expect-utils@30.0.4': - resolution: - { integrity: sha512-EgXecHDNfANeqOkcak0DxsoVI4qkDUsR7n/Lr2vtmTBjwLPBnnPOF71S11Q8IObWzxm2QgQoY6f9hzrRD3gHRA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/expect@30.0.4': - resolution: - { integrity: sha512-Z/DL7t67LBHSX4UzDyeYKqOxE/n7lbrrgEwWM3dGiH5Dgn35nk+YtgzKudmfIrBI8DRRrKYY5BCo3317HZV1Fw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/fake-timers@30.0.4': - resolution: - { integrity: sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/get-type@30.0.1': - resolution: - { integrity: sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/globals@30.0.4': - resolution: - { integrity: sha512-avyZuxEHF2EUhFF6NEWVdxkRRV6iXXcIES66DLhuLlU7lXhtFG/ySq/a8SRZmEJSsLkNAFX6z6mm8KWyXe9OEA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/pattern@30.0.1': - resolution: - { integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/reporters@30.0.4': - resolution: - { integrity: sha512-6ycNmP0JSJEEys1FbIzHtjl9BP0tOZ/KN6iMeAKrdvGmUsa1qfRdlQRUDKJ4P84hJ3xHw1yTqJt4fvPNHhyE+g== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + '@jest/diff-sequences@30.4.0': + resolution: {integrity: sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/environment@30.4.1': + resolution: {integrity: sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/expect-utils@30.4.1': + resolution: {integrity: sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/expect@30.4.1': + resolution: {integrity: sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/fake-timers@30.4.1': + resolution: {integrity: sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/get-type@30.1.0': + resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/globals@30.4.1': + resolution: {integrity: sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/pattern@30.4.0': + resolution: {integrity: sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/reporters@30.4.1': + resolution: {integrity: sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - '@jest/schemas@30.0.1': - resolution: - { integrity: sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + '@jest/schemas@30.4.1': + resolution: {integrity: sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/snapshot-utils@30.0.4': - resolution: - { integrity: sha512-BEpX8M/Y5lG7MI3fmiO+xCnacOrVsnbqVrcDZIT8aSGkKV1w2WwvRQxSWw5SIS8ozg7+h8tSj5EO1Riqqxcdag== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + '@jest/snapshot-utils@30.4.1': + resolution: {integrity: sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} '@jest/source-map@30.0.1': - resolution: - { integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/test-result@30.0.4': - resolution: - { integrity: sha512-Mfpv8kjyKTHqsuu9YugB6z1gcdB3TSSOaKlehtVaiNlClMkEHY+5ZqCY2CrEE3ntpBMlstX/ShDAf84HKWsyIw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/test-sequencer@30.0.4': - resolution: - { integrity: sha512-bj6ePmqi4uxAE8EHE0Slmk5uBYd9Vd/PcVt06CsBxzH4bbA8nGsI1YbXl/NH+eii4XRtyrRx+Cikub0x8H4vDg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/transform@30.0.4': - resolution: - { integrity: sha512-atvy4hRph/UxdCIBp+UB2jhEA/jJiUeGZ7QPgBi9jUUKNgi3WEoMXGNG7zbbELG2+88PMabUNCDchmqgJy3ELg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@jest/types@30.0.1': - resolution: - { integrity: sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.4': - resolution: - { integrity: sha512-6PyZBYKnnVNqOSB0YFly+62R7dmov8segT27A+RVTBVd4iAE6kbW9QBJGlyR2yG4D4ohzhZSTIu7BK1UTtmFFA== } + resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/test-result@30.4.1': + resolution: {integrity: sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/test-sequencer@30.4.1': + resolution: {integrity: sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/transform@30.4.1': + resolution: {integrity: sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/types@30.4.1': + resolution: {integrity: sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0': + resolution: {integrity: sha512-qvsTEwEFefhdirGOPnu9Wp6ChfIwy2dBCRuETU3uE+4cC+PFoxMSiiEhxk4lOluA34eARHA0OxqsEUYDqRMgeQ==} peerDependencies: typescript: '>= 4.3.x' - vite: '>=7.1.11' + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true '@jridgewell/gen-mapping@0.3.13': - resolution: - { integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== } + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} '@jridgewell/remapping@2.3.5': - resolution: - { integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== } + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} '@jridgewell/resolve-uri@3.1.2': - resolution: - { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} '@jridgewell/sourcemap-codec@1.5.5': - resolution: - { integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== } + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@jridgewell/trace-mapping@0.3.31': - resolution: - { integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== } - - '@jridgewell/trace-mapping@0.3.9': - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@js-sdsl/ordered-map@4.4.2': - resolution: - { integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== } + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} '@jsdevtools/ono@7.1.3': - resolution: - { integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== } - - '@lit-labs/ssr-dom-shim@1.5.0': - resolution: - { integrity: sha512-HLomZXMmrCFHSRKESF5vklAKsDY7/fsT/ZhqCu3V0UoW/Qbv8wxmO4W9bx4KnCCF2Zak4yuk+AGraK/bPmI4kA== } + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - '@lit/context@1.1.6': - resolution: - { integrity: sha512-M26qDE6UkQbZA2mQ3RjJ3Gzd8TxP+/0obMgE5HfkfLhEEyYE3Bui4A5XHiGPjy0MUGAyxB3QgVuw2ciS0kHn6A== } + '@lit-labs/ssr-dom-shim@1.6.0': + resolution: {integrity: sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==} '@lit/reactive-element@2.1.2': - resolution: - { integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A== } + resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==} + + '@lit/task@1.0.3': + resolution: {integrity: sha512-1gJGJl8WON+2j0y9xfcD+XsS1rvcy3XDgsIhcdUW++yTR8ESjZW6o7dn8M8a4SZM8NnJe6ynS2cKWwsbfLOurg==} '@mdx-js/react@3.1.1': - resolution: - { integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw== } + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} peerDependencies: '@types/react': '>=16' react: '>=16' - '@modelcontextprotocol/sdk@1.26.0': - resolution: - { integrity: sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg== } - engines: { node: '>=18' } + '@modelcontextprotocol/sdk@1.30.0': + resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==} + engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 zod: ^3.25 || ^4.0 @@ -1989,1130 +1660,572 @@ packages: '@cfworker/json-schema': optional: true - '@napi-rs/wasm-runtime@0.2.12': - resolution: - { integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ== } + '@napi-rs/wasm-runtime@1.2.2': + resolution: {integrity: sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} + peerDependencies: + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3 - '@nodelib/fs.scandir@2.1.5': - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: '>= 8' } + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} - '@nodelib/fs.stat@2.0.5': - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: '>= 8' } + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} - '@nodelib/fs.walk@1.2.8': - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: '>= 8' } + '@nodable/entities@3.0.0': + resolution: {integrity: sha512-8L9xFeTYKhm49xfIypoe2W5wV1m/3Z58kT+7kR9A8OyFxcPduI4VmxaUMQyKYrRjUoLLSXv6EKKID5Tvj9cUVw==} - '@npmcli/agent@4.0.0': - resolution: - { integrity: sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA== } - engines: { node: ^20.17.0 || >=22.9.0 } + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - '@npmcli/fs@5.0.0': - resolution: - { integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og== } - engines: { node: ^20.17.0 || >=22.9.0 } + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - '@npmcli/promise-spawn@3.0.0': - resolution: - { integrity: sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} '@open-wc/dedupe-mixin@1.4.0': - resolution: - { integrity: sha512-Sj7gKl1TLcDbF7B6KUhtvr+1UCxdhMbNY5KxdU5IfMFWqL8oy1ZeAcCANjoB1TL0AJTcPmcCFsCbHf8X2jGDUA== } + resolution: {integrity: sha512-Sj7gKl1TLcDbF7B6KUhtvr+1UCxdhMbNY5KxdU5IfMFWqL8oy1ZeAcCANjoB1TL0AJTcPmcCFsCbHf8X2jGDUA==} - '@opentelemetry/api@1.9.0': - resolution: - { integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== } - engines: { node: '>=8.0.0' } + '@opentelemetry/api@1.9.1': + resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} + engines: {node: '>=8.0.0'} '@opentelemetry/core@1.30.1': - resolution: - { integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' '@opentelemetry/semantic-conventions@1.28.0': - resolution: - { integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} + engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.34.0': - resolution: - { integrity: sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA== } - engines: { node: '>=14' } + '@opentelemetry/semantic-conventions@1.39.0': + resolution: {integrity: sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==} + engines: {node: '>=14'} - '@pdf-lib/standard-fonts@1.0.0': - resolution: - { integrity: sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA== } + '@oxc-parser/binding-android-arm-eabi@0.127.0': + resolution: {integrity: sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@pdf-lib/upng@1.0.1': - resolution: - { integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ== } + '@oxc-parser/binding-android-arm64@0.127.0': + resolution: {integrity: sha512-b5jtVTH6AU5CJXHNdj7Jj9IEiR9yVjjnwHzPJhGyHGPdcsZSzBCkS9GBbV33niRMvKthDwQRFRJfI4a+k4PvYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@pkgjs/parseargs@0.11.0': - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: '>=14' } + '@oxc-parser/binding-darwin-arm64@0.127.0': + resolution: {integrity: sha512-obCE8B7ISKkJidjlhv9xRGJPOSDG2Yu6PRga9Ruaz35uintHxbp1Ki/Yc71wx4rj3Edrm0a1kzG1TAwit0wFpg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] - '@pkgr/core@0.2.9': - resolution: - { integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + '@oxc-parser/binding-darwin-x64@0.127.0': + resolution: {integrity: sha512-JL6Xb5IwPQT8rUzlpsX7E+AgfcdNklXNPFp8pjCQQ5MQOQo5rtEB2ui+3Hgg9Sn7Y9Egj6YOLLiHhLpdAe12Aw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] - '@pnpm/config.env-replace@1.1.0': - resolution: - { integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== } - engines: { node: '>=12.22.0' } + '@oxc-parser/binding-freebsd-x64@0.127.0': + resolution: {integrity: sha512-SDQ/3MQFw58fqQz3Z1PhSKFF3JoCF4gmlNjziDm8X02tTahCw0qJbd7FGPDKw1i4VTBZene9JPyC3mHtSvi+wA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] - '@pnpm/network.ca-file@1.0.2': - resolution: - { integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== } - engines: { node: '>=12.22.0' } + '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0': + resolution: {integrity: sha512-Av+D1MIqzV0YMGPT9we2SIZaMKD7Cxs4CvXSx/yxaWHewZjYEjScpOf5igc8IILASViw4WTnjlwUdI1KzVtDHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] - '@pnpm/npm-conf@2.3.1': - resolution: - { integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== } - engines: { node: '>=12' } + '@oxc-parser/binding-linux-arm-musleabihf@0.127.0': + resolution: {integrity: sha512-Cs2fdJ8cPpFdeebj6p4dag8A4+56hPvZ0AhQQzlaLswGz1tz7bXt1nETLeorrM9+AMcWFFkqxcXwDGfTVidY8g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] - '@polka/url@1.0.0-next.29': - resolution: - { integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== } + '@oxc-parser/binding-linux-arm64-gnu@0.127.0': + resolution: {integrity: sha512-qdOfTcT6SY8gsJrrV92uyEUyjqMGPpIB5JZUG6QN5dukYd+7/j0kX6MwK1DgQj39jtUYixxPiaRUiEN1+0CXgQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@polymer/polymer@3.5.2': - resolution: - { integrity: sha512-fWwImY/UH4bb2534DVSaX+Azs2yKg8slkMBHOyGeU2kKx7Xmxp6Lee0jP8p6B3d7c1gFUPB2Z976dTUtX81pQA== } + '@oxc-parser/binding-linux-arm64-musl@0.127.0': + resolution: {integrity: sha512-EoTCZneNFU/P2qrpEM+RHmQwt+CvDkyGESG6qhr7KaegXLZwePfbrkCDfAk8/rhxbDUVGsZILX+2tqPzFtoFWA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] - '@protobufjs/aspromise@1.1.2': - resolution: - { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + '@oxc-parser/binding-linux-ppc64-gnu@0.127.0': + resolution: {integrity: sha512-zALjmZYgxFLHjXeudcDF0xFGNydTAtkAeXAr2EuC17ywCyFxcmQra4w0BMde0Yi/re4Bi4iwEoEXtYN7l6eBLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] - '@protobufjs/base64@1.1.2': - resolution: - { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + '@oxc-parser/binding-linux-riscv64-gnu@0.127.0': + resolution: {integrity: sha512-fPP8M6zQLS7Jz7o9d5ArUSuAuSK3e+WCYVrCpdzeCOejidtZExJ9tjhDrAd3HEPqARBCPmdpqxESPFqy44vkBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] - '@protobufjs/codegen@2.0.4': - resolution: - { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + '@oxc-parser/binding-linux-riscv64-musl@0.127.0': + resolution: {integrity: sha512-7IcC4Ao02oGpfnjt+X/oF4U2mllo2qoSkw5xxiXNKL9MCTsTiAC6616beOuehdxGcnz1bRoPC1RQ2f1GQDdN+g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] - '@protobufjs/eventemitter@1.1.0': - resolution: - { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + '@oxc-parser/binding-linux-s390x-gnu@0.127.0': + resolution: {integrity: sha512-pbXIhiNFHoqWeqDNLiJ9JkpHz1IM9k4DXa66x+1GTWMG7iLxtkXgE53iiuKSXwmk3zIYmaPVfBvgcAhS583K4Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@protobufjs/fetch@1.1.0': - resolution: - { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + '@oxc-parser/binding-linux-x64-gnu@0.127.0': + resolution: {integrity: sha512-MYCguB9RvBvlSd6gbuNI7QwiLoCCAlGnlRJFPrzLI6U1/9wkC/WK6LtBAUln55H1Ctqw45PWmqrobKoMhsYQzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] - '@protobufjs/float@1.0.2': - resolution: - { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + '@oxc-parser/binding-linux-x64-musl@0.127.0': + resolution: {integrity: sha512-5eY0B/bxf1xIUxb4NOTvOI3KWtBQfPWYyKAzgcrCt0mDibSZygVpO1Pz8bkeiSZ5Jj9+M09dkggG3H8I5d0Uyg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] - '@protobufjs/inquire@1.1.0': - resolution: - { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + '@oxc-parser/binding-openharmony-arm64@0.127.0': + resolution: {integrity: sha512-Gld0ajrFTUXNtdw20fVBuTQx66FA75nIVg+//pPfR3sXkuABB4mTBhl3r9JNzrJpgW//qiwxf0nWXUWGJSL3UQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] - '@protobufjs/path@1.1.2': - resolution: - { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + '@oxc-parser/binding-wasm32-wasi@0.127.0': + resolution: {integrity: sha512-T6KVD7rhLzFlwGRXMnxUFfkCZD8FHnb968wVXW1mXzgRFc5RNXOBY2mPPDZ77x5Ln76ltLMgtPg0cOkU1NSrEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] - '@protobufjs/pool@1.1.0': - resolution: - { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + '@oxc-parser/binding-win32-arm64-msvc@0.127.0': + resolution: {integrity: sha512-Ujvw4X+LD1CCGULcsQcvb4YNVoBGqt+JHgNNzGGaCImELiZLk477ifUH53gIbE7EKd933NdTi25JWEr9K2HwXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] - '@protobufjs/utf8@1.1.0': - resolution: - { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + '@oxc-parser/binding-win32-ia32-msvc@0.127.0': + resolution: {integrity: sha512-0cwxKO7KHQQQfo4Uf4B2SQrhgm+cJaP9OvFFhx52Tkg4bezsacu83GB2/In5bC415Ueeym+kXdnge/57rbSfTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] - '@react-aria/autocomplete@3.0.0-rc.4': - resolution: - { integrity: sha512-4bMMVNaCuYDZX9HM4ZNSAImZMcL/orwhLLe818+lyzmSrvGmW9h433PZxTolb0d+FnJVfn1MDY0zEWLiyI86GA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-parser/binding-win32-x64-msvc@0.127.0': + resolution: {integrity: sha512-rOrnSQSCbhI2kowr9XxE7m9a8oQXnBHjnS6j95LxxAnEZ0+Fz20WlRXG4ondQb+ejjt2KOsa65sE6++L6kUd+w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] - '@react-aria/breadcrumbs@3.5.30': - resolution: - { integrity: sha512-DZymglA70SwvDJA7GB147sUexvdDy6vWcriGrlEHhMMzBLhGB30I5J96R4pPzURLxXISrWFH56KC5rRgIqsqqg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-project/types@0.127.0': + resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} - '@react-aria/button@3.14.3': - resolution: - { integrity: sha512-iJTuEECs9im7TwrCRZ0dvuwp8Gao0+I1IuYs1LQvJQgKLpgRH2/6jAiqb2bdAcoAjdbaMs7Xe0xUwURpVNkEyA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-project/types@0.143.0': + resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} - '@react-aria/calendar@3.9.3': - resolution: - { integrity: sha512-F12UQ4zd8GIxpJxs9GAHzDD9Lby2hESHm0LF5tjsYBIOBJc5K7ICeeE5UqLMBPzgnEP5nfh1CKS8KhCB0mS7PA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-android-arm-eabi@11.24.2': + resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} + cpu: [arm] + os: [android] - '@react-aria/checkbox@3.16.3': - resolution: - { integrity: sha512-2p1haCUtERo5XavBAWNaX//dryNVnOOWfSKyzLs4UiCZR/NL0ttN+Nu/i445q0ipjLqZ6bBJtx0g0NNrubbU7Q== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-android-arm64@11.24.2': + resolution: {integrity: sha512-cl4icWaZFnLdg8m6qtnh5rBMuGbxc/ptStFHLeCNwr+2cZjkjNwQu/jYRS0CHlnPecOJMpuS5M6/BH+0J/YkEg==} + cpu: [arm64] + os: [android] - '@react-aria/collections@3.0.1': - resolution: - { integrity: sha512-C8KBQGXzVefR4I+hQmkb10t09Jt1Ivl12qgQKshmT0hV2yBESXEYWMZUxV4ggOgWDreAgCtr+Ho3X+7MzBQT8Q== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-darwin-arm64@11.24.2': + resolution: {integrity: sha512-At29QEMF6HajbQvgY8K6OXnHD1x9rad74xBEfmCB6ZqCGsdq75aK7tOYcTbOanMy8qdIBrfL3SMr3p/lfSlb9w==} + cpu: [arm64] + os: [darwin] - '@react-aria/color@3.1.3': - resolution: - { integrity: sha512-EHzsFbqzFrO1/3irEa8E8wawlQg7hRd4/Jscvl9zhplAcrWFd6L5TWl8463Z6h0J6zN1eH9T2QDEn6rivDLkkg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-darwin-x64@11.24.2': + resolution: {integrity: sha512-A5Kqr1EUj4oIL5CF4WRssq/o5P0Y11cwoFouMRmQ7YnC/A8V93nv1nb7aSU8HwcgmXropjLNkVTl4MN87cu28Q==} + cpu: [x64] + os: [darwin] - '@react-aria/combobox@3.14.1': - resolution: - { integrity: sha512-wuP/4UQrGsYXLw1Gk8G/FcnUlHuoViA9G6w3LhtUgu5Q3E5DvASJalxej3NtyYU+4w4epD1gJidzosAL0rf8Ug== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-freebsd-x64@11.24.2': + resolution: {integrity: sha512-R5xkRBRRz7ceH/P5Jrc6G7FmdUdgpLYyESFAUDVTNQ9K0sGPxcp4ljiwEwEqsvNcQ4sYbMRrWcHHBCu7ksAJVw==} + cpu: [x64] + os: [freebsd] - '@react-aria/datepicker@3.15.3': - resolution: - { integrity: sha512-0KkLYeLs+IubHXb879n8dzzKU/NWcxC9DXtv7M/ofL7vAvMSTmaceYJcMW+2gGYhJVpyYz8B6bk0W7kTxgB3jg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2': + resolution: {integrity: sha512-k/RuYL4L/R58IBn3wT5ma3Wh4k62bp1eYCFRWCmMsasUOqL+H6sW0VGFadEzKWXFFlz+2uIMoeMk9ySSZJHgbg==} + cpu: [arm] + os: [linux] - '@react-aria/dialog@3.5.32': - resolution: - { integrity: sha512-2puMjsJS2FtB8LiFuQDAdBSU4dt3lqdJn4FWt/8GL6l91RZBqp2Dnm5Obuee6rV2duNJZcSAUWsQZ/S1iW8Y2g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/disclosure@3.1.1': - resolution: - { integrity: sha512-4k8Y3CZEl+Qhou0fH7Sj7BbzvwAfi1JDL+hG7U20ZL5+MJ/VbDYuYX2gYK2KqdlbeuuzGcov3ZFQbyIVHMY+/A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/dnd@3.11.4': - resolution: - { integrity: sha512-dBrnM33Kmk76F+Pknh2WfSLIX4dsYwFzWJUIABJCPmPc80hTG0so7mfqH45ba759/6ERMfXXoodZPLtypOjYPg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/focus@3.21.2': - resolution: - { integrity: sha512-JWaCR7wJVggj+ldmM/cb/DXFg47CXR55lznJhZBh4XVqJjMKwaOOqpT5vNN7kpC1wUpXicGNuDnJDN1S/+6dhQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/focus@3.21.3': - resolution: - { integrity: sha512-FsquWvjSCwC2/sBk4b+OqJyONETUIXQ2vM0YdPAuC+QFQh2DT6TIBo6dOZVSezlhudDla69xFBd6JvCFq1AbUw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/form@3.1.3': - resolution: - { integrity: sha512-HAKnPjMiqTxoGLVbfZyGYcZQ1uu6aSeCi9ODmtZuKM5DWZZnTUjDmM1i2L6IXvF+d1kjyApyJC7VTbKZ8AI77g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/grid@3.14.6': - resolution: - { integrity: sha512-xagBKHNPu4Ovt/I5He7T/oIEq82MDMSrRi5Sw3oxSCwwtZpv+7eyKRSrFz9vrNUzNgWCcx5VHLE660bLdeVNDQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/gridlist@3.14.2': - resolution: - { integrity: sha512-c51ip0bc/lKppfrPNFHbWu1n/r0NHd9Xl114904cDxuRcElJ3H/V/3e3U9HyDy+4xioiXZIdZ75CNxtEoTmrxw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/i18n@3.12.14': - resolution: - { integrity: sha512-zYvs1FlLamFD49uneX3i5mPHrAsB3OjVpSWApTcPw8ydxOaphQDp/Q1aqrbcxlrQCcxZdXWHuvLlbkNR4+8jzw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/interactions@3.25.6': - resolution: - { integrity: sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-aria/interactions@3.26.0': - resolution: - { integrity: sha512-AAEcHiltjfbmP1i9iaVw34Mb7kbkiHpYdqieWufldh4aplWgsF11YQZOfaCJW4QoR2ML4Zzoa9nfFwLXA52R7Q== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2': + resolution: {integrity: sha512-bnHAak3ujYfH5pKk4NieFNbvYvernfoQDgwLddbZ3OtMYrem87/qjlA+u+aKG0oZcqSLGCful/6/CEA+aeAgaA==} + cpu: [arm] + os: [linux] - '@react-aria/label@3.7.23': - resolution: - { integrity: sha512-dRkuCJfsyBHPTq3WOJVHNRvNyQL4cRRLELmjYfUX9/jQKIsUW2l71YnUHZTRCSn2ZjhdAcdwq96fNcQo0hncBQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': + resolution: {integrity: sha512-vDT3KHgzYp47gmtNOqL2VNhCyl5Zv643eyxm//A68J8DeUGXrvD1pZFiaT4jSfe+RInfnn1R2yVHye4enx6RnA==} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@react-aria/landmark@3.0.8': - resolution: - { integrity: sha512-xuY8kYxCrF9C0h0Pj2lZHoxCidNfQ/SrkYWXuiN+LuBTJGCmPVif93gt7TklQ0rKJ+pKJsUgh8AC0pgwI3QP7A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': + resolution: {integrity: sha512-+kMlQvbzfyEYtu5FcjE4p+ttBLpKW4d/AsAsuE69BxV6V4twZJeIQZFfD8gh/wqglY0MkPSezWXQH0jBV13MUw==} + cpu: [arm64] + os: [linux] + libc: [musl] - '@react-aria/link@3.8.7': - resolution: - { integrity: sha512-TOC6Hf/x3N0P8SLR1KD/dGiJ9PmwAq8H57RiwbFbdINnG/HIvIQr5MxGTjwBvOOWcJu9brgWL5HkQaZK7Q/4Yw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': + resolution: {integrity: sha512-shjfMhmZ3gq9fv/w7bi3PnZlgOPG+2QAOFf0BJF0EgBSIGZ6PMLN2zbGEblTUYB/NKVDRyYhE2ff3dJ1QqNPkA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] - '@react-aria/listbox@3.15.1': - resolution: - { integrity: sha512-81iDLFhmPXvLOtkI0SKzgrngfzwfR2o9oFDAYRfpYCOxgT7jjh8SaB4wCteJXRiMwymRGmgyTvD4yxWTluEeXA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': + resolution: {integrity: sha512-zGelwFR5oRo+b69k8Lrzun86DyUHzfKN6cnjbR9l7Z7NIRznOE/2ZvPa1IUKqAL2PzAXOdwkfVqNvO1H2RlpAw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] - '@react-aria/live-announcer@3.4.4': - resolution: - { integrity: sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA== } + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': + resolution: {integrity: sha512-qxZ1SWCXJY0eyhAlP6Lmo9F2Nrtx7EkYj9oCgL8apDPCwXwCEDA2U697bbT81JIc2IrVjxO4KX6WU2N+oN9Z4w==} + cpu: [riscv64] + os: [linux] + libc: [musl] - '@react-aria/menu@3.19.4': - resolution: - { integrity: sha512-0A0DUEkEvZynmaD3zktHavM+EmgZSR/ht+g1ExS2jXe73CegA+dbSRfPl9eIKcHxaRrWOV96qMj2pTf0yWTBDg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': + resolution: {integrity: sha512-sGCecF3cx2DFlH4t/z7ApnOnXqN48p5p5mlHDEnHTAukQa2P+qMVE4CwyWE9W+q/m3QJ7kKfGrIjax31f44oFQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@react-aria/meter@3.4.28': - resolution: - { integrity: sha512-elACITUBOf4Dp+BQ2aIgHIe58fjWYjspxhVcE5BMiqePktOfRkpb9ESj8nWcNXO8eqCYwrFJpElHvXkjYLWemw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': + resolution: {integrity: sha512-k/VlMMcSzMlahb3/fENM4rTlsJ0s3fFROA0KXPBmKggqmTSaE383sl8F3KCOXPLmVsYfW6hCitMhXCEtNeZxxg==} + cpu: [x64] + os: [linux] + libc: [glibc] - '@react-aria/numberfield@3.12.3': - resolution: - { integrity: sha512-70LRXWPEuj2X8mbQXUx6l6We+RGs49Kb+2eUiSSLArHK4RvTWJWEfSjHL5IHHJ+j2AkbORdryD7SR3gcXSX+5w== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-linux-x64-musl@11.24.2': + resolution: {integrity: sha512-8hbnZyNi97b/8wapYaIF9+t9GmZKBW2vunaOc3h9HGJptH7b7XpvZqOTBSm/MpTjr7H497BlgOaSfLUdhmy2bw==} + cpu: [x64] + os: [linux] + libc: [musl] - '@react-aria/overlays@3.31.0': - resolution: - { integrity: sha512-Vq41X1s8XheGIhGbbuqRJslJEX08qmMVX//dwuBaFX9T18mMR04tumKOMxp8Lz+vqwdGLvjNUYDMcgolL+AMjw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-openharmony-arm64@11.24.2': + resolution: {integrity: sha512-MvyGik3a6pVgZ0t/kWlbmFxFLmXQJwgLsY2eYFHLpy0wGwRbfzeIGgDwQ3kXqE30z+kSXennRkCrT7TUvkptNg==} + cpu: [arm64] + os: [openharmony] - '@react-aria/progress@3.4.28': - resolution: - { integrity: sha512-3NUUAu+rwf1M7pau9WFkrxe/PlBPiqCl/1maGU7iufVveHnz+SVVqXdNkjYx+WkPE0ViwG86Zx6OU4AYJ1pjNw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-wasm32-wasi@11.24.2': + resolution: {integrity: sha512-vHcssMPwO08RTvj/c0iOBz90attxyG3wQJ0dTcyEQK43LRpcdLWZlV5feBhv6Isn6ahbQIzHbCgfa81+RiML0Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] - '@react-aria/radio@3.12.3': - resolution: - { integrity: sha512-noucVX++9J3VYWg7dB+r09NVX8UZSR1TWUMCbT/MffzhltOsmiLJVvgJ0uEeeVRuu3+ZM63jOshrzG89anX4TQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + resolution: {integrity: sha512-uokJqro2iBqkFvJdKQLP7d8/BUmFwESQFVmIJUQKj1Xn1a/LysJoe1vmeECLF5b3jsV8CAL5sEMJXX6SdK9Nhg==} + cpu: [arm64] + os: [win32] - '@react-aria/searchfield@3.8.10': - resolution: - { integrity: sha512-1wMoSjXoekcETC4ZP5AUcWoaK96FssVuF9MgqQNqE5VnauQDjZBpPCfz6GSZwRHTGwoqb7CI4iEi7433kd50xg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + resolution: {integrity: sha512-UqGPmo56KDfLlfXFAFIrNflHT8tFxWGEivWg3Zeyp4Uy2NlKN1FGPr6/BxcLGG3+kZ6Wp14g5Uj+n71boqZfiw==} + cpu: [x64] + os: [win32] - '@react-aria/select@3.17.1': - resolution: - { integrity: sha512-jPMuaSp+4SbdE9G5UrrTer2CPbbUnUSLd8I2wgRgGcyk3wFw9DtnUNfms+UBA/2SrVnAEJ6KCQAI0oiMK2m+tQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pdf-lib/standard-fonts@1.0.0': + resolution: {integrity: sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==} - '@react-aria/selection@3.27.0': - resolution: - { integrity: sha512-4zgreuCu4QM4t2U7aF3mbMvIKCEkTEo6h6nGJvbyZALZ/eFtLTvUiV8/5CGDJRLGvgMvi3XxUeF9PZbpk5nMJg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pdf-lib/upng@1.0.1': + resolution: {integrity: sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==} - '@react-aria/separator@3.4.14': - resolution: - { integrity: sha512-a32OB5HMAmXEdExyDvsadsnlmNcVxxpx3tt+Jxxl6H9CHsLO+Ak077KGFJteGVg4bTfhWGAgczOsnvIioR88xw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} - '@react-aria/slider@3.8.3': - resolution: - { integrity: sha512-tOZVH+wLt3ik0C3wyuXqHL9fvnQ5S+/tHMYB7z8aZV5cEe36Gt4efBILphlA7ChkL/RvpHGK2AGpEGxvuEQIuQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pkgr/core@0.3.6': + resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} + engines: {node: ^14.18.0 || >=16.0.0} - '@react-aria/spinbutton@3.7.0': - resolution: - { integrity: sha512-FOyH94BZp+jNhUJuZqXSubQZDNQEJyW/J19/gwCxQvQvxAP79dhDFshh1UtrL4EjbjIflmaOes+sH/XEHUnJVA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} - '@react-aria/ssr@3.9.10': - resolution: - { integrity: sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ== } - engines: { node: '>= 12' } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} - '@react-aria/switch@3.7.9': - resolution: - { integrity: sha512-RZtuFRXews0PBx8Fc2R/kqaIARD5YIM5uYtmwnWfY7y5bEsBGONxp0d+m2vDyY7yk+VNpVFBdwewY9GbZmH1CA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} + engines: {node: '>=12'} - '@react-aria/table@3.17.9': - resolution: - { integrity: sha512-Jby561E1YfzoRgtp+RQuhDz4vnxlcqol9RTgQQ7FWXC2IcN9Pny1COU34LkA1cL9VeB9LJ0+qfMhGw4aAwaUmw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@react-aria/tabs@3.10.9': - resolution: - { integrity: sha512-2+FNd7Ohr3hrEgYrKdZW0FWbgybzTVZft6tw95oQ2+9PnjdDVdtzHliI+8HY8jzb4hTf4bU7O8n+s/HBlCBSIw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - '@react-aria/tag@3.7.3': - resolution: - { integrity: sha512-fonqGFxhpnlIDOz3u38y4+MG5wyAef9+oDybsCKaJ57K+D4BTvSmpGBemN/mcaxdabnYfyhasCm0H91Q9XRcCA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - '@react-aria/textfield@3.18.3': - resolution: - { integrity: sha512-ehiSHOKuKCwPdxFe7wGE0QJlSeeJR4iJuH+OdsYVlZzYbl9J/uAdGbpsj/zPhNtBo1g/Td76U8TtTlYRZ8lUZw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/codegen@2.0.5': + resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==} - '@react-aria/toast@3.0.9': - resolution: - { integrity: sha512-2sRitczXl5VEwyq97o8TVvq3bIqLA7EfA7dhDPkYlHGa4T1vzKkhNqgkskKd9+Tw7gqeFRFjnokh+es9jkM11g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/eventemitter@1.1.1': + resolution: {integrity: sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==} - '@react-aria/toggle@3.12.3': - resolution: - { integrity: sha512-mciUbeVP99fRObnH5qLFrkKXX+5VKeV6BhFJlmz1eo3ltR/0xZKnUcycA2CGzmqtB70w09CAhr8NMEnpNH8dwQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/fetch@1.1.1': + resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==} - '@react-aria/toolbar@3.0.0-beta.22': - resolution: - { integrity: sha512-Q1gOj6N4vzvpGrIoNAxpUudEQP82UgQACENH/bcH8FnEMbSP7DHvVfDhj7GTU6ldMXO2cjqLhiidoUK53gkCiA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - '@react-aria/tooltip@3.9.0': - resolution: - { integrity: sha512-2O1DXEV8/+DeUq9dIlAfaNa7lSG+7FCZDuF+sNiPYnZM6tgFOrsId26uMF5EuwpVfOvXSSGnq0+6Ma2On7mZPg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - '@react-aria/tree@3.1.5': - resolution: - { integrity: sha512-FAq7pAhRVrWU0U/8QbQIJfBqHuoCD+F9rR9ruoM3oL0vVIZxVN57ak/dhyge3EGlraTl9vzFi6IRceXiMuk5kg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - '@react-aria/utils@3.32.0': - resolution: - { integrity: sha512-/7Rud06+HVBIlTwmwmJa2W8xVtgxgzm0+kLbuFooZRzKDON6hhozS1dOMR/YLMxyJOaYOTpImcP4vRR9gL1hEg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@protobufjs/utf8@1.1.2': + resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} - '@react-aria/virtualizer@4.1.11': - resolution: - { integrity: sha512-eYL//bX11Aox4Eh1BSZFX4I/4EdyVVWLjmpW+Y5qy4WajNrowjiuJJM7Fp1rQBlOAVuz0KbaDmFhiU3Z3rWjsw== } + '@react-aria/focus@3.22.1': + resolution: {integrity: sha512-CPxtkyrBi/HYY5P3lE/57sQ6qfa0lN8E55TOm89H0kNGv0lKt+/0zP7lWERzBjRr5IxBVrQX4gFEowBN52LPaA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/visually-hidden@3.8.29': - resolution: - { integrity: sha512-1joCP+MHBLd+YA6Gb08nMFfDBhOF0Kh1gR1SA8zoxEB5RMfQEEkufIB8k0GGwvHGSCK3gFyO8UAVsD0+rRYEyg== } + '@react-aria/interactions@3.28.1': + resolution: {integrity: sha512-Bqb+HrD5I5MHS2SKBhISYqo2SW8Y2dfzgF/Y1lIJq7xqLxheo9vzxPGEHhz+XzkgGfoqEJx8A6a3C7uiqS3HWA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 '@react-hook/debounce@3.0.0': - resolution: - { integrity: sha512-ir/kPrSfAzY12Gre0sOHkZ2rkEmM4fS5M5zFxCi4BnCeXh2nvx9Ujd+U4IGpKCuPA+EQD0pg1eK2NGLvfWejag== } + resolution: {integrity: sha512-ir/kPrSfAzY12Gre0sOHkZ2rkEmM4fS5M5zFxCi4BnCeXh2nvx9Ujd+U4IGpKCuPA+EQD0pg1eK2NGLvfWejag==} peerDependencies: react: '>=16.8' '@react-hook/event@1.2.6': - resolution: - { integrity: sha512-JUL5IluaOdn5w5Afpe/puPa1rj8X6udMlQ9dt4hvMuKmTrBS1Ya6sb4sVgvfe2eU4yDuOfAhik8xhbcCekbg9Q== } + resolution: {integrity: sha512-JUL5IluaOdn5w5Afpe/puPa1rj8X6udMlQ9dt4hvMuKmTrBS1Ya6sb4sVgvfe2eU4yDuOfAhik8xhbcCekbg9Q==} peerDependencies: react: '>=16.8' '@react-hook/latest@1.0.3': - resolution: - { integrity: sha512-dy6duzl+JnAZcDbNTfmaP3xHiKtbXYOaz3G51MGVljh548Y8MWzTr+PHLOfvpypEVW9zwvl+VyKjbWKEVbV1Rg== } + resolution: {integrity: sha512-dy6duzl+JnAZcDbNTfmaP3xHiKtbXYOaz3G51MGVljh548Y8MWzTr+PHLOfvpypEVW9zwvl+VyKjbWKEVbV1Rg==} peerDependencies: react: '>=16.8' '@react-hook/throttle@2.2.0': - resolution: - { integrity: sha512-LJ5eg+yMV8lXtqK3lR+OtOZ2WH/EfWvuiEEu0M3bhR7dZRfTyEJKxH1oK9uyBxiXPtWXiQggWbZirMCXam51tg== } + resolution: {integrity: sha512-LJ5eg+yMV8lXtqK3lR+OtOZ2WH/EfWvuiEEu0M3bhR7dZRfTyEJKxH1oK9uyBxiXPtWXiQggWbZirMCXam51tg==} peerDependencies: react: '>=16.8' '@react-hook/window-size@3.1.1': - resolution: - { integrity: sha512-yWnVS5LKnOUIrEsI44oz3bIIUYqflamPL27n+k/PC//PsX/YeWBky09oPeAoc9As6jSH16Wgo8plI+ECZaHk3g== } + resolution: {integrity: sha512-yWnVS5LKnOUIrEsI44oz3bIIUYqflamPL27n+k/PC//PsX/YeWBky09oPeAoc9As6jSH16Wgo8plI+ECZaHk3g==} peerDependencies: react: '>=16.8' - '@react-stately/autocomplete@3.0.0-beta.4': - resolution: - { integrity: sha512-K2Uy7XEdseFvgwRQ8CyrYEHMupjVKEszddOapP8deNz4hntYvT1aRm0m+sKa5Kl/4kvg9c/3NZpQcrky/vRZIg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/calendar@3.9.1': - resolution: - { integrity: sha512-q0Q8fivpQa1rcLg5daUVxwVj1smCp1VnpX9A5Q5PkI9lH9x+xdS0Y6eOqb8Ih3TKBDkx9/oEZonOX7RYNIzSig== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/checkbox@3.7.3': - resolution: - { integrity: sha512-ve2K+uWT+NRM1JMn+tkWJDP2iBAaWvbZ0TbSXs371IUcTWaNW61HygZ+UFOB/frAZGloazEKGqAsX5XjFpgB9w== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/collections@3.12.8': - resolution: - { integrity: sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/color@3.9.3': - resolution: - { integrity: sha512-H5lQgl07upsI7+cxTwYo639ziDDG1DFgOtq5pmC4Nxi8uNl8sR/8YeLaYuxyJiVkj2VLHBYRQ3+JcxrdduFvPQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/combobox@3.12.1': - resolution: - { integrity: sha512-RwfTTYgKJ9raIY+7grZ5DbfVRSO5pDjo/ur2VN/28LZzM0eOQrLFQ00vpBmY7/R64sHRpcXLDxpz5cqpKCdvTw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/data@3.15.0': - resolution: - { integrity: sha512-ocP39NQQkrbtHVCPsqltNncpEHaONyYX/8s2UK9xeLRc+55NtDI2RZDKTUf/mi6H2SHxzEwLMQH8hWtEwC55mQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/datepicker@3.15.3': - resolution: - { integrity: sha512-RDYoz1R/EkCyxHYewb58T7DngU3gl6CnQL7xiWiDlayPnstGaanoQ3yCZGJaIQwR8PrKdNbQwXF9NlSmj8iCOw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/disclosure@3.0.9': - resolution: - { integrity: sha512-M3HKsXqdzYKQf1TpnQRLZ6+/b8E3Nba3oOuY0OW5NnM5dZWSnXuj8foBQJT118FdLgMjpfBdPIkUvnaGiDCs5w== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/dnd@3.7.2': - resolution: - { integrity: sha512-tr5nNgrLMn5GV308K1f010XUZ2j8CApqHrrcjg5fa2AnpO2gECcOf+UEnAvoFNUsvknje4iPX8y0/0No2ZHsgA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/flags@3.1.2': - resolution: - { integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg== } - - '@react-stately/form@3.2.2': - resolution: - { integrity: sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/grid@3.11.7': - resolution: - { integrity: sha512-SqzBSxUTFZKLZicfXDK+M0A3gh07AYK1pmU/otcq2cjZ0nSC4CceKijQ2GBZnl+YGcGHI1RgkhpLP6ZioMYctQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/layout@4.5.2': - resolution: - { integrity: sha512-quAzYkshApkv1vChz2NXBaLTC7ihJUmv3ijqJBHCkZSY6qq+1qnc4aGespDF1f3mPhmpGswTFGXFImFTAYfi5g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/list@3.13.2': - resolution: - { integrity: sha512-dGFALuQWNNOkv7W12qSsXLF4mJHLeWeK2hVvdyj4SI8Vxku+BOfaVKuW3sn3mNiixI1dM/7FY2ip4kK+kv27vw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/menu@3.9.9': - resolution: - { integrity: sha512-moW5JANxMxPilfR0SygpCWCZe7Ef09oadgzTZthRymNRv0PXVS9ad4wd1EkwuMvPH/n0uZLZE2s8hNyFDgyqPA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/numberfield@3.10.3': - resolution: - { integrity: sha512-40g/oyVcWoEaLqkr61KuHZzQVLLXFi3oa2K8XLnb6o+859SM4TX3XPNqL6eNQjXSKoJO5Hlgpqhee9j+VDbGog== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/overlays@3.6.21': - resolution: - { integrity: sha512-7f25H1PS2g+SNvuWPEW30pSGqYNHxesCP4w+1RcV/XV1oQI7oP5Ji2WfI0QsJEFc9wP/ZO1pyjHNKpfLI3O88g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/radio@3.11.3': - resolution: - { integrity: sha512-8+Cy0azV1aBWKcBfGHi3nBa285lAS6XhmVw2LfEwxq8DeVKTbJAaCHHwvDoclxDiOAnqzE0pio0QMD8rYISt9g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/searchfield@3.5.17': - resolution: - { integrity: sha512-/KExpJt6EGyuLxy/PRQJlETQxJGw8tRxVws6qF1lankN49Os2UhFEWi7ogbMCOWN67gIgevhZRdzmJnuov6BEQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/select@3.9.0': - resolution: - { integrity: sha512-eNE33zVYpVdCPKRPGYyViN3LnEq82e1wjBIrs9T7Vo4EBnJeT57pqMZpalTPk7qsA+861t14Qrj7GnUd+YbEXw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/selection@3.20.7': - resolution: - { integrity: sha512-NkiRsNCfORBIHNF1bCavh4Vvj+Yd5NffE10iXtaFuhF249NlxLynJZmkcVCqNP9taC2pBIHX00+9tcBgxhG+mA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/slider@3.7.3': - resolution: - { integrity: sha512-9QGnQNXFAH52BzxtU7weyOV/VV7/so6uIvE8VOHfc6QR3GMBM/kJvqBCTWZfQ0pxDIsRagBQDD/tjB09ixTOzg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/table@3.15.2': - resolution: - { integrity: sha512-vgEArBN5ocqsQdeORBj6xk8acu5iFnd/CyXEQKl0R5RyuYuw0ms8UmFHvs8Fv1HONehPYg+XR4QPliDFPX8R9A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/tabs@3.8.7': - resolution: - { integrity: sha512-ETZEzg7s9F2SCvisZ2cCpLx6XBHqdvVgDGU5l3C3s9zBKBr6lgyLFt61IdGW8XXZRUvw4mMGT6tGQbXeGvR0Wg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/toast@3.1.2': - resolution: - { integrity: sha512-HiInm7bck32khFBHZThTQaAF6e6/qm57F4mYRWdTq8IVeGDzpkbUYibnLxRhk0UZ5ybc6me+nqqPkG/lVmM42Q== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/toggle@3.9.3': - resolution: - { integrity: sha512-G6aA/aTnid/6dQ9dxNEd7/JqzRmVkVYYpOAP+l02hepiuSmFwLu4nE98i4YFBQqFZ5b4l01gMrS90JGL7HrNmw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/tooltip@3.5.9': - resolution: - { integrity: sha512-YwqtxFqQFfJtbeh+axHVGAfz9XHf73UaBndHxSbVM/T5c1PfI2yOB39T2FOU5fskZ2VMO3qTDhiXmFgGbGYSfQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/tree@3.9.4': - resolution: - { integrity: sha512-Re1fdEiR0hHPcEda+7ecw+52lgGfFW0MAEDzFg9I6J/t8STQSP+1YC0VVVkv2xRrkLbKLPqggNKgmD8nggecnw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/utils@3.11.0': - resolution: - { integrity: sha512-8LZpYowJ9eZmmYLpudbo/eclIRnbhWIJZ994ncmlKlouNzKohtM8qTC6B1w1pwUbiwGdUoyzLuQbeaIor5Dvcw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-stately/virtualizer@4.4.4': - resolution: - { integrity: sha512-ri8giqXSZOrznZDCCOE4U36wSkOhy+hrFK7yo/YVcpxTqqp3d3eisfKMqbDsgqBW+XTHycTU/xeAf0u9NqrfpQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/autocomplete@3.0.0-alpha.36': - resolution: - { integrity: sha512-J/wYkXom9zmEX/xuGjKrqMco9sf5AcByNXOgGAx82LMlk0jFcViggVjIYo/Qzr0TmDeTWyy++r1N59POI6179g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/breadcrumbs@3.7.17': - resolution: - { integrity: sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/button@3.14.1': - resolution: - { integrity: sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/calendar@3.8.1': - resolution: - { integrity: sha512-B0UuitMP7YkArBAQldwSZSNL2WwazNGCG+lp6yEDj831NrH9e36/jcjv1rObQ9ZMS6uDX9LXu5C8V5RFwGQabA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/checkbox@3.10.2': - resolution: - { integrity: sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/color@3.1.2': - resolution: - { integrity: sha512-NP0TAY3j4tlMztOp/bBfMlPwC9AQKTjSiTFmc2oQNkx5M4sl3QpPqFPosdt7jZ8M4nItvfCWZrlZGjST4SB83A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/combobox@3.13.10': - resolution: - { integrity: sha512-Wo4iix++ID6JzoH9eD7ddGUlirQiGpN/VQc3iFjnaTXiJ/cj3v+1oGsDGCZZTklTVeUMU7SRBfMhMgxHHIYLXA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/datepicker@3.13.3': - resolution: - { integrity: sha512-OTRa3banGxcUQKRTLUzr0zTVUMUL+Az1BWARCYQ+8Z/dlkYXYUW0fnS5I0pUEqihgai15KxiY13U0gAqbNSfcA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/dialog@3.5.22': - resolution: - { integrity: sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/form@3.7.16': - resolution: - { integrity: sha512-Sb7KJoWEaQ/e4XIY+xRbjKvbP1luome98ZXevpD+zVSyGjEcfIroebizP6K1yMHCWP/043xH6GUkgEqWPoVGjg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/grid@3.3.6': - resolution: - { integrity: sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/link@3.6.5': - resolution: - { integrity: sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/listbox@3.7.4': - resolution: - { integrity: sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/menu@3.10.5': - resolution: - { integrity: sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/meter@3.4.13': - resolution: - { integrity: sha512-EiarfbpHcvmeyXvXcr6XLaHkNHuGc4g7fBVEiDPwssFJKKfbUzqnnknDxPjyspqUVRcXC08CokS98J1jYobqDg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/numberfield@3.8.16': - resolution: - { integrity: sha512-945F0GsD7K2T293YXhap+2Runl3tZWbnhadXVHFWLbqIKKONZFSZTfLKxQcbFr+bQXr2uh1bVJhYcOiS1l5M+A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/overlays@3.9.2': - resolution: - { integrity: sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/progress@3.5.16': - resolution: - { integrity: sha512-I9tSdCFfvQ7gHJtm90VAKgwdTWXQgVNvLRStEc0z9h+bXBxdvZb+QuiRPERChwFQ9VkK4p4rDqaFo69nDqWkpw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/radio@3.9.2': - resolution: - { integrity: sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/searchfield@3.6.6': - resolution: - { integrity: sha512-cl3itr/fk7wbIQc2Gz5Ie8aVeUmPjVX/mRGS5/EXlmzycAKNYTvqf2mlxwObLndtLISmt7IgNjRRhbUUDI8Ang== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/select@3.12.0': - resolution: - { integrity: sha512-tM3mEbQNotvCJs1gYRFyIeXmXrIBSBLGw7feCIaYSO45IyjCGv8NZwpQWjoKPaWo3GpbHfHMNlWlq3v5QQPIXw== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/shared@3.32.1': - resolution: - { integrity: sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/slider@3.8.2': - resolution: - { integrity: sha512-MQYZP76OEOYe7/yA2To+Dl0LNb0cKKnvh5JtvNvDnAvEprn1RuLiay8Oi/rTtXmc2KmBa4VdTcsXsmkbbkeN2Q== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/switch@3.5.15': - resolution: - { integrity: sha512-r/ouGWQmIeHyYSP1e5luET+oiR7N7cLrAlWsrAfYRWHxqXOSNQloQnZJ3PLHrKFT02fsrQhx2rHaK2LfKeyN3A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/table@3.13.4': - resolution: - { integrity: sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/tabs@3.3.20': - resolution: - { integrity: sha512-Kjq4PypapdMOVPAQgaFIKH65Kr3YnRvaxBGd6RYizTsqYImQhXoGj6B4lBpjYy4KhfRd4dYS82frHqTGKmBYiA== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@react-types/textfield@3.12.6': - resolution: - { integrity: sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ== } + '@react-types/shared@3.36.1': + resolution: {integrity: sha512-AzsuD9OfxTOZMMvTRhlN3oHBwOmFN7tDh27LzqmHt4+uOgPhJT7ZM7/kVs/8/o0WxayMUIk3hBmCFRHv1FUoag==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/tooltip@3.5.0': - resolution: - { integrity: sha512-o/m1wlKlOD2sLb9vZLWdVkD5LFLHBMLGeeK/bhyUtp0IEdUeKy0ZRTS7pa/A50trov9RvdbzLK79xG8nKNxHew== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - '@rolldown/pluginutils@1.0.0-rc.2': - resolution: - { integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw== } - - '@rollup/pluginutils@4.2.1': - resolution: - { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } - engines: { node: '>= 8.0.0' } - - '@rollup/pluginutils@5.3.0': - resolution: - { integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q== } - engines: { node: '>=14.0.0' } - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/rollup-android-arm-eabi@4.54.0': - resolution: - { integrity: sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng== } - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.54.0': - resolution: - { integrity: sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw== } + '@rolldown/binding-android-arm64@1.2.3': + resolution: {integrity: sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.54.0': - resolution: - { integrity: sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw== } + '@rolldown/binding-darwin-arm64@1.2.3': + resolution: {integrity: sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.54.0': - resolution: - { integrity: sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A== } + '@rolldown/binding-darwin-x64@1.2.3': + resolution: {integrity: sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.54.0': - resolution: - { integrity: sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA== } - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.54.0': - resolution: - { integrity: sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ== } + '@rolldown/binding-freebsd-x64@1.2.3': + resolution: {integrity: sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.54.0': - resolution: - { integrity: sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ== } - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.54.0': - resolution: - { integrity: sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA== } + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': + resolution: {integrity: sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.54.0': - resolution: - { integrity: sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng== } + '@rolldown/binding-linux-arm64-gnu@1.2.3': + resolution: {integrity: sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.54.0': - resolution: - { integrity: sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg== } + '@rolldown/binding-linux-arm64-musl@1.2.3': + resolution: {integrity: sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.54.0': - resolution: - { integrity: sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw== } - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-ppc64-gnu@4.54.0': - resolution: - { integrity: sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA== } + '@rolldown/binding-linux-ppc64-gnu@1.2.3': + resolution: {integrity: sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.54.0': - resolution: - { integrity: sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ== } - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-musl@4.54.0': - resolution: - { integrity: sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A== } - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-s390x-gnu@4.54.0': - resolution: - { integrity: sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ== } + '@rolldown/binding-linux-s390x-gnu@1.2.3': + resolution: {integrity: sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.54.0': - resolution: - { integrity: sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ== } + '@rolldown/binding-linux-x64-gnu@1.2.3': + resolution: {integrity: sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.54.0': - resolution: - { integrity: sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw== } + '@rolldown/binding-linux-x64-musl@1.2.3': + resolution: {integrity: sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openharmony-arm64@4.54.0': - resolution: - { integrity: sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg== } + '@rolldown/binding-openharmony-arm64@1.2.3': + resolution: {integrity: sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.54.0': - resolution: - { integrity: sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw== } + '@rolldown/binding-win32-arm64-msvc@1.2.3': + resolution: {integrity: sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.54.0': - resolution: - { integrity: sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ== } - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.54.0': - resolution: - { integrity: sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ== } + '@rolldown/binding-win32-x64-msvc@1.2.3': + resolution: {integrity: sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.54.0': - resolution: - { integrity: sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg== } - cpu: [x64] - os: [win32] + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@rollup/pluginutils@5.4.0': + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true '@rtsao/scc@1.1.0': - resolution: - { integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== } + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} '@sendgrid/client@8.1.6': - resolution: - { integrity: sha512-/BHu0hqwXNHr2aLhcXU7RmmlVqrdfrbY9KpaNj00KZHlVOVoRxRVrpOCabIB+91ISXJ6+mLM9vpaVUhK6TwBWA== } - engines: { node: '>=12.*' } + resolution: {integrity: sha512-/BHu0hqwXNHr2aLhcXU7RmmlVqrdfrbY9KpaNj00KZHlVOVoRxRVrpOCabIB+91ISXJ6+mLM9vpaVUhK6TwBWA==} + engines: {node: '>=12.*'} '@sendgrid/helpers@8.0.0': - resolution: - { integrity: sha512-Ze7WuW2Xzy5GT5WRx+yEv89fsg/pgy3T1E3FS0QEx0/VvRmigMZ5qyVGhJz4SxomegDkzXv/i0aFPpHKN8qdAA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-Ze7WuW2Xzy5GT5WRx+yEv89fsg/pgy3T1E3FS0QEx0/VvRmigMZ5qyVGhJz4SxomegDkzXv/i0aFPpHKN8qdAA==} + engines: {node: '>= 12.0.0'} - '@sinclair/typebox@0.34.48': - resolution: - { integrity: sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA== } + '@simple-libs/stream-utils@2.0.0': + resolution: {integrity: sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==} + engines: {node: '>=22'} + + '@sinclair/typebox@0.34.52': + resolution: {integrity: sha512-XiMQh7qqVlxZzcVD+kkGMNGMzcTrDMLWI7S4x7z1MkCkbDPrekpZXEUK0eZqZFMuHQg2a2DZOcDIh9o5v3Gonw==} '@sindresorhus/is@4.6.0': - resolution: - { integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} '@sindresorhus/merge-streams@4.0.0': - resolution: - { integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} '@sinonjs/commons@3.0.1': - resolution: - { integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== } + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@13.0.5': - resolution: - { integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw== } + '@sinonjs/fake-timers@15.4.0': + resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} '@so-ric/colorspace@1.1.6': - resolution: - { integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw== } - - '@standard-schema/spec@1.0.0': - resolution: - { integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA== } + resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} '@standard-schema/spec@1.1.0': - resolution: - { integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== } + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} '@standard-schema/utils@0.3.0': - resolution: - { integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g== } + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - '@storybook/addon-docs@10.2.8': - resolution: - { integrity: sha512-cEoWqQrLzrxOwZFee5zrD4cYrdEWKV80POb7jUZO0r5vfl2DuslIr3n/+RfLT52runCV4aZcFEfOfP/IWHNPxg== } + '@storybook/addon-docs@10.5.7': + resolution: {integrity: sha512-KNARJfjICaizinsR3INMEiipZm1ObYo+xw+E26gteu50Bcy2dIZUtk5uHY5XdtardU3AXX6yRXoBZ2HCY3lbHA==} peerDependencies: - storybook: ^10.2.8 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.5.7 + peerDependenciesMeta: + '@types/react': + optional: true - '@storybook/addon-links@10.2.8': - resolution: - { integrity: sha512-5yy8+6z1OLxrQGpLzwIChO53hCMGVMMrRSG98IslMzhExEbK4+prf6gKMA0t4SdWAjkKgzbRz2YNnv9N6rEO5Q== } + '@storybook/addon-links@10.5.7': + resolution: {integrity: sha512-17PxEOocLhAEaPeQ4q+8yul/LF9YEIePS1arknCAS7U1pQXTe0uj+R0pB6uPLVflM5gECQMiP4WzIj4tEiL6+A==} peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.8 + storybook: ^10.5.7 peerDependenciesMeta: + '@types/react': + optional: true react: optional: true - '@storybook/builder-vite@10.2.8': - resolution: - { integrity: sha512-+6/Lwi7W0YIbzHDh798GPp0IHUYDwp0yv0Y1eVNK/StZD0tnv4/1C28NKyP+O7JOsFsuWI1qHiDhw8kNURugZw== } + '@storybook/builder-vite@10.5.7': + resolution: {integrity: sha512-fShF/aQaITqcJuMCLr42BGNUAbhDi4IboqvlbZqXAwgrrTslnZEUnY8GcEcvpZmjl11VwlmazhMJdH50fIgBPg==} peerDependencies: - storybook: ^10.2.8 - vite: '>=7.1.11' + storybook: ^10.5.7 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - '@storybook/csf-plugin@10.2.8': - resolution: - { integrity: sha512-kKkLYhRXb33YtIPdavD2DU25sb14sqPYdcQFpyqu4TaD9truPPqW8P5PLTUgERydt/eRvRlnhauPHavU1kjsnA== } + '@storybook/csf-plugin@10.5.7': + resolution: {integrity: sha512-IaX8FlM0H36HNFhJ2+4L9bCldqfvHGqcLg841SJNyK/DhfMlM7JsvY/GDH2ZFuWrUf8FSOx96GRRnHq6XfRKag==} peerDependencies: esbuild: '*' rollup: '*' - storybook: ^10.2.8 - vite: '>=7.1.11' + storybook: ^10.5.7 + vite: '*' webpack: '*' peerDependenciesMeta: esbuild: @@ -3125,123 +2238,137 @@ packages: optional: true '@storybook/global@5.0.0': - resolution: - { integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== } + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} - '@storybook/icons@2.0.1': - resolution: - { integrity: sha512-/smVjw88yK3CKsiuR71vNgWQ9+NuY2L+e8X7IMrFjexjm6ZR8ULrV2DRkTA61aV6ryefslzHEGDInGpnNeIocg== } + '@storybook/icons@2.1.0': + resolution: {integrity: sha512-Fxh9vYpX9bQqFeHRiY8h2ApeRGDzRSMLwJwNZ/AIRqnyOKHxRKL+yFe+ctEkVJmuptRE9u1Hrn8ZZNHyfDKKNg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@storybook/react-dom-shim@10.2.8': - resolution: - { integrity: sha512-Xde9X3VszFV1pTXfc2ZFM89XOCGRxJD8MUIzDwkcT9xaki5a+8srs/fsXj75fMY6gMYfcL5lNRZvCqg37HOmcQ== } + '@storybook/react-dom-shim@10.5.7': + resolution: {integrity: sha512-lxOkyh+wu/MiBXvYQHjZfD+DRKOa4bHBzbuGuiHXnHXmdOcTRdcrQTsoeN2FPtfugmmOG66cZUEgDwNX+k5eRA==} peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.8 + storybook: ^10.5.7 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@storybook/react-vite@10.2.8': - resolution: - { integrity: sha512-x5kmw+TPhxkQV84n4e9X0q6/rA5T8V2QQFolMuN+U93q1HX1r+GZ6g/nXaaq9ox168PhHUJZQnn+LzSQKGCMBA== } + '@storybook/react-vite@10.5.7': + resolution: {integrity: sha512-eEo3eVa2pvqrzQukKxAzx7YvswDAA1s6k/y+tdMxmRvWyHX6QEOsb9Tda6wcVaa7c8BeJM7Ggq+289cRMTH6Iw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.8 - vite: '>=7.1.11' + storybook: ^10.5.7 + typescript: '>= 4.9.x' + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true - '@storybook/react@10.2.8': - resolution: - { integrity: sha512-nMFqQFUXq6Zg2O5SeuomyWnrIx61QfpNQMrfor8eCEzHrWNnXrrvVsz2RnHIgXN8RVyaWGDPh1srAECu/kDHXw== } + '@storybook/react@10.5.7': + resolution: {integrity: sha512-uFvty2MMdFXzW5PcQe1JqDAZkz6cQq7q/9G/cbGVnBEvP6zsOVeL+bmrQ0/WBlFQN0Ko9+ZoCTvaQ9s65zBa5g==} peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^10.2.8 + storybook: ^10.5.7 typescript: '>= 4.9.x' peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true typescript: optional: true - '@swc/core-darwin-arm64@1.15.11': - resolution: - { integrity: sha512-QoIupRWVH8AF1TgxYyeA5nS18dtqMuxNwchjBIwJo3RdwLEFiJq6onOx9JAxHtuPwUkIVuU2Xbp+jCJ7Vzmgtg== } - engines: { node: '>=10' } + '@swc/core-darwin-arm64@1.15.47': + resolution: {integrity: sha512-GsoMtan3ojGGMGFbl31mmRu5ctZ56re8grGE8mO/OHJ8O+JRkzod02fe7X6ZQ8JvamA3imkEkx/h3u+vsOgPgA==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.15.11': - resolution: - { integrity: sha512-S52Gu1QtPSfBYDiejlcfp9GlN+NjTZBRRNsz8PNwBgSE626/FUf2PcllVUix7jqkoMC+t0rS8t+2/aSWlMuQtA== } - engines: { node: '>=10' } + '@swc/core-darwin-x64@1.15.47': + resolution: {integrity: sha512-leTi7Rx3KF4zcC637iqWgk9SoV8VXAD8ppQYXsep63px5A/UftOcxLN1pmr8Z1si/YvX90ompP/rHgpYkgwXWg==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.15.11': - resolution: - { integrity: sha512-lXJs8oXo6Z4yCpimpQ8vPeCjkgoHu5NoMvmJZ8qxDyU99KVdg6KwU9H79vzrmB+HfH+dCZ7JGMqMF//f8Cfvdg== } - engines: { node: '>=10' } + '@swc/core-linux-arm-gnueabihf@1.15.47': + resolution: {integrity: sha512-hBqHuoWKKIsKmDBn9qVeWqj5GWZhtlcczVaqQmNRXsDfq+voR5CxKRfamA367QjJXtceYuliLFfEL8QsskRM2g==} + engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.15.11': - resolution: - { integrity: sha512-chRsz1K52/vj8Mfq/QOugVphlKPWlMh10V99qfH41hbGvwAU6xSPd681upO4bKiOr9+mRIZZW+EfJqY42ZzRyA== } - engines: { node: '>=10' } + '@swc/core-linux-arm64-gnu@1.15.47': + resolution: {integrity: sha512-TBxvRz+B4K205TWHHZxWVxkC2RFNP/Mz3PNcECBos5PsKwxjg3QSJzdoebr0VCf0Bfh8HOPldKxAP/8XkFe9gA==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [glibc] - '@swc/core-linux-arm64-musl@1.15.11': - resolution: - { integrity: sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w== } - engines: { node: '>=10' } + '@swc/core-linux-arm64-musl@1.15.47': + resolution: {integrity: sha512-3Yu3Uq/VgytqsPjTMbkPU1ExADytbdWbruJYhA584E9jrpE2Ki+R6VVPoZCeAVk1Cb7QxcRTgblw6bSa6a/R+w==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] libc: [musl] - '@swc/core-linux-x64-gnu@1.15.11': - resolution: - { integrity: sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ== } - engines: { node: '>=10' } + '@swc/core-linux-ppc64-gnu@1.15.47': + resolution: {integrity: sha512-wfdMi5IaOaNtmh2/6geRoxIdNfqylUZFdtzTKS655y1axWfIWyx7As74vv0wVdjeCIZ3WmCI9odDd4rUttXOSQ==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-s390x-gnu@1.15.47': + resolution: {integrity: sha512-3hHYBY0yx8Ez7GMRrkhXHQzMdR5IZA6Wq5Ee4svlgwvSECLpnAJ9+0AimEGUFDvuLwE7nV/2+PYe8+Nm4rvNcQ==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-gnu@1.15.47': + resolution: {integrity: sha512-TjfhjgP/jGCfFHYC3JQPhJA1HwErbIJ9JfREDc1KNkvY6P0LodCgKVIlQ5deeTbkG7ih3bF5PHJLuLpaZjdRyQ==} + engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [glibc] - '@swc/core-linux-x64-musl@1.15.11': - resolution: - { integrity: sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw== } - engines: { node: '>=10' } + '@swc/core-linux-x64-musl@1.15.47': + resolution: {integrity: sha512-CQpS8Ge/avfjZd0UEwG/sds83Uu32deQXcV1Jo3jD0mmvQQqtYAjpsDZXugmheeAwmt+YIuoVtVHro8LMYHqsQ==} + engines: {node: '>=10'} cpu: [x64] os: [linux] libc: [musl] - '@swc/core-win32-arm64-msvc@1.15.11': - resolution: - { integrity: sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA== } - engines: { node: '>=10' } + '@swc/core-win32-arm64-msvc@1.15.47': + resolution: {integrity: sha512-0W8IKHsUTYiT7G2RqtOoVWk+89yzZikIiDUb/sCK6BmQDBhN91hQSfyUtW12jhEWLzYgcfmisfsZrmZE+84U1A==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.15.11': - resolution: - { integrity: sha512-6XnzORkZCQzvTQ6cPrU7iaT9+i145oLwnin8JrfsLG41wl26+5cNQ2XV3zcbrnFEV6esjOceom9YO1w9mGJByw== } - engines: { node: '>=10' } + '@swc/core-win32-ia32-msvc@1.15.47': + resolution: {integrity: sha512-ZIp49d2Z4/ka2jO9otOg4hDvTdPmp86kVOgS2M5FCPI7eKKZ1W0boxWn+8XeZrfERtFGW0AlMRm4JhlJa7l3NA==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.15.11': - resolution: - { integrity: sha512-IQ2n6af7XKLL6P1gIeZACskSxK8jWtoKpJWLZmdXTDj1MGzktUy4i+FvpdtxFmJWNavRWH1VmTr6kAubRDHeKw== } - engines: { node: '>=10' } + '@swc/core-win32-x64-msvc@1.15.47': + resolution: {integrity: sha512-2h8Iek95vnixkBRCo+H8p09+Q5ll2NgSMFrWTy0iKt7+/t+8/T5mBpiT6c0ZxSS7wcWjwZ9sGZkK70tTSYHdDw==} + engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.15.11': - resolution: - { integrity: sha512-iLmLTodbYxU39HhMPaMUooPwO/zqJWvsqkrXv1ZI38rMb048p6N7qtAtTp37sw9NzSrvH6oli8EdDygo09IZ/w== } - engines: { node: '>=10' } + '@swc/core@1.15.47': + resolution: {integrity: sha512-FbsO5JcfOjfH38W/rohBRBweJeERsAuIP4f377lmkmxTcq9exjtx4SkRuZY5CdfhR2CBVwDIJegBpJDffwNsOg==} + engines: {node: '>=10'} peerDependencies: '@swc/helpers': '>=0.5.17' peerDependenciesMeta: @@ -3249,92 +2376,78 @@ packages: optional: true '@swc/counter@0.1.3': - resolution: - { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== } + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.18': - resolution: - { integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ== } + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} - '@swc/types@0.1.25': - resolution: - { integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g== } + '@swc/types@0.1.28': + resolution: {integrity: sha512-V6Mnml8v09QALx6K0elJ7o9K/MkVDtW3t6L+7Ou/JcWtb3xwId2AH4FeOceySd2JaO87IMw4+6vSZxLm34LPbw==} - '@tailwindcss/node@4.1.18': - resolution: - { integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ== } + '@tailwindcss/node@4.3.3': + resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} - '@tailwindcss/oxide-android-arm64@4.1.18': - resolution: - { integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-android-arm64@4.3.3': + resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==} + engines: {node: '>= 20'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.18': - resolution: - { integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-darwin-arm64@4.3.3': + resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==} + engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.18': - resolution: - { integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-darwin-x64@4.3.3': + resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==} + engines: {node: '>= 20'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.18': - resolution: - { integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-freebsd-x64@4.3.3': + resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==} + engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': - resolution: - { integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==} + engines: {node: '>= 20'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': - resolution: - { integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==} + engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-arm64-musl@4.1.18': - resolution: - { integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==} + engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [musl] - '@tailwindcss/oxide-linux-x64-gnu@4.1.18': - resolution: - { integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==} + engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-x64-musl@4.1.18': - resolution: - { integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==} + engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [musl] - '@tailwindcss/oxide-wasm32-wasi@4.1.18': - resolution: - { integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA== } - engines: { node: '>=14.0.0' } + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} + engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: - '@napi-rs/wasm-runtime' @@ -3344,798 +2457,647 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': - resolution: - { integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} + engines: {node: '>= 20'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.18': - resolution: - { integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q== } - engines: { node: '>= 10' } + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==} + engines: {node: '>= 20'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.1.18': - resolution: - { integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A== } - engines: { node: '>= 10' } + '@tailwindcss/oxide@4.3.3': + resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==} + engines: {node: '>= 20'} - '@tailwindcss/vite@4.1.18': - resolution: - { integrity: sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA== } + '@tailwindcss/vite@4.3.3': + resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==} peerDependencies: - vite: '>=7.1.11' + vite: ^5.2.0 || ^6 || ^7 || ^8 - '@tanstack/eslint-plugin-query@5.81.2': - resolution: - { integrity: sha512-h4k6P6fm5VhKP5NkK+0TTVpGGyKQdx6tk7NYYG7J7PkSu7ClpLgBihw7yzK8N3n5zPaF3IMyErxfoNiXWH/3/A== } + '@tanstack/eslint-plugin-query@5.101.4': + resolution: {integrity: sha512-jqAZJWXGd5PthJYH9wmC2O5Ry5xAN2/7zxi9qcANQ+Xix8V5JkqNRjZ8Fh+rYzqzVYGiHqbrHekt+uh38OZVpw==} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ^5.4.0 || ^6.0.0 + peerDependenciesMeta: + typescript: + optional: true - '@tanstack/query-core@5.90.12': - resolution: - { integrity: sha512-T1/8t5DhV/SisWjDnaiU2drl6ySvsHj1bHBCWNXd+/T+Hh1cf6JodyEYMd5sgwm+b/mETT4EV3H+zCVczCU5hg== } + '@tanstack/query-core@5.101.4': + resolution: {integrity: sha512-gNwcvOJcRbLWPOLG/2OBm+zM+Yv+MKsXKEOWC57USuZDEsI71hEErQsiEGx5wX9rzWWkfwM0fVSPoiIFSsxfiw==} - '@tanstack/query-devtools@5.93.0': - resolution: - { integrity: sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg== } + '@tanstack/query-devtools@5.101.4': + resolution: {integrity: sha512-z5IPHnDX3aUWeTWlRKLyooBQekaCAw4xRpZqPQ390RiWTDBcTynjpPT221BArw0u2+pnQMdGvPQI9YNNubBcmA==} - '@tanstack/react-query-devtools@5.91.3': - resolution: - { integrity: sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA== } + '@tanstack/react-query-devtools@5.101.4': + resolution: {integrity: sha512-VeK2gtmfj7kvRBjtxS7TKxt/6qKhn8VzabY4UiYMr7NV9CddjSRYRgeYyld+NpjAkgMV9dd+2Qdr8ah5I03NeA==} peerDependencies: - '@tanstack/react-query': ^5.90.20 + '@tanstack/react-query': ^5.101.4 react: ^18 || ^19 - '@tanstack/react-query@5.90.12': - resolution: - { integrity: sha512-graRZspg7EoEaw0a8faiUASCyJrqjKPdqJ9EwuDRUF9mEYJ1YPczI9H+/agJ0mOJkPCJDk0lsz5QTrLZ/jQ2rg== } + '@tanstack/react-query@5.101.4': + resolution: {integrity: sha512-yRg2pfOCxIs4ZJW3XYYHU/WgtD04FHSnfHlpRT7h7pR77hwkdRG4wxbKe4aq6P0RvXUTBSQpQeadS1SUYUe+KA==} peerDependencies: react: ^18 || ^19 - '@tanstack/react-virtual@3.13.12': - resolution: - { integrity: sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA== } + '@tanstack/react-virtual@3.14.9': + resolution: {integrity: sha512-qZyr0FZDP8rDC4WBhsryIZmAd9bveJvFGUJJtskWaew6/0dTRS6wZxnR6VQ5bY2KwL3LjerrHqQLk3a0GKcPXQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/virtual-core@3.13.12': - resolution: - { integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA== } + '@tanstack/virtual-core@3.17.7': + resolution: {integrity: sha512-bp+v10y65sp2H7WpWfIMyxTNfl8ZVfxFTLRjPIFRryi6FV/J33z4IS53WO4pTk36KlvJ4iLiQz+oaydDC1xbcA==} - '@terraformer/arcgis@2.1.2': - resolution: - { integrity: sha512-IvdfqehcNAUtKU1OFMKwPT8EvdKlVFZ7q7ZKzkIF8XzYZIVsZLuXuOS1UBdRh5u/o+X5Gax7jiZhD8U/4TV+Jw== } + '@terraformer/arcgis@2.2.2': + resolution: {integrity: sha512-Qcl7jhSdJU0HEBfQema6u6RY5zQYecx83CH1++7GXNPlFC42yRF9cxB17Kfi3Jr7ck/tgxhCo6IP3b0OA97f8w==} - '@terraformer/common@2.1.2': - resolution: - { integrity: sha512-cwPdTFzIpekZhZRrgDEkqLKNPoqbyCBQHiemaovnGIeUx0Pl336MY/eCxzJ5zXkrQLVo9zPalq/vYW5HnyKevQ== } + '@terraformer/common@2.2.2': + resolution: {integrity: sha512-W+O/hblr5g1RBzkehaEfF/EdCerkG7j6g2cGBawp2B2zHXdCdR7NrXc0Sh106SFFJyadQZ62On36S+8wHF4Kag==} - '@testing-library/dom@10.4.0': - resolution: - { integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== } - engines: { node: '>=18' } + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} + engines: {node: '>=18'} '@testing-library/jest-dom@6.9.1': - resolution: - { integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA== } - engines: { node: '>=14', npm: '>=6', yarn: '>=1' } - - '@testing-library/user-event@14.6.1': - resolution: - { integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw== } - engines: { node: '>=12', npm: '>=6' } + resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/user-event@14.6.3': + resolution: {integrity: sha512-6dBq67jT8lE+JTE8Exm02Kt6ze43hz1jdiSpSJwtTZiT1xQQ6b7nZYTTQ9njdArdU8XklOwaDp/AbT/eYSKF4g==} + engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tootallnate/once@2.0.0': - resolution: - { integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== } - engines: { node: '>= 10' } + '@tootallnate/once@2.0.1': + resolution: {integrity: sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==} + engines: {node: '>= 10'} '@tootallnate/quickjs-emscripten@0.23.0': - resolution: - { integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== } - - '@tsconfig/node10@1.0.12': - resolution: - { integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ== } - - '@tsconfig/node12@1.0.11': - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@tsconfig/node14@1.0.3': - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + '@total-typescript/tsconfig@1.0.4': + resolution: {integrity: sha512-fO4ctMPGz1kOFOQ4RCPBRBfMy3gDn+pegUfrGyUFRMv/Rd0ZM3/SHH3hFCYG4u6bPLG8OlmOGcBLDexvyr3A5w==} - '@tsconfig/node16@1.0.4': - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } - - '@tybys/wasm-util@0.10.1': - resolution: - { integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== } + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} '@types/arcgis-rest-api@10.4.8': - resolution: - { integrity: sha512-MapiW0nP/5X0BUHmtRNEjbK0xrxS6n0syZWQk25H4ObFFwuK1+pGl7LQfOLgpsVM849WQ1b2sKIvWqEAvPwzCA== } + resolution: {integrity: sha512-MapiW0nP/5X0BUHmtRNEjbK0xrxS6n0syZWQk25H4ObFFwuK1+pGl7LQfOLgpsVM849WQ1b2sKIvWqEAvPwzCA==} '@types/aria-query@5.0.4': - resolution: - { integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== } + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} '@types/babel__core@7.20.5': - resolution: - { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} '@types/babel__generator@7.27.0': - resolution: - { integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== } + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} '@types/babel__template@7.4.4': - resolution: - { integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== } + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} '@types/babel__traverse@7.28.0': - resolution: - { integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== } + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/base64-stream@1.0.5': + resolution: {integrity: sha512-gXuo/a7pQ1EXlR5ksM2MccBLl6UUgAgnzR01r/QoHnkaSNinmzSdaGcCq5NAxn72dZ5A1zNYQIl+J9hPsBgBrA==} '@types/body-parser@1.19.6': - resolution: - { integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== } + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} '@types/caseless@0.12.5': - resolution: - { integrity: sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg== } + resolution: {integrity: sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==} '@types/chai@5.2.3': - resolution: - { integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== } + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} '@types/connect@3.4.38': - resolution: - { integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== } + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/conventional-commits-parser@5.0.1': - resolution: - { integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ== } + '@types/contrast-color@1.0.3': + resolution: {integrity: sha512-D4xFbzgt7p6o2I6e6vxxbSuDw8VbTDb6XGurz2MFi39WmmlDRmPvEcATqsfLShLM8GxrhZ0gWT+9VdGnC1DCTA==} '@types/cors@2.8.19': - resolution: - { integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg== } + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} '@types/d3-array@3.2.2': - resolution: - { integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw== } + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} '@types/d3-axis@3.0.6': - resolution: - { integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw== } + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} '@types/d3-brush@3.0.6': - resolution: - { integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A== } + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} '@types/d3-chord@3.0.6': - resolution: - { integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg== } + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} '@types/d3-color@3.1.3': - resolution: - { integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== } + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} '@types/d3-contour@3.0.6': - resolution: - { integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg== } + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} '@types/d3-delaunay@6.0.4': - resolution: - { integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw== } + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} '@types/d3-dispatch@3.0.7': - resolution: - { integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA== } + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} '@types/d3-drag@3.0.7': - resolution: - { integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ== } + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} '@types/d3-dsv@3.0.7': - resolution: - { integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g== } + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} '@types/d3-ease@3.0.2': - resolution: - { integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA== } + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} '@types/d3-fetch@3.0.7': - resolution: - { integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA== } + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} '@types/d3-force@3.0.10': - resolution: - { integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw== } + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} '@types/d3-format@3.0.4': - resolution: - { integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g== } + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - '@types/d3-geo@3.1.0': - resolution: - { integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ== } + '@types/d3-geo@3.1.1': + resolution: {integrity: sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w==} '@types/d3-hierarchy@3.1.1': - resolution: - { integrity: sha512-QwjxA3+YCKH3N1Rs3uSiSy1bdxlLB1uUiENXeJudBoAFvtDuswUxLcanoOaR2JYn1melDTuIXR8VhnVyI3yG/A== } + resolution: {integrity: sha512-QwjxA3+YCKH3N1Rs3uSiSy1bdxlLB1uUiENXeJudBoAFvtDuswUxLcanoOaR2JYn1melDTuIXR8VhnVyI3yG/A==} '@types/d3-interpolate@3.0.4': - resolution: - { integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== } + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} '@types/d3-path@1.0.11': - resolution: - { integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw== } + resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} '@types/d3-path@3.1.1': - resolution: - { integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg== } + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} '@types/d3-polygon@3.0.2': - resolution: - { integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA== } + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} '@types/d3-quadtree@3.0.6': - resolution: - { integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg== } + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - '@types/d3-random@3.0.3': - resolution: - { integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ== } + '@types/d3-random@3.0.4': + resolution: {integrity: sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==} '@types/d3-sankey@0.11.2': - resolution: - { integrity: sha512-U6SrTWUERSlOhnpSrgvMX64WblX1AxX6nEjI2t3mLK2USpQrnbwYYK+AS9SwiE7wgYmOsSSKoSdr8aoKBH0HgQ== } + resolution: {integrity: sha512-U6SrTWUERSlOhnpSrgvMX64WblX1AxX6nEjI2t3mLK2USpQrnbwYYK+AS9SwiE7wgYmOsSSKoSdr8aoKBH0HgQ==} '@types/d3-scale-chromatic@3.1.0': - resolution: - { integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ== } + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} '@types/d3-scale@4.0.9': - resolution: - { integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw== } + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} '@types/d3-selection@3.0.11': - resolution: - { integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w== } + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} '@types/d3-shape@1.3.12': - resolution: - { integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q== } + resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} - '@types/d3-shape@3.1.7': - resolution: - { integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg== } + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} '@types/d3-time-format@4.0.3': - resolution: - { integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg== } + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} '@types/d3-time@3.0.4': - resolution: - { integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g== } + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} '@types/d3-timer@3.0.2': - resolution: - { integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== } + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} '@types/d3-transition@3.0.9': - resolution: - { integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg== } + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} '@types/d3-zoom@3.0.8': - resolution: - { integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw== } + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} '@types/d3@7.4.3': - resolution: - { integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww== } + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} '@types/deep-eql@4.0.2': - resolution: - { integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== } + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} '@types/doctrine@0.0.9': - resolution: - { integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== } + resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} '@types/eslint@8.56.12': - resolution: - { integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== } - - '@types/estree@1.0.8': - resolution: - { integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== } - - '@types/express-serve-static-core@4.19.7': - resolution: - { integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg== } + resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} - '@types/express-serve-static-core@5.1.0': - resolution: - { integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA== } + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/express@4.17.25': - resolution: - { integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw== } + '@types/express-serve-static-core@5.1.3': + resolution: {integrity: sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw==} '@types/express@5.0.6': - resolution: - { integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA== } + resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} '@types/geojson@7946.0.16': - resolution: - { integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== } + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} '@types/http-errors@2.0.5': - resolution: - { integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== } + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} '@types/istanbul-lib-coverage@2.0.6': - resolution: - { integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== } + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} '@types/istanbul-lib-report@3.0.3': - resolution: - { integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== } + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} '@types/istanbul-reports@3.0.4': - resolution: - { integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== } + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} '@types/json-schema@7.0.15': - resolution: - { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/json5@0.0.29': - resolution: - { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} '@types/jsonwebtoken@9.0.10': - resolution: - { integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA== } + resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} '@types/lodash-es@4.17.12': - resolution: - { integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== } + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - '@types/lodash@4.17.20': - resolution: - { integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA== } - - '@types/lodash@4.17.21': - resolution: - { integrity: sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ== } + '@types/lodash@4.17.25': + resolution: {integrity: sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==} '@types/long@4.0.2': - resolution: - { integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== } + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - '@types/mdx@2.0.13': - resolution: - { integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== } + '@types/md5@2.3.6': + resolution: {integrity: sha512-WD69gNXtRBnpknfZcb4TRQ0XJQbUPZcai/Qdhmka3sxUR3Et8NrXoeAoknG/LghYHTf4ve795rInVYHBTQdNVA==} - '@types/mime@1.3.5': - resolution: - { integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== } + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} '@types/ms@2.1.0': - resolution: - { integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== } - - '@types/node@22.19.3': - resolution: - { integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA== } + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@25.0.3': - resolution: - { integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA== } + '@types/node@24.13.3': + resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==} '@types/normalize-package-data@2.4.4': - resolution: - { integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== } + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} '@types/parse-json@4.0.2': - resolution: - { integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== } + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/pdfkit@0.17.6': + resolution: {integrity: sha512-tIwzxk2uWKp0Cq9JIluQXJid77lYhF52EsIOwhsMF4iWLA6YneoBR1xVKYYdAysHuepUB0OX4tdwMiUDdGKmig==} + + '@types/pdfmake@0.3.3': + resolution: {integrity: sha512-ufbceB4Q3dKpmFUMKEbZvJcfLi8+C5b1+rTFVG6urtkS3FHwaTQH6NCh/iEEDINlApCxH/W3/rsq99pP5E9/JA==} '@types/polylabel@1.1.3': - resolution: - { integrity: sha512-9Zw2KoDpi+T4PZz2G6pO2xArE0m/GSMTW1MIxF2s8ZY8x9XDO6fv9um0ydRGvcbkFLlaq8yNK6eZxnmMZtDgWQ== } + resolution: {integrity: sha512-9Zw2KoDpi+T4PZz2G6pO2xArE0m/GSMTW1MIxF2s8ZY8x9XDO6fv9um0ydRGvcbkFLlaq8yNK6eZxnmMZtDgWQ==} - '@types/qs@6.14.0': - resolution: - { integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== } + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} '@types/range-parser@1.2.7': - resolution: - { integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== } + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-color@3.0.13': + resolution: {integrity: sha512-2c/9FZ4ixC5T3JzN0LP5Cke2Mf0MKOP2Eh0NPDPWmuVH3NjPyhEjqNMQpN1Phr5m74egAy+p2lYNAFrX1z9Yrg==} + peerDependencies: + '@types/react': '*' - '@types/react-dom@19.2.3': - resolution: - { integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ== } + '@types/react-dom@19.2.4': + resolution: {integrity: sha512-Bsc+QHgp+P/F02XDzNCY9jnZNCUuLki36KT7VKrTXXLdHf+vHMNZnW1rVu5DNW/rCK+fya3DATySbLM4yhtKUw==} peerDependencies: '@types/react': ^19.2.0 - '@types/react@19.2.7': - resolution: - { integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg== } + '@types/react@19.2.18': + resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} + + '@types/reactcss@1.2.13': + resolution: {integrity: sha512-gi3S+aUi6kpkF5vdhUsnkwbiSEIU/BEJyD7kBy2SudWBUuKmJk8AQKE0OVcQQeEy40Azh0lV6uynxlikYIJuwg==} + peerDependencies: + '@types/react': '*' '@types/request@2.48.13': - resolution: - { integrity: sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg== } + resolution: {integrity: sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg==} '@types/resolve@1.20.6': - resolution: - { integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== } - - '@types/send@0.17.6': - resolution: - { integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og== } + resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} '@types/send@1.2.1': - resolution: - { integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ== } - - '@types/serve-static@1.15.10': - resolution: - { integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw== } + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} '@types/serve-static@2.2.0': - resolution: - { integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ== } + resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} '@types/sortablejs@1.15.9': - resolution: - { integrity: sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ== } + resolution: {integrity: sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ==} '@types/stack-utils@2.0.3': - resolution: - { integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== } + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} '@types/svg-arc-to-cubic-bezier@3.2.3': - resolution: - { integrity: sha512-UNOnbTtl0nVTm8hwKaz5R5VZRvSulFMGojO5+Q7yucKxBoCaTtS4ibSQVRHo5VW5AaRo145U8p1Vfg5KrYe9Bg== } + resolution: {integrity: sha512-UNOnbTtl0nVTm8hwKaz5R5VZRvSulFMGojO5+Q7yucKxBoCaTtS4ibSQVRHo5VW5AaRo145U8p1Vfg5KrYe9Bg==} '@types/terraformer__arcgis@2.0.5': - resolution: - { integrity: sha512-/QaNn2kjqVOQP1jzinvABiGG+VHN8rsKh54KklggwBNTdGa2U4nD63jTZdkCSHyozLF7XX+1a4hRZIu2qKetnQ== } + resolution: {integrity: sha512-/QaNn2kjqVOQP1jzinvABiGG+VHN8rsKh54KklggwBNTdGa2U4nD63jTZdkCSHyozLF7XX+1a4hRZIu2qKetnQ==} '@types/tough-cookie@4.0.5': - resolution: - { integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== } + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} '@types/triple-beam@1.3.5': - resolution: - { integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw== } + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} '@types/trusted-types@2.0.7': - resolution: - { integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== } + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} '@types/yargs-parser@21.0.3': - resolution: - { integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== } + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} '@types/yargs@17.0.35': - resolution: - { integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg== } + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.36.0': - resolution: - { integrity: sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/eslint-plugin@8.67.0': + resolution: {integrity: sha512-Un7Heoyj65NREbKAyIrFxeM143NZpExWmy1Nep4DLeQOeLlTeumPjoNKnBrU5D5moWXbPJgRa5Uwcdu0faVNGQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.36.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/parser@8.36.0': - resolution: - { integrity: sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/parser': ^8.67.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/parser@8.67.0': + resolution: {integrity: sha512-fUBfTuuEulWqX6V8+O3PtScV01tzYYRUDTAirHFKoRAt7nOzoGiPt0M/bB47wWNy0coOOcgEwAMUtBpykMxl6w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.36.0': - resolution: - { integrity: sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/project-service@8.67.0': + resolution: {integrity: sha512-cvE8c7ulYeXN9fYuszhCeCsbzyVEXuhrRCybnBre7TUmqb5nRmBfQAwCj0O3WJFDeyAZt4VYv51vMCC9LHSdYw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.36.0': - resolution: - { integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/scope-manager@8.67.0': + resolution: {integrity: sha512-EgvsleTwS4E+WzzSvem8fAUubLwatMNF1B5hHSLQxcvs7q2dtRhGyujHwLJSYlG41niJ7GP24Aha2+0mb1b2kg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.36.0': - resolution: - { integrity: sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/tsconfig-utils@8.67.0': + resolution: {integrity: sha512-vV+LUSv5njUWsknE71fqKTlXUva+R76SaeORd6Zojcunk/6DvKFXONU3BrAs2H49mbygUXt6gbYunzwqNwlhdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.36.0': - resolution: - { integrity: sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/type-utils@8.67.0': + resolution: {integrity: sha512-aVWDXbRmdXO9siTfX4ditQI1T9+zVcNazT48EJCD0v40/9RIFoUgZ05CmGEq9H2gixRpjUn/iplwvlcvutJW/Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/types@8.36.0': - resolution: - { integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - '@typescript-eslint/typescript-estree@8.36.0': - resolution: - { integrity: sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.67.0': + resolution: {integrity: sha512-sBtgslww8nsMYUjhdPBiSyUqSzT8uR6g93A2QXnQC8+cGdjz0CyaOdqHDRJb1AtORbZCNUJBBeFA/tNR2uQmww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.67.0': + resolution: {integrity: sha512-EKQBCE9yNlRJYm7jdTW5AhDacDUmSwQb0FAJAmK2EKYrNXIsa2vxcSZx6PvJ/dEdI6lS+Y9W+EXckLj0iPFGcw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.36.0': - resolution: - { integrity: sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/utils@8.67.0': + resolution: {integrity: sha512-U9D1FdwEWBwok3hxxSdhclMb0twvt9QnjIQ0VfQ1AiX2epnpSgv2ubVDsayOFyY8K6FX+AQ7E0FKWVG3iKsj1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.36.0': - resolution: - { integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/visitor-keys@8.67.0': + resolution: {integrity: sha512-fkv8dHRDqfGtTHuJeebdrQ7cX6Ad4WAS00rgHh9UGvMycF1mjBfsxry1XsLIFhWZ6Judlh6UdzK+TYlbpCXgnA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ugrc/eslint-config@1.2.3': - resolution: - { integrity: sha512-pwB/wQCEV3dFp2lBG6yCXAa0JbRyfwUPk7NX4pJs6TOVgMVnfS3ESAyu6CTdA0Y5uJMJc775feTJOkkqBW86vw== } + '@ugrc/eslint-config@1.3.1': + resolution: {integrity: sha512-jkGednb6TJlQwwwgmJ0RsVkPzboIqbfeOCyhvDCHCvVhmZKIAURVtm/MSvvId+d4+Hj+LHKpq5Jb/Tu4J8TI8Q==} + engines: {node: ^20.19.0 || >=22.13.0} peerDependencies: eslint: '>=9' - '@ugrc/utah-design-system@1.35.0': - resolution: - { integrity: sha512-kIe8S5SX6rS1LeowWyxF06wLA100an43OK3nVh6GJ0K6jdLU//aui9p+fs7aYUgSx2KHMm8TVa7VcL9vb0lcGQ== } + '@ugrc/tsconfigs@1.0.4': + resolution: {integrity: sha512-8ddPHD3C4OgIm/rbMQQreByOgrXBiWA7rOPDBeH3kW+tC2KcrLynCagweTXdP7RZlo8qEG7CHP3fn9dJeUgCTQ==} + + '@ugrc/utah-design-system@4.1.0': + resolution: {integrity: sha512-GxRodbMoDvQEtNEnw2pttSGYK3fFtlQEiffWTYhWkhx02XrrQVNCVwSvJXOaG4ZM1kXXies9c4fZXHyYIR9/mA==} peerDependencies: - react: '>=16.8' + '@arcgis/core': ^5.0.0 + '@arcgis/map-components': ^5.0.0 + '@esri/calcite-components': ^5.0.0 + firebase: '>=12.0.0' + react: '>=19.0.0' + react-aria: ^3.48.0 + react-aria-components: ^1.17.0 + react-dom: '>=19.0.0' + react-stately: ^3.46.0 - '@ugrc/utilities@3.1.1': - resolution: - { integrity: sha512-wUaVtR/uFpFTATijbywBSnb6N79wCyTirdvHgZUmfO/G1pCA1VdJkRafCQuhMfgas6ZhVQHpLA4Vg7VEa5TK2Q== } + '@ugrc/utilities@5.0.1': + resolution: {integrity: sha512-TV16TQrJ880hGBJLtCCcDX86qp8f0ezKM8DCkSa5AOD2iZK717udlIlUI81RePfWuyKOB+mv6uWz2RqYfsN85Q==} peerDependencies: + '@arcgis/core': ^5.0.0 react: '>=16.8.0' - '@ungap/structured-clone@1.3.0': - resolution: - { integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== } + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - resolution: - { integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw== } + '@unrs/resolver-binding-android-arm-eabi@1.12.2': + resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} cpu: [arm] os: [android] - '@unrs/resolver-binding-android-arm64@1.11.1': - resolution: - { integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g== } + '@unrs/resolver-binding-android-arm64@1.12.2': + resolution: {integrity: sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==} cpu: [arm64] os: [android] - '@unrs/resolver-binding-darwin-arm64@1.11.1': - resolution: - { integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g== } + '@unrs/resolver-binding-darwin-arm64@1.12.2': + resolution: {integrity: sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==} cpu: [arm64] os: [darwin] - '@unrs/resolver-binding-darwin-x64@1.11.1': - resolution: - { integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ== } + '@unrs/resolver-binding-darwin-x64@1.12.2': + resolution: {integrity: sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==} cpu: [x64] os: [darwin] - '@unrs/resolver-binding-freebsd-x64@1.11.1': - resolution: - { integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw== } + '@unrs/resolver-binding-freebsd-x64@1.12.2': + resolution: {integrity: sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==} cpu: [x64] os: [freebsd] - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - resolution: - { integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw== } + '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': + resolution: {integrity: sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==} cpu: [arm] os: [linux] - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - resolution: - { integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw== } + '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': + resolution: {integrity: sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==} cpu: [arm] os: [linux] - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - resolution: - { integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ== } + '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': + resolution: {integrity: sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==} cpu: [arm64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - resolution: - { integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w== } - cpu: [arm64] + '@unrs/resolver-binding-linux-arm64-musl@1.12.2': + resolution: {integrity: sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': + resolution: {integrity: sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-loong64-musl@1.12.2': + resolution: {integrity: sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==} + cpu: [loong64] os: [linux] libc: [musl] - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - resolution: - { integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA== } + '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': + resolution: {integrity: sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==} cpu: [ppc64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - resolution: - { integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ== } + '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': + resolution: {integrity: sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - resolution: - { integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew== } + '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': + resolution: {integrity: sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==} cpu: [riscv64] os: [linux] libc: [musl] - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - resolution: - { integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg== } + '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': + resolution: {integrity: sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==} cpu: [s390x] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - resolution: - { integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w== } + '@unrs/resolver-binding-linux-x64-gnu@1.12.2': + resolution: {integrity: sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==} cpu: [x64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - resolution: - { integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA== } + '@unrs/resolver-binding-linux-x64-musl@1.12.2': + resolution: {integrity: sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==} cpu: [x64] os: [linux] libc: [musl] - '@unrs/resolver-binding-wasm32-wasi@1.11.1': - resolution: - { integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ== } - engines: { node: '>=14.0.0' } + '@unrs/resolver-binding-openharmony-arm64@1.12.2': + resolution: {integrity: sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==} + cpu: [arm64] + os: [openharmony] + + '@unrs/resolver-binding-wasm32-wasi@1.12.2': + resolution: {integrity: sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==} + engines: {node: '>=14.0.0'} cpu: [wasm32] - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - resolution: - { integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw== } + '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': + resolution: {integrity: sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==} cpu: [arm64] os: [win32] - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - resolution: - { integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ== } + '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': + resolution: {integrity: sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==} cpu: [ia32] os: [win32] - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - resolution: - { integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== } + '@unrs/resolver-binding-win32-x64-msvc@1.12.2': + resolution: {integrity: sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==} cpu: [x64] os: [win32] - '@vaadin/a11y-base@24.9.7': - resolution: - { integrity: sha512-JkF2kGYmFIr5CAIKPJjI8qZY51LGauah37Z7EZD1tD95vLbyRQVtE8CtumeZXwvJOoKv5t8tLvYTMn0z53jW0w== } + '@vaadin/a11y-base@25.1.10': + resolution: {integrity: sha512-0LipMdeB7HNLF36KtqM4id0wBGoaJInp05kkUImNVjXQoEZyPhAvQby4rE5lJeFChgfkOzoGYLPaSygASooD0Q==} - '@vaadin/checkbox@24.9.7': - resolution: - { integrity: sha512-UQG7AAArC/dI7p+QpaBQPDtzSHPVEK+24s5HiqnUYDGQUvU/XvSa5oYWDO+BqqHn4IZLS0dp+g9tAmkxt5fI2A== } + '@vaadin/checkbox@25.1.10': + resolution: {integrity: sha512-u4TNgcecaj+SZz0UyiA1BjcDJctwliNebe5ojYCpnNkJ9qiaaoNDmc+58uZe5eKOBpZbQnTPpNTzIyoYXTpJiw==} - '@vaadin/component-base@24.9.7': - resolution: - { integrity: sha512-9IsgcC0rF7iitcnoa9q3TnnOtMeBtPjq6RXdcgux5FZTefpCWCEvv+hq8IiXMpalM5Fm9NuhFsp6T08haczU+g== } + '@vaadin/component-base@25.1.10': + resolution: {integrity: sha512-fFsOz8HyrhoXGtLefVPdJWDgZH6EathBANfJQrTZEdluUjv67p2GEte1HqFZ6J0D6C5RU2BM4IoPyyNU4EloPA==} - '@vaadin/field-base@24.9.7': - resolution: - { integrity: sha512-+Rj1LvKXeTNbvOfxq2QRjsAD95lIVAZmy/TCAh49rfDd5eUh94qxgrMnaBFbIU+g+byTszPAVySkdHZo52C+Qg== } + '@vaadin/field-base@25.1.10': + resolution: {integrity: sha512-d2AU/zO/U7ba+me8PkeGi5X1IgylZdJezHTI0O8i358nVNiUyW+7GWzyVFy9O0iPxwWGsbGy5C3nEZFIYNRN9w==} - '@vaadin/grid@24.9.7': - resolution: - { integrity: sha512-4aPxH32BG5TRlans8t3895f3qeciH4XRYuu62RCfOw/dEYlCpwNftnJX2HPv0Goj1AgdNAq24TijKYPxLa/WAQ== } + '@vaadin/grid@25.1.10': + resolution: {integrity: sha512-rBMjSXYJ9FuWKMBlj+oP+5dWgJZs+G1wK0Kj3oCJC1Isrh8GTxWtvgW7+OpGhqZcBSAPidESHqVBJYX6BGz7og==} - '@vaadin/icon@24.9.7': - resolution: - { integrity: sha512-H1BmjZeo0XKVe4xoIt1INp7TdbwAOM+hoe3T+EZUJPjwn20iGRPI3iupGVEoySeh8fQnXzyV9fFMlitMmeYFyQ== } + '@vaadin/input-container@25.1.10': + resolution: {integrity: sha512-yg/IAqaj22XDm+U1stC1ysrvtGiLRVaSnOl9eHVYw2JngbQI5/8g9Hn8xPOlEx9UDCdD/uzjvqxF5XJhAsFi9A==} - '@vaadin/input-container@24.9.7': - resolution: - { integrity: sha512-KZ8EAakEOWi+yAub3RYyT8HDLwFSsN7ty50jJWqQcRxJ8F+lCGXYc/9MBDNAK6rq9r++urbyc9HaJZydUvYcZg== } + '@vaadin/lit-renderer@25.1.10': + resolution: {integrity: sha512-NOefDPkUTR6sZABaHQB0tTGi1gtoF4k5cLd7+KuHu4PKVVCCaxjqAqQpoV0sXD9NQTY79Ye8z9O+nDXMSobnKA==} - '@vaadin/lit-renderer@24.9.7': - resolution: - { integrity: sha512-WZriGHq8Iz2Rl7mVy0XXybNPrxx3VHV9jgZebXMORfDJkHGF/azLd+ElX6cMiIemWVft9SNWkeZ8x83oITHxlQ== } - - '@vaadin/text-field@24.9.7': - resolution: - { integrity: sha512-p8OO2kJGoYjlvmfjZst1oMPeFYwXav83/H5FH/2A4cXJh9gInFYcReoTA9Xvmf2zfVuMfPZO73X8yOKd0e52IA== } + '@vaadin/text-field@25.1.10': + resolution: {integrity: sha512-fMTqcOta7yVjiIKO7jci0+qTwfRWOhli+s70J18Rk3RV9R5cFNL94gesLHYeaftYKplSIgQjDKwSQE4Wnjd2Tw==} '@vaadin/vaadin-development-mode-detector@2.0.7': - resolution: - { integrity: sha512-9FhVhr0ynSR3X2ao+vaIEttcNU5XfzCbxtmYOV8uIRnUCtNgbvMOIcyGBvntsX9I5kvIP2dV3cFAOG9SILJzEA== } - - '@vaadin/vaadin-lumo-styles@24.9.7': - resolution: - { integrity: sha512-sxceUR2740h/Ah9puwOHuDNomDQwJcAAh5xYoHIWAKNQtEuNdvvzmodlZtLiTHkRqcaPWbqefI8mfDCCcF0VJQ== } + resolution: {integrity: sha512-9FhVhr0ynSR3X2ao+vaIEttcNU5XfzCbxtmYOV8uIRnUCtNgbvMOIcyGBvntsX9I5kvIP2dV3cFAOG9SILJzEA==} - '@vaadin/vaadin-material-styles@24.9.7': - resolution: - { integrity: sha512-+1sJ/sQSs0GAe1CwljEakZD6fkciJZKbB1vvAySX6YShBzeG14UakY/Uv5Kflwpqu2qcyHAlxHIBMEf2s9+VwA== } - - '@vaadin/vaadin-themable-mixin@24.9.7': - resolution: - { integrity: sha512-NqUMCxaJzDtdl2wLKeeqrEryvxcFFhj0twFaAhPzzAmcJvD6/MO7CkE/zzyynaZ8qhfo8ocXYGRpxC8fAJSCgA== } + '@vaadin/vaadin-themable-mixin@25.1.10': + resolution: {integrity: sha512-CluO4bqVKhxuYB3pXOz69Y3TuPeo445dTh1O1b4yPl6yY2HLH1wTNQNeMQJp5ndseW52rMH6yUOEiTpTV4s/jg==} '@vaadin/vaadin-usage-statistics@2.1.3': - resolution: - { integrity: sha512-8r4TNknD7OJQADe3VygeofFR7UNAXZ2/jjBFP5dgI8+2uMfnuGYgbuHivasKr9WSQ64sPej6m8rDoM1uSllXjQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - - '@vitejs/plugin-react-swc@4.2.3': - resolution: - { integrity: sha512-QIluDil2prhY1gdA3GGwxZzTAmLdi8cQ2CcuMW4PB/Wu4e/1pzqrwhYWVd09LInCRlDUidQjd0B70QWbjWtLxA== } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-8r4TNknD7OJQADe3VygeofFR7UNAXZ2/jjBFP5dgI8+2uMfnuGYgbuHivasKr9WSQ64sPej6m8rDoM1uSllXjQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + '@vitejs/plugin-react-swc@4.3.3': + resolution: {integrity: sha512-bti8ZAcvz4Lh6/e4Uk2k3aa1TiUXbbMsahuqOHvd3MveFTkKDZOA6wQVkpj7J/+tepX/wGfe+lsGh/t24HTXMQ==} + engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: '>=7.1.11' + vite: ^4 || ^5 || ^6 || ^7 || ^8 - '@vitest/coverage-v8@4.0.18': - resolution: - { integrity: sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg== } + '@vitest/coverage-v8@4.1.10': + resolution: {integrity: sha512-IM49HmthevbgAO4anp1hwtoT9wYe59w0LR00gr+eagHE+ZJ5lK4sLPeO0ubgoJcwLk6dehU3R24N+FbEEKDc8g==} peerDependencies: - '@vitest/browser': 4.0.18 - vitest: 4.0.18 + '@vitest/browser': 4.1.10 + vitest: 4.1.10 peerDependenciesMeta: '@vitest/browser': optional: true '@vitest/expect@3.2.4': - resolution: - { integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig== } + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/expect@4.0.18': - resolution: - { integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ== } + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} - '@vitest/mocker@4.0.18': - resolution: - { integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ== } + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} peerDependencies: msw: ^2.4.9 - vite: '>=7.1.11' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true @@ -4143,112 +3105,86 @@ packages: optional: true '@vitest/pretty-format@3.2.4': - resolution: - { integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA== } + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/pretty-format@4.0.18': - resolution: - { integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw== } + '@vitest/pretty-format@4.1.10': + resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} - '@vitest/runner@4.0.18': - resolution: - { integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw== } + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} - '@vitest/snapshot@4.0.18': - resolution: - { integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA== } + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} '@vitest/spy@3.2.4': - resolution: - { integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw== } + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/spy@4.0.18': - resolution: - { integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw== } + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} - '@vitest/ui@4.0.18': - resolution: - { integrity: sha512-CGJ25bc8fRi8Lod/3GHSvXRKi7nBo3kxh0ApW4yCjmrWmRmlT53B5E08XRSZRliygG0aVNxLrBEqPYdz/KcCtQ== } + '@vitest/ui@4.1.10': + resolution: {integrity: sha512-EOUqfXHTXtpSHsyLHH40ts3Ue+hRhSGwzwzMlK0dTEOLSDYyOXLyr5JDGmHQWhN2DYI30gw6dVx3cdgM9FZl+Q==} peerDependencies: - vitest: 4.0.18 + vitest: 4.1.10 '@vitest/utils@3.2.4': - resolution: - { integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA== } + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - '@vitest/utils@4.0.18': - resolution: - { integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA== } + '@vitest/utils@4.1.10': + resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} - '@webcomponents/shadycss@1.11.2': - resolution: - { integrity: sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw== } + '@webcontainer/env@1.1.1': + resolution: {integrity: sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==} - '@xstate/react@6.0.0': - resolution: - { integrity: sha512-xXlLpFJxqLhhmecAXclBECgk+B4zYSrDTl8hTfPZBogkn82OHKbm9zJxox3Z/YXoOhAQhKFTRLMYGdlbhc6T9A== } + '@xstate/react@6.1.0': + resolution: {integrity: sha512-ep9F0jGTI63B/jE8GHdMpUqtuz7yRebNaKv8EMUaiSi29NOglywc2X2YSOV/ygbIK+LtmgZ0q9anoEA2iBSEOw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - xstate: ^5.20.0 + xstate: ^5.28.0 peerDependenciesMeta: xstate: optional: true - '@zip.js/zip.js@2.8.11': - resolution: - { integrity: sha512-0fztsk/0ryJ+2PPr9EyXS5/Co7OK8q3zY/xOoozEWaUsL5x+C0cyZ4YyMuUffOO2Dx/rAdq4JMPqW0VUtm+vzA== } - engines: { bun: '>=0.7.0', deno: '>=1.0.0', node: '>=18.0.0' } + '@zip.js/zip.js@2.8.41': + resolution: {integrity: sha512-w/dbE6JfWIfuLCCKwQEnF6T5MeVc8gpi28lW0Y8bHW7Sbdnb1vq9weP894SvbJzMwOKzpePmFyvGU9v5HYDg9g==} + engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=18.0.0'} - abbrev@4.0.0: - resolution: - { integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA== } - engines: { node: ^20.17.0 || >=22.9.0 } + abbrev@5.0.0: + resolution: {integrity: sha512-/XrFJgzQQQHpti1raDJC6m4ws6aNktmjBlhk8Fdlk7LwCEuDoieEJJY9OFHjfiFJFFRM2tK+Ky/IsfbbmlMu1w==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} abort-controller@3.0.0: - resolution: - { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== } - engines: { node: '>=6.5' } + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} accepts@1.3.8: - resolution: - { integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} accepts@2.0.0: - resolution: - { integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} + engines: {node: '>= 0.6'} acorn-jsx@5.3.2: - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.4: - resolution: - { integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== } - engines: { node: '>=0.4.0' } - - acorn@8.15.0: - resolution: - { integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== } - engines: { node: '>=0.4.0' } + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + engines: {node: '>=0.4.0'} hasBin: true agent-base@6.0.2: - resolution: - { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} agent-base@7.1.4: - resolution: - { integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} ajv-formats@2.1.1: - resolution: - { integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== } + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -4256,1196 +3192,945 @@ packages: optional: true ajv-formats@3.0.1: - resolution: - { integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== } + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true - ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} - ajv@8.17.1: - resolution: - { integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== } + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} ansi-align@3.0.1: - resolution: - { integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== } + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} ansi-escapes@4.3.2: - resolution: - { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} - ansi-escapes@7.2.0: - resolution: - { integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw== } - engines: { node: '>=18' } + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} + engines: {node: '>=18'} ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-regex@6.2.2: - resolution: - { integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} ansi-styles@3.2.1: - resolution: - { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} ansi-styles@6.2.3: - resolution: - { integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} any-promise@1.3.0: - resolution: - { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + anynum@1.0.1: + resolution: {integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==} archiver-utils@5.0.2: - resolution: - { integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} archiver@7.0.1: - resolution: - { integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ== } - engines: { node: '>= 14' } - - arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + argue-cli@3.1.0: + resolution: {integrity: sha512-DhBpBfXL4SS2uC0N922MMajKR3CdrTG0u2or1PNYgXMsrSzViJrbtvT0nCLlLGUI0plam/ZZCs7aAauHtW9thw==} + engines: {node: '>=22'} + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} aria-query@5.3.0: - resolution: - { integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== } + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} aria-query@5.3.2: - resolution: - { integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} array-buffer-byte-length@1.0.2: - resolution: - { integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} array-flatten@1.1.1: - resolution: - { integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== } - - array-ify@1.0.0: - resolution: - { integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== } + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} array-includes@3.1.9: - resolution: - { integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} array.prototype.findlast@1.2.5: - resolution: - { integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} array.prototype.findlastindex@1.2.6: - resolution: - { integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} array.prototype.flat@1.3.3: - resolution: - { integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} array.prototype.flatmap@1.3.3: - resolution: - { integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} array.prototype.tosorted@1.1.4: - resolution: - { integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} arraybuffer.prototype.slice@1.0.4: - resolution: - { integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} arrify@2.0.1: - resolution: - { integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} as-array@2.0.0: - resolution: - { integrity: sha512-1Sd1LrodN0XYxYeZcN1J4xYZvmvTwD5tDWaPUGPIzH1mFsmzsPnVtd2exWhecMjtZk/wYWjNZJiD3b1SLCeJqg== } + resolution: {integrity: sha512-1Sd1LrodN0XYxYeZcN1J4xYZvmvTwD5tDWaPUGPIzH1mFsmzsPnVtd2exWhecMjtZk/wYWjNZJiD3b1SLCeJqg==} assertion-error@2.0.1: - resolution: - { integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} ast-types-flow@0.0.8: - resolution: - { integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== } + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} ast-types@0.13.4: - resolution: - { integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== } - engines: { node: '>=4' } + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} ast-types@0.16.1: - resolution: - { integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} - ast-v8-to-istanbul@0.3.11: - resolution: - { integrity: sha512-Qya9fkoofMjCBNVdWINMjB5KZvkYfaO9/anwkWnjxibpWUxo5iHl2sOdP7/uAqaRuUYuoo8rDwnbaaKVFxoUvw== } + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==} async-function@1.0.0: - resolution: - { integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} async-lock@1.4.1: - resolution: - { integrity: sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ== } + resolution: {integrity: sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==} async-retry@1.3.3: - resolution: - { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} async@3.2.6: - resolution: - { integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== } + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} at-least-node@1.0.0: - resolution: - { integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} available-typed-arrays@1.0.7: - resolution: - { integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} - axe-core@4.10.3: - resolution: - { integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg== } - engines: { node: '>=4' } + axe-core@4.13.0: + resolution: {integrity: sha512-UzGt8zg7Ny8djbYMhxl2zuEevVa7r2gJjYY5Lwr1xM7+XU2nd6CkIWFTVcCIbAP63vSz71NaVyyuSk9lHKcy0A==} + engines: {node: '>=4'} - axios@1.13.5: - resolution: - { integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q== } + axios@1.19.0: + resolution: {integrity: sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==} axobject-query@4.1.0: - resolution: - { integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} - b4a@1.7.3: - resolution: - { integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q== } + b4a@1.8.1: + resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} peerDependencies: react-native-b4a: '*' peerDependenciesMeta: react-native-b4a: optional: true - babel-jest@30.0.4: - resolution: - { integrity: sha512-UjG2j7sAOqsp2Xua1mS/e+ekddkSu3wpf4nZUSvXNHuVWdaOUXQ77+uyjJLDE9i0atm5x4kds8K9yb5lRsRtcA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + babel-jest@30.4.1: + resolution: {integrity: sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.11.0 + '@babel/core': ^7.11.0 || ^8.0.0-0 babel-plugin-istanbul@7.0.1: - resolution: - { integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} + engines: {node: '>=12'} - babel-plugin-jest-hoist@30.0.1: - resolution: - { integrity: sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + babel-plugin-jest-hoist@30.4.0: + resolution: {integrity: sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} babel-plugin-macros@3.1.0: - resolution: - { integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== } - engines: { node: '>=10', npm: '>=6' } + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} babel-polyfill@6.26.0: - resolution: - { integrity: sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ== } + resolution: {integrity: sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==} babel-preset-current-node-syntax@1.2.0: - resolution: - { integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== } + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} peerDependencies: '@babel/core': ^7.0.0 || ^8.0.0-0 - babel-preset-jest@30.0.1: - resolution: - { integrity: sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + babel-preset-jest@30.4.0: + resolution: {integrity: sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: - '@babel/core': ^7.11.0 + '@babel/core': ^7.11.0 || ^8.0.0-beta.1 babel-runtime@6.26.0: - resolution: - { integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== } + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.2: - resolution: - { integrity: sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg== } - engines: { node: 20 || >=22 } + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} - bare-events@2.8.2: - resolution: - { integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ== } + bare-events@2.9.1: + resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==} peerDependencies: bare-abort-controller: '*' peerDependenciesMeta: bare-abort-controller: optional: true - base64-js@1.3.1: - resolution: - { integrity: sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== } + bare-fs@4.8.0: + resolution: {integrity: sha512-fM+MhCvdQhZ7NV6S95a07gPSqjIYKn6mFaXfx266wN3ajZGl/+1AzH+ubkXQ0fFZvOe2nk9VHkzdYkQE5zMV3Q==} + engines: {bare: '>=1.28.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-path@3.1.1: + resolution: {integrity: sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ==} + + bare-stream@2.13.3: + resolution: {integrity: sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==} + peerDependencies: + bare-abort-controller: '*' + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-buffer: + optional: true + bare-events: + optional: true + + bare-url@2.5.2: + resolution: {integrity: sha512-L13PCJzKG8RGvx8V1/DdMi12ERhC3tprr7/8a94BxpmnRsFqxh5XZNdhtMxu5HPkRshYOOWRGY8lDP7ZhpG9Cg==} + + base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} base64-stream@1.0.0: - resolution: - { integrity: sha512-BQQZftaO48FcE1Kof9CmXMFaAdqkcNorgc8CxesZv9nMbbTF1EFyQe89UOuh//QMmdtfUDXyO8rgUalemL5ODA== } - - baseline-browser-mapping@2.8.27: - resolution: - { integrity: sha512-2CXFpkjVnY2FT+B6GrSYxzYf65BJWEqz5tIRHCvNsZZ2F3CmsCB37h8SpYgKG7y9C4YAeTipIPWG7EmFmhAeXA== } - hasBin: true + resolution: {integrity: sha512-BQQZftaO48FcE1Kof9CmXMFaAdqkcNorgc8CxesZv9nMbbTF1EFyQe89UOuh//QMmdtfUDXyO8rgUalemL5ODA==} - baseline-browser-mapping@2.9.19: - resolution: - { integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg== } + baseline-browser-mapping@2.11.13: + resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==} + engines: {node: '>=6.0.0'} hasBin: true basic-auth-connect@1.1.0: - resolution: - { integrity: sha512-rKcWjfiRZ3p5WS9e5q6msXa07s6DaFAMXoyowV+mb2xQG+oYdw2QEUyKi0Xp95JvXzShlM+oGy5QuqSK6TfC1Q== } + resolution: {integrity: sha512-rKcWjfiRZ3p5WS9e5q6msXa07s6DaFAMXoyowV+mb2xQG+oYdw2QEUyKi0Xp95JvXzShlM+oGy5QuqSK6TfC1Q==} basic-auth@2.0.1: - resolution: - { integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} - basic-ftp@5.1.0: - resolution: - { integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw== } - engines: { node: '>=10.0.0' } + basic-ftp@5.3.1: + resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==} + engines: {node: '>=10.0.0'} bignumber.js@9.3.1: - resolution: - { integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ== } + resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} binary-extensions@2.3.0: - resolution: - { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - body-parser@1.20.4: - resolution: - { integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA== } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + body-parser@1.20.6: + resolution: {integrity: sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@2.2.1: - resolution: - { integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw== } - engines: { node: '>=18' } + body-parser@2.3.0: + resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} + engines: {node: '>=18'} boxen@5.1.2: - resolution: - { integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} - brace-expansion@1.1.12: - resolution: - { integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== } + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} - brace-expansion@2.0.2: - resolution: - { integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== } + brace-expansion@2.1.4: + resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} - brace-expansion@5.0.2: - resolution: - { integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== } - engines: { node: 20 || >=22 } + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} braces@3.0.3: - resolution: - { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} brotli@1.3.3: - resolution: - { integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg== } + resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} - browserslist@4.28.0: - resolution: - { integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } - hasBin: true + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - browserslist@4.28.1: - resolution: - { integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true bser@2.1.1: - resolution: - { integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== } + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} buffer-crc32@1.0.0: - resolution: - { integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} buffer-equal-constant-time@1.0.1: - resolution: - { integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== } + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} buffer@6.0.3: - resolution: - { integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== } + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} bundle-name@4.1.0: - resolution: - { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} bytes@3.1.2: - resolution: - { integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== } - engines: { node: '>= 0.8' } - - cacache@20.0.3: - resolution: - { integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} - cachedir@2.3.0: - resolution: - { integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== } - engines: { node: '>=6' } + cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} call-bind-apply-helpers@1.0.2: - resolution: - { integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: - { integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== } - engines: { node: '>= 0.4' } + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} call-bound@1.0.4: - resolution: - { integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} call-me-maybe@1.0.2: - resolution: - { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} camelcase@6.3.0: - resolution: - { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} camelcase@9.0.0: - resolution: - { integrity: sha512-TO9xmyXTZ9HUHI8M1OnvExxYB0eYVS/1e5s7IDMTAoIcwUd+aNcFODs6Xk83mobk0velyHFQgA1yIrvYc6wclw== } - engines: { node: '>=20' } + resolution: {integrity: sha512-TO9xmyXTZ9HUHI8M1OnvExxYB0eYVS/1e5s7IDMTAoIcwUd+aNcFODs6Xk83mobk0velyHFQgA1yIrvYc6wclw==} + engines: {node: '>=20'} - caniuse-lite@1.0.30001754: - resolution: - { integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg== } - - caniuse-lite@1.0.30001769: - resolution: - { integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg== } + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} chai@5.3.3: - resolution: - { integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + engines: {node: '>=18'} chai@6.2.2: - resolution: - { integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} chalk@2.4.2: - resolution: - { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} chalk@5.6.2: - resolution: - { integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} char-regex@1.0.2: - resolution: - { integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== } - engines: { node: '>=10' } - - chardet@0.7.0: - resolution: - { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} - chardet@2.1.1: - resolution: - { integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ== } + chardet@2.2.0: + resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} charenc@0.0.2: - resolution: - { integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== } + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - check-error@2.1.1: - resolution: - { integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== } - engines: { node: '>= 16' } + check-error@2.1.3: + resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} + engines: {node: '>= 16'} chokidar@3.6.0: - resolution: - { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} chownr@3.0.0: - resolution: - { integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== } - engines: { node: '>=18' } + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} ci-info@2.0.0: - resolution: - { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} ci-info@4.4.0: - resolution: - { integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + engines: {node: '>=8'} cjs-module-lexer@2.2.0: - resolution: - { integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ== } + resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} cjson@0.3.3: - resolution: - { integrity: sha512-yKNcXi/Mvi5kb1uK0sahubYiyfUO2EUgOp4NcY9+8NX5Xmc+4yeNogZuLFkpLBBj7/QI9MjRUIuXrV9XOw5kVg== } - engines: { node: '>= 0.3.0' } + resolution: {integrity: sha512-yKNcXi/Mvi5kb1uK0sahubYiyfUO2EUgOp4NcY9+8NX5Xmc+4yeNogZuLFkpLBBj7/QI9MjRUIuXrV9XOw5kVg==} + engines: {node: '>= 0.3.0'} cli-boxes@2.2.1: - resolution: - { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: '>=8' } - - cli-cursor@5.0.0: - resolution: - { integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} cli-highlight@2.1.11: - resolution: - { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true cli-spinners@2.9.2: - resolution: - { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} cli-table3@0.6.5: - resolution: - { integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== } - engines: { node: 10.* || >= 12.* } - - cli-truncate@5.1.1: - resolution: - { integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A== } - engines: { node: '>=20' } + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} cli-width@3.0.0: - resolution: - { integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} client-only@0.0.1: - resolution: - { integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== } + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} cloudevents@10.0.0: - resolution: - { integrity: sha512-uyzC+PpMMRawbouHO+3mlisr3QfEDObmo2pN4oTTF6dZncZgpIzdasZx0tRBFI1dMsqCLZZXMtz8cUuvYqHdbw== } - engines: { node: '>=20 <=24' } + resolution: {integrity: sha512-uyzC+PpMMRawbouHO+3mlisr3QfEDObmo2pN4oTTF6dZncZgpIzdasZx0tRBFI1dMsqCLZZXMtz8cUuvYqHdbw==} + engines: {node: '>=20 <=24'} clsx@2.1.1: - resolution: - { integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} co@4.6.0: - resolution: - { integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== } - engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} collect-v8-coverage@1.0.3: - resolution: - { integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw== } + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} color-convert@1.9.3: - resolution: - { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-convert@3.1.3: - resolution: - { integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg== } - engines: { node: '>=14.6' } + resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} + engines: {node: '>=14.6'} color-name@1.1.3: - resolution: - { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-name@2.1.0: - resolution: - { integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg== } - engines: { node: '>=12.20' } + color-name@2.1.1: + resolution: {integrity: sha512-p2FdgwVx1a9yWBHP2wI0VgShkDpgN4kZISkxdNipGBJWpa5G6b04OINlVWCyJj0JmfvcPrgqt95E9k8yvaOJFg==} + engines: {node: '>=12.20'} color-string@2.1.4: - resolution: - { integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} + engines: {node: '>=18'} color@5.0.3: - resolution: - { integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} + engines: {node: '>=18'} colorette@2.0.20: - resolution: - { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} commander@10.0.1: - resolution: - { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } - engines: { node: '>=14' } - - commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: '>=16' } - - commander@14.0.2: - resolution: - { integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ== } - engines: { node: '>=20' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} commander@5.1.0: - resolution: - { integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} commander@7.2.0: - resolution: - { integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== } - engines: { node: '>= 10' } - - commitizen@4.3.1: - resolution: - { integrity: sha512-gwAPAVTy/j5YcOOebcCRIijn+mSjWJC+IYKivTu6aG8Ei/scoXgfsMRnuAk6b0GRste2J4NGxVdMN3ZpfNaVaw== } - engines: { node: '>= 12' } - hasBin: true + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} - compare-func@2.0.0: - resolution: - { integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== } + commitizen@4.3.2: + resolution: {integrity: sha512-1Zs37z9JPvAcuTSSricZZwBhOPVNNxJouuY4yDEt+eD70EoxT2TU9kViG8CuB/PmVg2G4XsAGQiK4YCst97aDQ==} + engines: {node: '>= 18'} + hasBin: true composed-offset-position@0.0.6: - resolution: - { integrity: sha512-Q7dLompI6lUwd7LWyIcP66r4WcS9u7AL2h8HaeipiRfCRPLMWqRx8fYsjb4OHi6UQFifO7XtNC2IlEJ1ozIFxw== } + resolution: {integrity: sha512-Q7dLompI6lUwd7LWyIcP66r4WcS9u7AL2h8HaeipiRfCRPLMWqRx8fYsjb4OHi6UQFifO7XtNC2IlEJ1ozIFxw==} peerDependencies: '@floating-ui/utils': ^0.2.5 compress-commons@6.0.2: - resolution: - { integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} compressible@2.0.18: - resolution: - { integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} compression@1.8.1: - resolution: - { integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@9.2.1: - resolution: - { integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng== } - engines: { node: '>=18' } + concurrently@10.0.4: + resolution: {integrity: sha512-trZql+7l/0+WRAsAnEdctr4+iiOS6ZrViI6H8QWcCF9MFS/LT0dKpe8vluB1to6it+OxSI4VospFTIFMW8DJRw==} + engines: {node: '>=22'} hasBin: true config-chain@1.1.13: - resolution: - { integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== } + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} configstore@5.0.1: - resolution: - { integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} connect@3.7.0: - resolution: - { integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} content-disposition@0.5.4: - resolution: - { integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} - content-disposition@1.0.1: - resolution: - { integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q== } - engines: { node: '>=18' } + content-disposition@1.1.0: + resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} + engines: {node: '>=18'} content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} - contrast-color@1.0.1: - resolution: - { integrity: sha512-XeTV/LiyWrf/OWnODTqve2YGBfg32N6zlLqQjJKmEY+ffDqIfecgdmluVz7tky1D4VEaweZgoeRJJT87gDSDCQ== } - engines: { npm: '>= 4.0.0' } - - conventional-changelog-angular@8.1.0: - resolution: - { integrity: sha512-GGf2Nipn1RUCAktxuVauVr1e3r8QrLP/B0lEUsFktmGqc3ddbQkhoJZHJctVU829U1c6mTSWftrVOCHaL85Q3w== } - engines: { node: '>=18' } + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} - conventional-changelog-conventionalcommits@9.1.0: - resolution: - { integrity: sha512-MnbEysR8wWa8dAEvbj5xcBgJKQlX/m0lhS8DsyAAWDHdfs2faDJxTgzRYlRYpXSe7UiKrIIlB4TrBKU9q9DgkA== } - engines: { node: '>=18' } + contrast-color@1.0.1: + resolution: {integrity: sha512-XeTV/LiyWrf/OWnODTqve2YGBfg32N6zlLqQjJKmEY+ffDqIfecgdmluVz7tky1D4VEaweZgoeRJJT87gDSDCQ==} + engines: {npm: '>= 4.0.0'} conventional-commit-types@3.0.0: - resolution: - { integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg== } + resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} - conventional-commits-parser@6.2.1: - resolution: - { integrity: sha512-20pyHgnO40rvfI0NGF/xiEoFMkXDtkF8FwHvk5BokoFoCuTQRI8vrNCNFWUOfuolKJMm1tPCHc8GgYEtr1XRNA== } - engines: { node: '>=18' } + conventional-commits-parser@7.1.2: + resolution: {integrity: sha512-O+x4N2yH+ijvqWlIyTHsXTAP+algNWgGbjY2duCe8w2vUMvUB95cLRslCPfTMQyLAKlet3bhZTdu6ozn4M+QJQ==} + engines: {node: '>=22'} hasBin: true convert-source-map@1.9.0: - resolution: - { integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== } + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cookie-signature@1.0.7: - resolution: - { integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== } + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} cookie-signature@1.2.2: - resolution: - { integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== } - engines: { node: '>=6.6.0' } + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} + engines: {node: '>=6.6.0'} cookie@0.7.2: - resolution: - { integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} copy-file@11.1.0: - resolution: - { integrity: sha512-X8XDzyvYaA6msMyAM575CUoygY5b44QzLcGRKsK3MFmXcOvQa518dNPLsKYwkYsn72g3EiW+LE0ytd/FlqWmyw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-X8XDzyvYaA6msMyAM575CUoygY5b44QzLcGRKsK3MFmXcOvQa518dNPLsKYwkYsn72g3EiW+LE0ytd/FlqWmyw==} + engines: {node: '>=18'} core-js@2.6.12: - resolution: - { integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== } + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} cors@2.8.6: - resolution: - { integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw== } - engines: { node: '>= 0.10' } - - cosmiconfig-typescript-loader@6.1.0: - resolution: - { integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g== } - engines: { node: '>=v18' } + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + + cosmiconfig-typescript-loader@6.3.0: + resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} + engines: {node: '>=v18'} peerDependencies: '@types/node': '*' cosmiconfig: '>=9' typescript: '>=5' cosmiconfig@7.1.0: - resolution: - { integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== } - engines: { node: '>=10' } - - cosmiconfig@9.0.0: - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cosmiconfig@9.0.2: + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: typescript: optional: true - cpy-cli@6.0.0: - resolution: - { integrity: sha512-q7GUqTDnRymCbScJ4Ph1IUM86wWdKG8JbgrvKLgvvehH4wrbRcVN+jRwOTlxJdwm7ykdXMKSp6IESksFeHa0eA== } - engines: { node: '>=20' } + cpy-cli@7.0.0: + resolution: {integrity: sha512-uGCdhIxGfZcPXidCuT8w1jBknVXFx0un7NLjzqBZcdnkIWtLUnWMPk5TC37ceoVjwASLSNsRtTXXNTuFIyE2ng==} + engines: {node: '>=20'} hasBin: true - cpy@12.1.0: - resolution: - { integrity: sha512-3z9tP1rPBLG7pQYn9iRgl7JOSew0SMPuWmakaRfzhXpmFBHmRbp7JekpuqPkXbbWOdSeKSbInYEcdIZjov2fNQ== } - engines: { node: '>=20' } + cpy@13.2.2: + resolution: {integrity: sha512-FEc7gmNSj4mDQCWNt3mByVn3qZX3EjMvggiqgCQPF1yJAFfyX6Ai/emN89w18TRp+QcFmdTLgX3hfNnIVgYHcw==} + engines: {node: '>=20'} crc-32@1.2.2: - resolution: - { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true crc32-stream@6.0.0: - resolution: - { integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g== } - engines: { node: '>= 14' } - - create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} cross-env@10.1.0: - resolution: - { integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw== } - engines: { node: '>=20' } + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} hasBin: true cross-env@7.0.3: - resolution: - { integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== } - engines: { node: '>=10.14', npm: '>=6', yarn: '>=1' } + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true cross-spawn@7.0.6: - resolution: - { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} crypt@0.0.2: - resolution: - { integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== } - - crypto-js@4.2.0: - resolution: - { integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== } + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} crypto-random-string@2.0.0: - resolution: - { integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} css.escape@1.5.1: - resolution: - { integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== } + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} cssfilter@0.0.10: - resolution: - { integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== } + resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} csstype@3.2.3: - resolution: - { integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== } + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} csv-parse@5.6.0: - resolution: - { integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q== } + resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} cz-conventional-changelog@3.3.0: - resolution: - { integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} + engines: {node: '>= 10'} d3-array@2.12.1: - resolution: - { integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== } + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} d3-array@3.2.4: - resolution: - { integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} d3-axis@3.0.0: - resolution: - { integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} d3-brush@3.0.0: - resolution: - { integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} d3-chord@3.0.1: - resolution: - { integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} d3-color@3.1.0: - resolution: - { integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} d3-contour@4.0.2: - resolution: - { integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} d3-delaunay@6.0.4: - resolution: - { integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} d3-dispatch@2.0.0: - resolution: - { integrity: sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA== } + resolution: {integrity: sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==} d3-dispatch@3.0.1: - resolution: - { integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} d3-drag@3.0.0: - resolution: - { integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} d3-dsv@3.0.1: - resolution: - { integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} hasBin: true d3-ease@3.0.1: - resolution: - { integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} d3-fetch@3.0.1: - resolution: - { integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} d3-force@3.0.0: - resolution: - { integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} - d3-format@3.1.0: - resolution: - { integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== } - engines: { node: '>=12' } + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} d3-geo@3.1.1: - resolution: - { integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} d3-hierarchy@3.1.2: - resolution: - { integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} d3-interpolate@3.0.1: - resolution: - { integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} d3-path@1.0.9: - resolution: - { integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== } + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} d3-path@3.1.0: - resolution: - { integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} d3-polygon@2.0.0: - resolution: - { integrity: sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ== } + resolution: {integrity: sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==} d3-polygon@3.0.1: - resolution: - { integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} d3-quadtree@3.0.1: - resolution: - { integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} d3-random@3.0.1: - resolution: - { integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} d3-sankey@0.12.3: - resolution: - { integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ== } + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} d3-scale-chromatic@3.1.0: - resolution: - { integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} d3-scale@4.0.2: - resolution: - { integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} d3-selection@3.0.0: - resolution: - { integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} d3-shape@1.3.7: - resolution: - { integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== } + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} d3-shape@3.2.0: - resolution: - { integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} d3-time-format@4.1.0: - resolution: - { integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} d3-time@3.1.0: - resolution: - { integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} d3-timer@2.0.0: - resolution: - { integrity: sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA== } + resolution: {integrity: sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==} d3-timer@3.0.1: - resolution: - { integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} d3-transition@3.0.1: - resolution: - { integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} peerDependencies: d3-selection: 2 - 3 d3-voronoi-map@2.1.1: - resolution: - { integrity: sha512-mCXfz/kD9IQxjHaU2IMjkO8fSo4J6oysPR2iL+omDsCy1i1Qn6BQ/e4hEAW8C6ms2kfuHwqtbNom80Hih94YsA== } + resolution: {integrity: sha512-mCXfz/kD9IQxjHaU2IMjkO8fSo4J6oysPR2iL+omDsCy1i1Qn6BQ/e4hEAW8C6ms2kfuHwqtbNom80Hih94YsA==} d3-voronoi-treemap@1.1.2: - resolution: - { integrity: sha512-7odu9HdG/yLPWwzDteJq4yd9Q/NwgQV7IE/u36VQtcCK7k1sZwDqbkHCeMKNTBsq5mQjDwolTsrXcU0j8ZEMCA== } + resolution: {integrity: sha512-7odu9HdG/yLPWwzDteJq4yd9Q/NwgQV7IE/u36VQtcCK7k1sZwDqbkHCeMKNTBsq5mQjDwolTsrXcU0j8ZEMCA==} d3-weighted-voronoi@1.1.3: - resolution: - { integrity: sha512-C3WdvSKl9aqhAy+f3QT3PPsQG6V+ajDfYO3BSclQDSD+araW2xDBFIH67aKzsSuuuKaX8K2y2dGq1fq/dWTVig== } + resolution: {integrity: sha512-C3WdvSKl9aqhAy+f3QT3PPsQG6V+ajDfYO3BSclQDSD+araW2xDBFIH67aKzsSuuuKaX8K2y2dGq1fq/dWTVig==} d3-zoom@3.0.0: - resolution: - { integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} d3@7.9.0: - resolution: - { integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} damerau-levenshtein@1.0.8: - resolution: - { integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== } - - dargs@8.1.0: - resolution: - { integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} data-uri-to-buffer@4.0.1: - resolution: - { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} data-uri-to-buffer@6.0.2: - resolution: - { integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} data-view-buffer@1.0.2: - resolution: - { integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} data-view-byte-length@1.0.2: - resolution: - { integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} data-view-byte-offset@1.0.1: - resolution: - { integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} debug@2.6.9: - resolution: - { integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== } + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -5453,8 +4138,7 @@ packages: optional: true debug@3.2.7: - resolution: - { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -5462,19 +4146,8 @@ packages: optional: true debug@4.3.1: - resolution: - { integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== } - engines: { node: '>=6.0' } - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.1: - resolution: - { integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -5482,26 +4155,19 @@ packages: optional: true debug@4.4.3: - resolution: - { integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - decimal.js@10.6.0: - resolution: - { integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== } - dedent@0.7.0: - resolution: - { integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== } + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dedent@1.7.1: - resolution: - { integrity: sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg== } + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -5509,379 +4175,278 @@ packages: optional: true deep-eql@5.0.2: - resolution: - { integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== } - engines: { node: '>=6' } - - deep-equal-in-any-order@2.1.0: - resolution: - { integrity: sha512-9FklcFjcehm1yBWiOYtmazJOiMbT+v81Kq6nThIuXbWLWIZMX3ZI+QoLf7wCi0T8XzTAXf6XqEdEyVrjZkhbGA== } - - deep-equal@1.1.2: - resolution: - { integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} deep-extend@0.6.0: - resolution: - { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} deep-freeze@0.0.1: - resolution: - { integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg== } + resolution: {integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==} deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} deepmerge@4.3.1: - resolution: - { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} default-browser-id@5.0.1: - resolution: - { integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} default-browser@5.5.0: - resolution: - { integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} define-data-property@1.1.4: - resolution: - { integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} define-lazy-prop@3.0.0: - resolution: - { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} degenerator@5.0.1: - resolution: - { integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} - delaunator@5.0.1: - resolution: - { integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== } + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} depd@2.0.0: - resolution: - { integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} dequal@2.0.3: - resolution: - { integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} destroy@1.2.0: - resolution: - { integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} detect-file@1.0.0: - resolution: - { integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} detect-indent@6.1.0: - resolution: - { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} detect-indent@7.0.2: - resolution: - { integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} + engines: {node: '>=12.20'} detect-libc@2.1.2: - resolution: - { integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} detect-newline@3.1.0: - resolution: - { integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} detect-newline@4.0.1: - resolution: - { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dfa@1.2.0: - resolution: - { integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q== } - - diff@8.0.3: - resolution: - { integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} discontinuous-range@1.0.0: - resolution: - { integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ== } + resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} dms-conversion@3.1.4: - resolution: - { integrity: sha512-o8umMOgrbh3dS3RJH0jbjEYGHA/mycyLbO8/vA8BIhHZhQj0to5dZwn2EchHTNa6YLv8VtOIMcN4Kv0TOVBN8g== } + resolution: {integrity: sha512-o8umMOgrbh3dS3RJH0jbjEYGHA/mycyLbO8/vA8BIhHZhQj0to5dZwn2EchHTNa6YLv8VtOIMcN4Kv0TOVBN8g==} doctrine@2.1.0: - resolution: - { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} doctrine@3.0.0: - resolution: - { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dom-accessibility-api@0.5.16: - resolution: - { integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== } + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} dom-accessibility-api@0.6.3: - resolution: - { integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== } + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} dot-prop@5.3.0: - resolution: - { integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} dunder-proto@1.0.1: - resolution: - { integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} duplexer@0.1.2: - resolution: - { integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== } + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} duplexify@4.1.3: - resolution: - { integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== } + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} ecdsa-sig-formatter@1.0.11: - resolution: - { integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== } + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} ee-first@1.1.1: - resolution: - { integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.250: - resolution: - { integrity: sha512-/5UMj9IiGDMOFBnN4i7/Ry5onJrAGSbOGo3s9FEKmwobGq6xw832ccET0CE3CkkMBZ8GJSlUIesZofpyurqDXw== } - - electron-to-chromium@1.5.286: - resolution: - { integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A== } + electron-to-chromium@1.5.405: + resolution: {integrity: sha512-bNglH7lPH5l+yHOes7Zr4VqxhOy4BQ9ZBUX4VdoFgxMpzJk7W1ZoO3Vgd9Pxa9PyjQ76sfm2aKH/nzEcCNRlew==} emittery@0.13.1: - resolution: - { integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} emoji-regex@10.6.0: - resolution: - { integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== } + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} emojilib@2.4.0: - resolution: - { integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== } + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - empathic@2.0.0: - resolution: - { integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA== } - engines: { node: '>=14' } + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + engines: {node: '>=14'} enabled@2.0.0: - resolution: - { integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== } + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} encodeurl@1.0.2: - resolution: - { integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} encodeurl@2.0.0: - resolution: - { integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== } - engines: { node: '>= 0.8' } - - encoding@0.1.13: - resolution: - { integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== } + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} end-of-stream@1.4.5: - resolution: - { integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== } + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.18.4: - resolution: - { integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q== } - engines: { node: '>=10.13.0' } + enhanced-resolve@5.24.5: + resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} + engines: {node: '>=10.13.0'} env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} environment@1.1.0: - resolution: - { integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} - err-code@2.0.3: - resolution: - { integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== } + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} - es-abstract@1.24.0: - resolution: - { integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== } - engines: { node: '>= 0.4' } + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} es-define-property@1.0.1: - resolution: - { integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} es-errors@1.3.0: - resolution: - { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} - es-iterator-helpers@1.2.1: - resolution: - { integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== } - engines: { node: '>= 0.4' } + es-iterator-helpers@1.4.0: + resolution: {integrity: sha512-c/A0P0oxkACDc+cKWw8evLXK83oBKgn0qPOqCYT4x9uolpCIJAcYvJC9QYKNDRPsTeGyCrQ326jrvgZWdCdK5Q==} + engines: {node: '>= 0.4'} - es-module-lexer@1.7.0: - resolution: - { integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== } + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} - es-object-atoms@1.1.1: - resolution: - { integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== } - engines: { node: '>= 0.4' } + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: - resolution: - { integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} es-shim-unscopables@1.1.0: - resolution: - { integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== } - engines: { node: '>= 0.4' } - - es-to-primitive@1.3.0: - resolution: - { integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== } - engines: { node: '>= 0.4' } - - es-toolkit@1.43.0: - resolution: - { integrity: sha512-SKCT8AsWvYzBBuUqMk4NPwFlSdqLpJwmy6AP322ERn8W2YLIB6JBXnwMI2Qsh2gfphT3q7EKAxKb23cvFHFwKA== } - - esbuild-register@3.6.0: - resolution: - { integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg== } - peerDependencies: - esbuild: '>=0.12 <1' + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} + engines: {node: '>= 0.4'} - esbuild@0.27.2: - resolution: - { integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw== } - engines: { node: '>=18' } + es-toolkit@1.50.0: + resolution: {integrity: sha512-OyZKhUVvEep9ITEiwHn8GKnMRQIVqoSIX7WnRbkWgJkllCujilqP2rD0u979tkl8wqyc8ICwlc1UBVv/Sl1G6w==} + + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: - resolution: - { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} escape-goat@2.1.1: - resolution: - { integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} escape-html@1.0.3: - resolution: - { integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@2.0.0: - resolution: - { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} escodegen@2.1.0: - resolution: - { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true - eslint-config-prettier@10.1.5: - resolution: - { integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw== } + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-import-resolver-node@0.3.9: - resolution: - { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } + eslint-import-resolver-node@0.3.10: + resolution: {integrity: sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==} - eslint-module-utils@2.12.1: - resolution: - { integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== } - engines: { node: '>=4' } + eslint-module-utils@2.14.0: + resolution: {integrity: sha512-W2WCRZ9Dqntd+2u8jJcVMV2PKulc6RdLgUUoh/yQr3uB6lo/ZOeGx11sv60/8S4QFFKNslAlWhr9u0Ef7ZW6Ig==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -5901,9 +4466,8 @@ packages: optional: true eslint-plugin-import@2.32.0: - resolution: - { integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 @@ -5912,53 +4476,48 @@ packages: optional: true eslint-plugin-jsx-a11y@6.10.2: - resolution: - { integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-react-hooks@5.2.0: - resolution: - { integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== } - engines: { node: '>=10' } + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 eslint-plugin-react@7.37.5: - resolution: - { integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} + engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-storybook@9.0.16: - resolution: - { integrity: sha512-A9kJaYBGYswo11t9coo1rpY5i8qPJx9JX5/6YWK3L3zT9lCxJWkYFAed/1Jt92yk7EkOzLrwrIIjMj/+7erlgw== } - engines: { node: '>=20.0.0' } + eslint-plugin-storybook@10.5.7: + resolution: {integrity: sha512-mLpamG1Rsica2jYbUzIZOEuy7Fm1IMtVLMvvxGTpjTVKUMxTXJsANx3MBpH2VSbGQB8Yzlt5399WL/O07K97Ig==} peerDependencies: eslint: '>=8' - storybook: ^9.0.16 + storybook: ^10.5.7 eslint-scope@8.4.0: - resolution: - { integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-visitor-keys@4.2.1: - resolution: - { integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - eslint@9.31.0: - resolution: - { integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@9.39.5: + resolution: {integrity: sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: jiti: '*' @@ -5967,202 +4526,156 @@ packages: optional: true espree@10.4.0: - resolution: - { integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: - { integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== } - engines: { node: '>=0.10' } + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} estree-walker@2.0.2: - resolution: - { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} etag@1.8.1: - resolution: - { integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} event-stream@3.3.4: - resolution: - { integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== } + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} event-target-shim@5.0.1: - resolution: - { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== } - engines: { node: '>=6' } - - eventemitter3@5.0.1: - resolution: - { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} events-listener@1.1.0: - resolution: - { integrity: sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g== } + resolution: {integrity: sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g==} events-universal@1.0.1: - resolution: - { integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw== } + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} events@3.3.0: - resolution: - { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } - engines: { node: '>=0.8.x' } + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} - eventsource-parser@3.0.6: - resolution: - { integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg== } - engines: { node: '>=18.0.0' } + eventsource-parser@3.1.1: + resolution: {integrity: sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==} + engines: {node: '>=18.0.0'} eventsource@3.0.7: - resolution: - { integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} + engines: {node: '>=18.0.0'} execa@5.1.1: - resolution: - { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} exegesis-express@4.0.0: - resolution: - { integrity: sha512-V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw== } - engines: { node: '>=6.0.0', npm: '>5.0.0' } + resolution: {integrity: sha512-V2hqwTtYRj0bj43K4MCtm0caD97YWkqOUHFMRCBW5L1x9IjyqOEc7Xa4oQjjiFbeFOSQzzwPV+BzXsQjSz08fw==} + engines: {node: '>=6.0.0', npm: '>5.0.0'} exegesis@4.3.0: - resolution: - { integrity: sha512-V90IJQ4XYO1SfH5qdJTOijXkQTF3hSpSHHqlf7MstUMDKP22iAvi63gweFLtPZ4Gj3Wnh8RgJX5TGu0WiwTyDQ== } - engines: { node: '>=10.0.0', npm: '>5.0.0' } + resolution: {integrity: sha512-V90IJQ4XYO1SfH5qdJTOijXkQTF3hSpSHHqlf7MstUMDKP22iAvi63gweFLtPZ4Gj3Wnh8RgJX5TGu0WiwTyDQ==} + engines: {node: '>=10.0.0', npm: '>5.0.0'} exit-x@0.2.2: - resolution: - { integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==} + engines: {node: '>= 0.8.0'} expand-tilde@2.0.2: - resolution: - { integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} - expect-type@1.2.2: - resolution: - { integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA== } - engines: { node: '>=12.0.0' } + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} - expect@30.0.4: - resolution: - { integrity: sha512-dDLGjnP2cKbEppxVICxI/Uf4YemmGMPNy0QytCbfafbpYk9AFQsxb8Uyrxii0RPK7FWgLGlSem+07WirwS3cFQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + expect@30.4.1: + resolution: {integrity: sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} exponential-backoff@3.1.3: - resolution: - { integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA== } + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.2.1: - resolution: - { integrity: sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g== } - engines: { node: '>= 16' } + express-rate-limit@8.6.2: + resolution: {integrity: sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==} + engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: - { integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g== } - engines: { node: '>= 0.10.0' } + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} + engines: {node: '>= 0.10.0'} express@5.2.1: - resolution: - { integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw== } - engines: { node: '>= 18' } + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} + engines: {node: '>= 18'} extend@3.0.2: - resolution: - { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } - - external-editor@3.1.0: - resolution: - { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } - engines: { node: '>=4' } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} farmhash-modern@1.1.0: - resolution: - { integrity: sha512-6ypT4XfgqJk/F3Yuv4SX26I3doUjt0GTG4a+JgWxXQpxXzTBq8fPUeGHfcYMMDPHJHm3yPOSjaeBwBGAHWXCdA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-6ypT4XfgqJk/F3Yuv4SX26I3doUjt0GTG4a+JgWxXQpxXzTBq8fPUeGHfcYMMDPHJHm3yPOSjaeBwBGAHWXCdA==} + engines: {node: '>=18.0.0'} fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-fifo@1.3.2: - resolution: - { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} fast-glob@3.3.3: - resolution: - { integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.1.5: + resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} - fast-uri@3.1.0: - resolution: - { integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== } + fast-xml-builder@1.3.0: + resolution: {integrity: sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==} - fast-xml-parser@4.5.3: - resolution: - { integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig== } + fast-xml-parser@5.10.1: + resolution: {integrity: sha512-IEMIf7298kXuZSRFoGfMYrl7is8LpavODgbNz1cwIudv7KwVFnuU+UsMporfq6PD6aXSlawZlARiA3UywCTfMw==} hasBin: true - fastq@1.19.1: - resolution: - { integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== } + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} faye-websocket@0.11.4: - resolution: - { integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} fb-watchman@2.0.2: - resolution: - { integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== } + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} fdir@6.5.0: - resolution: - { integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -6170,104 +4683,85 @@ packages: optional: true fecha@4.2.3: - resolution: - { integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== } + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} fetch-blob@3.2.0: - resolution: - { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} - fflate@0.8.2: - resolution: - { integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== } + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} file-entry-cache@8.0.0: - resolution: - { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } - engines: { node: '>=16.0.0' } - - filesize@6.4.0: - resolution: - { integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ== } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: - resolution: - { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} finalhandler@1.1.2: - resolution: - { integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} finalhandler@1.3.2: - resolution: - { integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} finalhandler@2.1.1: - resolution: - { integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA== } - engines: { node: '>= 18.0.0' } + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} find-node-modules@2.1.3: - resolution: - { integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg== } + resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==} find-root@1.1.0: - resolution: - { integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== } + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} find-up-simple@1.0.1: - resolution: - { integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} + engines: {node: '>=18'} find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} findup-sync@4.0.0: - resolution: - { integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== } - engines: { node: '>= 8' } - - firebase-admin@13.6.0: - resolution: - { integrity: sha512-GdPA/t0+Cq8p1JnjFRBmxRxAGvF/kl2yfdhALl38PrRp325YxyQ5aNaHui0XmaKcKiGRFIJ/EgBNWFoDP0onjw== } - engines: { node: '>=18' } - - firebase-functions-test@3.4.1: - resolution: - { integrity: sha512-qAq0oszrBGdf4bnCF6t4FoSgMsepeIXh0Pi/FhikSE6e+TvKKGpfrfUP/5pFjJZxFcLsweoau88KydCql4xSeg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} + engines: {node: '>= 8'} + + firebase-admin@13.10.0: + resolution: {integrity: sha512-rbuCrJvYRwqBqvbccMS8fj/x2zsaMisdf5RQbRzQzr14Rbq9r2UlpuBHqWAwrO6c9dIRF56xF/xoepXsD5yDuQ==} + engines: {node: '>=18'} + + firebase-admin@14.2.0: + resolution: {integrity: sha512-zfs5PdccEgjX479bbMmz95Rqc7ttQ4LV3qkGFlPiqOaOu/suBZc3fG52Qzn2hQjiSHkBM4NP2AZV5r2NvAt0TQ==} + engines: {node: '>=22'} + + firebase-functions-test@3.5.0: + resolution: {integrity: sha512-Jg+f9GeWkWpgYRY9s+Oxst/b9kEnOJ6pU/XNFthOFYs2Ax2fU2Zxc7ckfTozYKEH/mzptSDxV5JYiPTvR+RhKA==} + engines: {node: '>=14.0.0'} peerDependencies: firebase-admin: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 firebase-functions: '>=4.9.0' jest: '>=28.0.0' - firebase-functions@7.0.5: - resolution: - { integrity: sha512-uG2dR5AObLuUrWWjj/de5XxNHCVi+Ehths0DSRcLjHJdgw1TSejwoZZ5na6gVrl3znNjRdBRy5Br5UlhaIU3Ww== } - engines: { node: '>=18.0.0' } + firebase-functions@7.3.2: + resolution: {integrity: sha512-DTa5CtCNxFE1gPjkjlhl5uh8AcNWXLKORAMRenfkecP8zGstbje+r2TaNh4Ehdxp0qTPvTUe/sS23VESW32Gbg==} + engines: {node: '>=18.0.0'} hasBin: true peerDependencies: '@apollo/server': ^5.2.0 '@as-integrations/express4': ^1.1.2 - firebase-admin: ^11.10.0 || ^12.0.0 || ^13.0.0 + firebase-admin: ^11.10.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 graphql: ^16.12.0 peerDependenciesMeta: '@apollo/server': @@ -6277,996 +4771,775 @@ packages: graphql: optional: true - firebase-tools@15.5.1: - resolution: - { integrity: sha512-9O05782lt45YTLsaV3IvVKop99Ah3BEFDiBHfzvZfFgPMS2liwIhpcbaNboYjDbhE6poyIRUlaAv1pSqNWvf0w== } - engines: { node: '>=20.0.0 || >=22.0.0 || >=24.0.0' } + firebase-tools@15.26.0: + resolution: {integrity: sha512-5GlK9O7/FffndJ3XFk6fBPTBJH4lNWCxQDP9YoKFWDO85YiGOOpmYyr4lqSyCTkTeQpj1KI1vhPnd9aO6E73ww==} + engines: {node: '>=20.0.0 || >=22.0.0 || >=24.0.0'} hasBin: true - firebase@12.5.0: - resolution: - { integrity: sha512-Ak8JcpH7FL6kiv0STwkv5+3CYEROO9iFWSx7OCZVvc4kIIABAIyAGs1mPGaHRxGUIApFZdMCXA7baq17uS6Mow== } + firebase@12.17.1: + resolution: {integrity: sha512-dhp41ye9jMQvhx5FwjMkf/hjDHJApl7gXmvzOZGvP0M7c/GZGUnQ4qvsvlOBkF0Pa7wAwHMdcpL0ON2pXCQ4Sw==} flat-cache@4.0.1: - resolution: - { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatpickr@4.6.13: - resolution: - { integrity: sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw== } + resolution: {integrity: sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==} - flatted@3.3.3: - resolution: - { integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== } + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} fn.name@1.1.0: - resolution: - { integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== } + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - focus-trap@7.7.1: - resolution: - { integrity: sha512-Pkp8m55GjxBLnhBoT6OXdMvfRr4TjMAKLvFM566zlIryq5plbhaTmLAJWTGR0EkRwLjEte1lCOG9MxF1ipJrOg== } + focus-trap@8.2.2: + resolution: {integrity: sha512-qV0g8hRYBqgACcFOH3f9wXc4zPKhr/0z9RI2a6ZijZ72EeBi4g8oBy8zAWuUR1TsMpOzwpUMFvjdasrC41Joug==} - follow-redirects@1.15.11: - resolution: - { integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== } - engines: { node: '>=4.0' } + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: debug: optional: true + fontkit@2.0.4: + resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + for-each@0.3.5: - resolution: - { integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} foreground-child@3.3.1: - resolution: - { integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} - form-data@2.5.5: - resolution: - { integrity: sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A== } - engines: { node: '>= 0.12' } + form-data@2.5.6: + resolution: {integrity: sha512-Ogz/E85h9tlfJzpI6TuFpGcHZFhLrb9Gw8wq9v40CxSCPnv7ahKr6Xgtkn0KYCDQJ8DNn5VoMO8EXr9V5PadyA==} + engines: {node: '>= 0.12'} - form-data@4.0.5: - resolution: - { integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== } - engines: { node: '>= 6' } + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} formdata-node@4.4.1: - resolution: - { integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ== } - engines: { node: '>= 12.20' } + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} formdata-polyfill@4.0.10: - resolution: - { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} forwarded@0.2.0: - resolution: - { integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} fresh@0.5.2: - resolution: - { integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} fresh@2.0.0: - resolution: - { integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} from@0.1.7: - resolution: - { integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== } + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} fs-extra@10.1.0: - resolution: - { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} fs-extra@9.1.0: - resolution: - { integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== } - engines: { node: '>=10' } - - fs-minipass@3.0.3: - resolution: - { integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.3: - resolution: - { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.8: - resolution: - { integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== } - engines: { node: '>= 0.4' } + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} + engines: {node: '>= 0.4'} functional-red-black-tree@1.0.1: - resolution: - { integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== } + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} functions-have-names@1.2.3: - resolution: - { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} fuzzy@0.1.3: - resolution: - { integrity: sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==} + engines: {node: '>= 0.6.0'} gaxios@6.7.1: - resolution: - { integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==} + engines: {node: '>=14'} gaxios@7.1.3: - resolution: - { integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==} + engines: {node: '>=18'} + + gaxios@7.3.0: + resolution: {integrity: sha512-RB5vLV+vvQeoFPCX4QMK6/hjVkbIamPp1QSUD0CiZcnj12qbpiL+pLbYtgD+oZkWl0tl9z+o2Utp+MpM3QRhBA==} + engines: {node: '>=18'} gcp-metadata@6.1.1: - resolution: - { integrity: sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==} + engines: {node: '>=14'} gcp-metadata@8.1.2: - resolution: - { integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==} + engines: {node: '>=18'} + + gcp-metadata@8.1.4: + resolution: {integrity: sha512-iJ9KMsiu+xKtNRX0PmGLSaIU3bUBAyzWTyqKemKPzNPsmmsBCQYmlNg+brEbES7IHSXtdVwzBPzx1vz3FAaipw==} + engines: {node: '>=18'} generator-function@2.0.1: - resolution: - { integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} gensync@1.0.0-beta.2: - resolution: - { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: - resolution: - { integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q== } - engines: { node: '>=18' } + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} get-intrinsic@1.3.0: - resolution: - { integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} get-package-type@0.1.0: - resolution: - { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} get-proto@1.0.1: - resolution: - { integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} get-symbol-description@1.1.0: - resolution: - { integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} get-uri@6.0.5: - resolution: - { integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg== } - engines: { node: '>= 14' } - - git-hooks-list@4.1.1: - resolution: - { integrity: sha512-cmP497iLq54AZnv4YRAEMnEyQ1eIn4tGKbmswqwmFV4GBnAqE8NLtWxxdXa++AalfgL5EBH4IxTPyquEuGY/jA== } - - git-raw-commits@4.0.0: - resolution: - { integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ== } - engines: { node: '>=16' } - hasBin: true + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} + engines: {node: '>= 14'} + + git-hooks-list@4.2.1: + resolution: {integrity: sha512-WNvqJjOxxs/8ZP9+DWdwWJ7cDsd60NHf39XnD82pDVrKO5q7xfPqpkK6hwEAmBa/ZSEE4IOoR75EzbbIuwGlMw==} glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} glob-slash@1.0.0: - resolution: - { integrity: sha512-ZwFh34WZhZX28ntCMAP1mwyAJkn8+Omagvt/GvA+JQM/qgT0+MR2NPF3vhvgdshfdvDyGZXs8fPXW84K32Wjuw== } + resolution: {integrity: sha512-ZwFh34WZhZX28ntCMAP1mwyAJkn8+Omagvt/GvA+JQM/qgT0+MR2NPF3vhvgdshfdvDyGZXs8fPXW84K32Wjuw==} glob-slasher@1.0.1: - resolution: - { integrity: sha512-5MUzqFiycIKLMD1B0dYOE4hGgLLUZUNGGYO4BExdwT32wUwW3DBOE7lMQars7vB1q43Fb3Tyt+HmgLKsJhDYdg== } + resolution: {integrity: sha512-5MUzqFiycIKLMD1B0dYOE4hGgLLUZUNGGYO4BExdwT32wUwW3DBOE7lMQars7vB1q43Fb3Tyt+HmgLKsJhDYdg==} glob@10.5.0: - resolution: - { integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== } + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@13.0.2: - resolution: - { integrity: sha512-035InabNu/c1lW0tzPhAgapKctblppqsKKG9ZaNzbr+gXwWMjXoiyGSyB9sArzrjG7jY+zntRq5ZSUYemrnWVQ== } - engines: { node: 20 || >=22 } - - glob@13.0.3: - resolution: - { integrity: sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA== } - engines: { node: 20 || >=22 } + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-directory@4.0.1: - resolution: - { integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== } - engines: { node: '>=18' } + global-directory@5.0.0: + resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==} + engines: {node: '>=20'} global-dirs@3.0.1: - resolution: - { integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} global-modules@1.0.0: - resolution: - { integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} global-prefix@1.0.2: - resolution: - { integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} globals@14.0.0: - resolution: - { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} - globals@16.3.0: - resolution: - { integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ== } - engines: { node: '>=18' } + globals@17.10.0: + resolution: {integrity: sha512-V0kztuWST2k8A/VbxAY8+L+7+Rgo3fyA24IHRLrZp7HOzJjV0gHSaZUjK9lpP/IrBSNite2tZ1prhRkinRu1CA==} + engines: {node: '>=18'} globalthis@1.0.4: - resolution: - { integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} - globby@15.0.0: - resolution: - { integrity: sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw== } - engines: { node: '>=20' } + globby@16.2.3: + resolution: {integrity: sha512-VZX7TV7jmd/pn71vdnLKtgwy1IWqc3KjI9x1/UtPkwoKk5fKrNLY30ltDe3cAM5xruIN7YuuaulFt133jRrKZg==} + engines: {node: '>=20'} google-auth-library@10.5.0: - resolution: - { integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w== } - engines: { node: '>=18' } + resolution: {integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==} + engines: {node: '>=18'} + + google-auth-library@10.9.1: + resolution: {integrity: sha512-i1ydyHrqcIxXkWh/uBmVkzCvIuq5yiK2ATndIe5XxKholrG/MTYP9xGYka4sQhrbIAgGjL2B6NOE7rFaiF3fXw==} + engines: {node: '>=18'} google-auth-library@9.15.1: - resolution: - { integrity: sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng==} + engines: {node: '>=14'} google-gax@4.6.1: - resolution: - { integrity: sha512-V6eky/xz2mcKfAd1Ioxyd6nmA61gao3n01C+YeuIwu3vzM9EDR6wcVzMSIbLMDXWeoi9SHYctXuKYC5uJUT3eQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-V6eky/xz2mcKfAd1Ioxyd6nmA61gao3n01C+YeuIwu3vzM9EDR6wcVzMSIbLMDXWeoi9SHYctXuKYC5uJUT3eQ==} + engines: {node: '>=14'} - google-gax@5.0.6: - resolution: - { integrity: sha512-1kGbqVQBZPAAu4+/R1XxPQKP0ydbNYoLAr4l0ZO2bMV0kLyLW4I1gAk++qBLWt7DPORTzmWRMsCZe86gDjShJA== } - engines: { node: '>=18' } + google-gax@5.0.8: + resolution: {integrity: sha512-M4vpZcXQIC1gqIVGQ7eaU3jXQA6zecStyTXu514TYfThlgSurYJOxHZo9fzU6hAgwPWvuEynAVHWyaIk80VeEA==} + engines: {node: '>=18'} google-logging-utils@0.0.2: - resolution: - { integrity: sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==} + engines: {node: '>=14'} google-logging-utils@1.1.3: - resolution: - { integrity: sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==} + engines: {node: '>=14'} - googleapis-common@8.0.1: - resolution: - { integrity: sha512-eCzNACUXPb1PW5l0ULTzMHaL/ltPRADoPgjBlT8jWsTbxkCp6siv+qKJ/1ldaybCthGwsYFYallF7u9AkU4L+A== } - engines: { node: '>=18.0.0' } + google-logging-utils@1.2.0: + resolution: {integrity: sha512-WE9av4wKDZgRjBwgVUabocx8T6/7o3Ca1Fat46FXDhXVAFibzNadedcOXrdgd1Kzmk8tsk/9ZH89Wyf/SqeZ3A==} + engines: {node: '>=18'} - googleapis-common@8.0.2-rc.0: - resolution: - { integrity: sha512-JTcxRvmFa9Ec1uyfMEimEMeeKq1sHNZX3vn2qmoUMtnvixXXvcqTcbDZvEZXkEWpGlPlOf4joyep6/qs0BrLyg== } - engines: { node: '>=18.0.0' } + googleapis-common@8.0.3: + resolution: {integrity: sha512-7g1yzQKx0mmNTjiK0H9dJ8eqKqDBveES9vLHeg5neb3BMQy/d1oQefIMhIpOVT8a+f+LOcixMEdRbFIW/cQUJw==} + engines: {node: '>=18'} - googleapis@168.0.0: - resolution: - { integrity: sha512-A1gQtli8/UXjuGnBAwvObwcsIs2xheV82OnmnrrqSOzgzU0gsu18VbOBLh6G8DiMsZze5hJmOJJM7qsVuqAe6g== } - engines: { node: '>=18' } + googleapis@174.0.1: + resolution: {integrity: sha512-51B9r4WnyAyUXvsDhDswpSVZbqx3afSBEzrzshxBivysBKsB6kJ+X5CVOybRV/R3HIURiR01uHXLGkEm7On3dA==} + engines: {node: '>=18'} gopd@1.2.0: - resolution: - { integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} graceful-fs@4.2.10: - resolution: - { integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== } + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } - - graphemer@1.4.0: - resolution: - { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} gtoken@7.1.0: - resolution: - { integrity: sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==} + engines: {node: '>=14.0.0'} gtoken@8.0.0: - resolution: - { integrity: sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==} + engines: {node: '>=18'} has-bigints@1.1.0: - resolution: - { integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} has-property-descriptors@1.0.2: - resolution: - { integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== } + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} has-proto@1.2.0: - resolution: - { integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} has-symbols@1.1.0: - resolution: - { integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} has-tostringtag@1.0.2: - resolution: - { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} has-yarn@2.1.0: - resolution: - { integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} - hasown@2.0.2: - resolution: - { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } - engines: { node: '>= 0.4' } + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} heap-js@2.7.1: - resolution: - { integrity: sha512-EQfezRg0NCZGNlhlDR3Evrw1FVL2G3LhU7EgPoxufQKruNBSYA8MiRPHeWbU+36o+Fhel0wMwM+sLEiBAlNLJA== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-EQfezRg0NCZGNlhlDR3Evrw1FVL2G3LhU7EgPoxufQKruNBSYA8MiRPHeWbU+36o+Fhel0wMwM+sLEiBAlNLJA==} + engines: {node: '>=10.0.0'} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} highlight.js@10.7.3: - resolution: - { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} hoist-non-react-statics@3.3.2: - resolution: - { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} homedir-polyfill@1.0.3: - resolution: - { integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} - hono@4.11.9: - resolution: - { integrity: sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ== } - engines: { node: '>=16.9.0' } + hono@4.13.1: + resolution: {integrity: sha512-kdJoFVv2xmayw6cY09H7AbMJMt8Jn5jdlEdXsP7AGBdF2DIptVlKlOLKXP41yPip4/a3yQPv9gVcJYI8YY04dw==} + engines: {node: '>=16.9.0'} hosted-git-info@7.0.2: - resolution: - { integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} html-entities@2.6.0: - resolution: - { integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== } + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} html-escaper@2.0.2: - resolution: - { integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== } - - http-cache-semantics@4.2.0: - resolution: - { integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== } + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} http-errors@2.0.1: - resolution: - { integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} http-parser-js@0.5.10: - resolution: - { integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== } + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} http-proxy-agent@5.0.0: - resolution: - { integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} http-proxy-agent@7.0.2: - resolution: - { integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} https-proxy-agent@5.0.1: - resolution: - { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} https-proxy-agent@7.0.6: - resolution: - { integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: '>=10.17.0' } - - husky@9.1.7: - resolution: - { integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== } - engines: { node: '>=18' } - hasBin: true + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} iconv-lite@0.4.24: - resolution: - { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} iconv-lite@0.6.3: - resolution: - { integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} - iconv-lite@0.7.1: - resolution: - { integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw== } - engines: { node: '>=0.10.0' } + iconv-lite@0.7.3: + resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} + engines: {node: '>=0.10.0'} idb@7.1.1: - resolution: - { integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== } + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} if-env@1.0.4: - resolution: - { integrity: sha512-4tDLfStvvI8Yh0+tBseP2KufM33QQdLxbm4OlUgVCH6sr3t+kRcPMMzt/zOwB0nzAyW/ZqrXtMdkaUsPIZMLYQ== } + resolution: {integrity: sha512-4tDLfStvvI8Yh0+tBseP2KufM33QQdLxbm4OlUgVCH6sr3t+kRcPMMzt/zOwB0nzAyW/ZqrXtMdkaUsPIZMLYQ==} hasBin: true ignore@5.3.2: - resolution: - { integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} - ignore@7.0.5: - resolution: - { integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== } - engines: { node: '>= 4' } + ignore@7.0.6: + resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} + engines: {node: '>= 4'} - immer@11.0.1: - resolution: - { integrity: sha512-naDCyggtcBWANtIrjQEajhhBEuL9b0Zg4zmlWK2CzS6xCWSE39/vvf4LqnMjUAWHBhot4m9MHCM/Z+mfWhUkiA== } + immer@11.1.16: + resolution: {integrity: sha512-Xs7H9rBc+kti1J6RueUvbEBkmOz7jqj11XYgf+YMXAYzu8EeE7hwZ9poLXdVfVnGmJu7QAf41T7H2KuF6QoK6Q==} import-fresh@3.3.1: - resolution: - { integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} import-lazy@2.1.0: - resolution: - { integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} import-local@3.2.0: - resolution: - { integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} hasBin: true - import-meta-resolve@4.1.0: - resolution: - { integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== } - imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} index-to-position@1.2.0: - resolution: - { integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw== } - engines: { node: '>=18' } - - infer-owner@1.0.4: - resolution: - { integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== } + resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} + engines: {node: '>=18'} inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} ini@1.3.8: - resolution: - { integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== } + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} ini@2.0.0: - resolution: - { integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== } - engines: { node: '>=10' } - - ini@4.1.1: - resolution: - { integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - - inquirer@8.2.5: - resolution: - { integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== } - engines: { node: '>=12.0.0' } - - install-artifact-from-github@1.4.0: - resolution: - { integrity: sha512-+y6WywKZREw5rq7U2jvr2nmZpT7cbWbQQ0N/qfcseYnzHFz2cZz1Et52oY+XttYuYeTkI8Y+R2JNWj68MpQFSg== } + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + ini@6.0.0: + resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + inquirer@8.2.7: + resolution: {integrity: sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==} + engines: {node: '>=12.0.0'} + + install-artifact-from-github@1.7.0: + resolution: {integrity: sha512-qAb91yAKVF9rFY4rVP21ZtYUyCScxAFt9udwzVWNLBE1pQcdQeB2gd1HlNPcQNYCzCDvJ/QJQPuWQ6aTmSlU8g==} + engines: {node: '>=18'} hasBin: true - interactjs@1.10.27: - resolution: - { integrity: sha512-y/8RcCftGAF24gSp76X2JS3XpHiUvDQyhF8i7ujemBz77hwiHDuJzftHx7thY8cxGogwGiPJ+o97kWB6eAXnsA== } + interactjs@1.10.28: + resolution: {integrity: sha512-QCa4ksTPd2p/FZ4I6hrH6fogjLqru1TxYywRiKYNuLZtrlAxTIYUa/MYsE7PnUgWZJU3SrGVDjiz065BeaXYng==} internal-slot@1.1.0: - resolution: - { integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} internmap@1.0.1: - resolution: - { integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== } + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} internmap@2.0.3: - resolution: - { integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== } - engines: { node: '>=12' } - - intl-messageformat@10.7.18: - resolution: - { integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g== } - - ip-address@10.0.1: - resolution: - { integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} - ip-address@10.1.0: - resolution: - { integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q== } - engines: { node: '>= 12' } + ip-address@10.5.0: + resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==} + engines: {node: '>= 12'} - ip-regex@4.3.0: - resolution: - { integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== } - engines: { node: '>=8' } + ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} + engines: {node: '>=4'} ipaddr.js@1.9.1: - resolution: - { integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} is-arguments@1.2.0: - resolution: - { integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} is-array-buffer@3.0.5: - resolution: - { integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-async-function@2.1.1: - resolution: - { integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} is-bigint@1.1.0: - resolution: - { integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} is-boolean-object@1.2.2: - resolution: - { integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} is-buffer@1.1.6: - resolution: - { integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== } + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} is-callable@1.2.7: - resolution: - { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} is-ci@2.0.0: - resolution: - { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true - is-core-module@2.16.1: - resolution: - { integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== } - engines: { node: '>= 0.4' } + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} is-data-view@1.0.2: - resolution: - { integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} is-date-object@1.1.0: - resolution: - { integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} is-docker@3.0.0: - resolution: - { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-finalizationregistry@1.1.1: - resolution: - { integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: '>=8' } - - is-fullwidth-code-point@5.1.0: - resolution: - { integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} is-generator-fn@2.1.0: - resolution: - { integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} is-generator-function@1.1.2: - resolution: - { integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} is-inside-container@1.0.0: - resolution: - { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true is-installed-globally@0.4.0: - resolution: - { integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} is-interactive@1.0.0: - resolution: - { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} is-map@2.0.3: - resolution: - { integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} is-negative-zero@2.0.3: - resolution: - { integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} is-npm@5.0.0: - resolution: - { integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} is-number-object@1.1.1: - resolution: - { integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== } - engines: { node: '>= 0.4' } - - is-number@2.1.0: - resolution: - { integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} is-obj@2.0.0: - resolution: - { integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} is-path-inside@3.0.3: - resolution: - { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} is-promise@4.0.0: - resolution: - { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== } + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} is-regex@1.2.1: - resolution: - { integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} is-set@2.0.3: - resolution: - { integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} is-shared-array-buffer@1.0.4: - resolution: - { integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} is-stream-ended@0.1.4: - resolution: - { integrity: sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== } + resolution: {integrity: sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==} is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} is-string@1.1.1: - resolution: - { integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} is-symbol@1.1.1: - resolution: - { integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} is-typed-array@1.1.15: - resolution: - { integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} is-typedarray@1.0.0: - resolution: - { integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== } + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} is-unicode-supported@0.1.0: - resolution: - { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-unsafe@2.0.0: + resolution: {integrity: sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==} is-url@1.2.4: - resolution: - { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} is-utf8@0.2.1: - resolution: - { integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== } + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} is-weakmap@2.0.2: - resolution: - { integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} is-weakref@1.1.1: - resolution: - { integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} is-weakset@2.0.4: - resolution: - { integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} is-windows@1.0.2: - resolution: - { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} is-wsl@1.1.0: - resolution: - { integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} - is-wsl@3.1.0: - resolution: - { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } - engines: { node: '>=16' } + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} is-yarn-global@0.3.0: - resolution: - { integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== } + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - is2@2.0.9: - resolution: - { integrity: sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g== } - engines: { node: '>=v0.10.0' } + is2@2.0.1: + resolution: {integrity: sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==} + engines: {node: '>=v0.10.0'} isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} isarray@2.0.5: - resolution: - { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: '>=16' } + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} isomorphic-fetch@3.0.0: - resolution: - { integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== } + resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} istanbul-lib-coverage@3.2.2: - resolution: - { integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} istanbul-lib-instrument@6.0.3: - resolution: - { integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} istanbul-lib-report@3.0.1: - resolution: - { integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} istanbul-lib-source-maps@5.0.6: - resolution: - { integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A== } - engines: { node: '>=10' } + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} istanbul-reports@3.2.0: - resolution: - { integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} iterator.prototype@1.1.5: - resolution: - { integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} jackspeak@3.4.3: - resolution: - { integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== } - - jackspeak@4.2.3: - resolution: - { integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg== } - engines: { node: 20 || >=22 } - - jest-changed-files@30.0.2: - resolution: - { integrity: sha512-Ius/iRST9FKfJI+I+kpiDh8JuUlAISnRszF9ixZDIqJF17FckH5sOzKC8a0wd0+D+8em5ADRHA5V5MnfeDk2WA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-circus@30.0.4: - resolution: - { integrity: sha512-o6UNVfbXbmzjYgmVPtSQrr5xFZCtkDZGdTlptYvGFSN80RuOOlTe73djvMrs+QAuSERZWcHBNIOMH+OEqvjWuw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-cli@30.0.4: - resolution: - { integrity: sha512-3dOrP3zqCWBkjoVG1zjYJpD9143N9GUCbwaF2pFF5brnIgRLHmKcCIw+83BvF1LxggfMWBA0gxkn6RuQVuRhIQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-changed-files@30.4.1: + resolution: {integrity: sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-circus@30.4.2: + resolution: {integrity: sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-cli@30.4.2: + resolution: {integrity: sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -7274,10 +5547,9 @@ packages: node-notifier: optional: true - jest-config@30.0.4: - resolution: - { integrity: sha512-3dzbO6sh34thAGEjJIW0fgT0GA0EVlkski6ZzMcbW6dzhenylXAE/Mj2MI4HonroWbkKc6wU6bLVQ8dvBSZ9lA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + jest-config@30.4.2: + resolution: {integrity: sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} peerDependencies: '@types/node': '*' esbuild-register: '>=3.4.0' @@ -7290,115 +5562,94 @@ packages: ts-node: optional: true - jest-diff@30.0.4: - resolution: - { integrity: sha512-TSjceIf6797jyd+R64NXqicttROD+Qf98fex7CowmlSn7f8+En0da1Dglwr1AXxDtVizoxXYZBlUQwNhoOXkNw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-docblock@30.0.1: - resolution: - { integrity: sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-each@30.0.2: - resolution: - { integrity: sha512-ZFRsTpe5FUWFQ9cWTMguCaiA6kkW5whccPy9JjD1ezxh+mJeqmz8naL8Fl/oSbNJv3rgB0x87WBIkA5CObIUZQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-environment-node@30.0.4: - resolution: - { integrity: sha512-p+rLEzC2eThXqiNh9GHHTC0OW5Ca4ZfcURp7scPjYBcmgpR9HG6750716GuUipYf2AcThU3k20B31USuiaaIEg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-haste-map@30.0.2: - resolution: - { integrity: sha512-telJBKpNLeCb4MaX+I5k496556Y2FiKR/QLZc0+MGBYl4k3OO0472drlV2LUe7c1Glng5HuAu+5GLYp//GpdOQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-leak-detector@30.0.2: - resolution: - { integrity: sha512-U66sRrAYdALq+2qtKffBLDWsQ/XoNNs2Lcr83sc9lvE/hEpNafJlq2lXCPUBMNqamMECNxSIekLfe69qg4KMIQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-matcher-utils@30.0.4: - resolution: - { integrity: sha512-ubCewJ54YzeAZ2JeHHGVoU+eDIpQFsfPQs0xURPWoNiO42LGJ+QGgfSf+hFIRplkZDkhH5MOvuxHKXRTUU3dUQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-message-util@30.0.2: - resolution: - { integrity: sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-mock@30.0.2: - resolution: - { integrity: sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + jest-diff@30.4.1: + resolution: {integrity: sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-docblock@30.4.0: + resolution: {integrity: sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-each@30.4.1: + resolution: {integrity: sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-environment-node@30.4.1: + resolution: {integrity: sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-haste-map@30.4.1: + resolution: {integrity: sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-leak-detector@30.4.1: + resolution: {integrity: sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-matcher-utils@30.4.1: + resolution: {integrity: sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-message-util@30.4.1: + resolution: {integrity: sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-mock@30.4.1: + resolution: {integrity: sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} jest-pnp-resolver@1.2.3: - resolution: - { integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} peerDependencies: jest-resolve: '*' peerDependenciesMeta: jest-resolve: optional: true - jest-regex-util@30.0.1: - resolution: - { integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-resolve-dependencies@30.0.4: - resolution: - { integrity: sha512-EQBYow19B/hKr4gUTn+l8Z+YLlP2X0IoPyp0UydOtrcPbIOYzJ8LKdFd+yrbwztPQvmlBFUwGPPEzHH1bAvFAw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-resolve@30.0.2: - resolution: - { integrity: sha512-q/XT0XQvRemykZsvRopbG6FQUT6/ra+XV6rPijyjT6D0msOyCvR2A5PlWZLd+fH0U8XWKZfDiAgrUNDNX2BkCw== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-runner@30.0.4: - resolution: - { integrity: sha512-mxY0vTAEsowJwvFJo5pVivbCpuu6dgdXRmt3v3MXjBxFly7/lTk3Td0PaMyGOeNQUFmSuGEsGYqhbn7PA9OekQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-runtime@30.0.4: - resolution: - { integrity: sha512-tUQrZ8+IzoZYIHoPDQEB4jZoPyzBjLjq7sk0KVyd5UPRjRDOsN7o6UlvaGF8ddpGsjznl9PW+KRgWqCNO+Hn7w== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-snapshot@30.0.4: - resolution: - { integrity: sha512-S/8hmSkeUib8WRUq9pWEb5zMfsOjiYWDWzFzKnjX7eDyKKgimsu9hcmsUEg8a7dPAw8s/FacxsXquq71pDgPjQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-util@30.0.2: - resolution: - { integrity: sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-validate@30.0.2: - resolution: - { integrity: sha512-noOvul+SFER4RIvNAwGn6nmV2fXqBq67j+hKGHKGFCmK4ks/Iy1FSrqQNBLGKlu4ZZIRL6Kg1U72N1nxuRCrGQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-watcher@30.0.4: - resolution: - { integrity: sha512-YESbdHDs7aQOCSSKffG8jXqOKFqw4q4YqR+wHYpR5GWEQioGvL0BfbcjvKIvPEM0XGfsfJrka7jJz3Cc3gI4VQ== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest-worker@30.0.2: - resolution: - { integrity: sha512-RN1eQmx7qSLFA+o9pfJKlqViwL5wt+OL3Vff/A+/cPsmuw7NPwfgl33AP+/agRmHzPOFgXviRycR9kYwlcRQXg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - - jest@30.0.4: - resolution: - { integrity: sha512-9QE0RS4WwTj/TtTC4h/eFVmFAhGNVerSB9XpJh8sqaXlP73ILcPcZ7JWjjEtJJe2m8QyBLKKfPQuK+3F+Xij/g== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + jest-regex-util@30.4.0: + resolution: {integrity: sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-resolve-dependencies@30.4.2: + resolution: {integrity: sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-resolve@30.4.1: + resolution: {integrity: sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-runner@30.4.2: + resolution: {integrity: sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-runtime@30.4.2: + resolution: {integrity: sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-snapshot@30.4.1: + resolution: {integrity: sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-util@30.4.1: + resolution: {integrity: sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-validate@30.4.1: + resolution: {integrity: sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-watcher@30.4.1: + resolution: {integrity: sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-worker@30.4.1: + resolution: {integrity: sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest@30.4.2: + resolution: {integrity: sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -7406,870 +5657,690 @@ packages: node-notifier: optional: true - jiti@2.4.2: - resolution: - { integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== } + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - jiti@2.6.1: - resolution: - { integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== } + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true jju@1.4.0: - resolution: - { integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== } + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - joi@18.0.2: - resolution: - { integrity: sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA== } - engines: { node: '>= 20' } + joi@18.2.3: + resolution: {integrity: sha512-N5A3KTWQpPWT4ExxxPlUx7WmykGXRzhNidWhV41d6Abu9YfI2NyWCJuxdPnslJCPWtbRpSVOWSnSS6GakLM/Rg==} + engines: {node: '>= 20'} join-path@1.1.1: - resolution: - { integrity: sha512-jnt9OC34sLXMLJ6YfPQ2ZEKrR9mB5ZbSnQb4LPaOx1c5rTzxpR33L18jjp0r75mGGTJmsil3qwN1B5IBeTnSSA== } + resolution: {integrity: sha512-jnt9OC34sLXMLJ6YfPQ2ZEKrR9mB5ZbSnQb4LPaOx1c5rTzxpR33L18jjp0r75mGGTJmsil3qwN1B5IBeTnSSA==} jose@4.15.9: - resolution: - { integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA== } + resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} - jose@6.1.3: - resolution: - { integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ== } + jose@6.2.8: + resolution: {integrity: sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ==} - jpeg-exif@1.1.4: - resolution: - { integrity: sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ== } - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + js-md5@0.8.3: + resolution: {integrity: sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==} js-tokens@10.0.0: - resolution: - { integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== } + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.2: - resolution: - { integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg== } + js-yaml@3.15.1: + resolution: {integrity: sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==} hasBin: true - js-yaml@4.1.1: - resolution: - { integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== } + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} hasBin: true jsesc@3.1.0: - resolution: - { integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} hasBin: true json-bigint@1.0.0: - resolution: - { integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== } + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} json-parse-helpfulerror@1.0.3: - resolution: - { integrity: sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg== } + resolution: {integrity: sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==} json-ptr@3.1.1: - resolution: - { integrity: sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg== } + resolution: {integrity: sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-schema-typed@8.0.2: - resolution: - { integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA== } + resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} json5@1.0.2: - resolution: - { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true - jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsonfile@6.2.0: - resolution: - { integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg== } + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} jsonwebtoken@9.0.3: - resolution: - { integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g== } - engines: { node: '>=12', npm: '>=6' } + resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} + engines: {node: '>=12', npm: '>=6'} jsx-ast-utils@3.3.5: - resolution: - { integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} junk@4.0.1: - resolution: - { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} jwa@2.0.1: - resolution: - { integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg== } + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} + + jwks-rsa@3.2.2: + resolution: {integrity: sha512-BqTyEDV+lS8F2trk3A+qJnxV5Q9EqKCBJOPti3W97r7qTympCZjb7h2X6f2kc+0K3rsSTY1/6YG2eaXKoj497w==} + engines: {node: '>=14'} - jwks-rsa@3.2.0: - resolution: - { integrity: sha512-PwchfHcQK/5PSydeKCs1ylNym0w/SSv8a62DgHJ//7x2ZclCoinlsjAfDxAAbpoTPybOum/Jgy+vkvMmKz89Ww== } - engines: { node: '>=14' } + jwks-rsa@4.1.0: + resolution: {integrity: sha512-sbkByqyATKYJP5F4RXj03N5TUNC0QLTjCAZvwTzC4BwJZ8e0/cWxN8YROnyUth2g1/ONWi4eSFHeu6oYalrc3Q==} + engines: {node: ^20.19.0 || ^22.12.0 || >= 23.0.0} jws@4.0.1: - resolution: - { integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA== } + resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} keyv@4.5.4: - resolution: - { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } - - kind-of@3.2.2: - resolution: - { integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kuler@2.0.0: - resolution: - { integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== } + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - ky@1.14.3: - resolution: - { integrity: sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw== } - engines: { node: '>=18' } + ky@2.0.2: + resolution: {integrity: sha512-/GmXpo9F9W+f8n4Ivr2iH+7h7wL7jLbLKWkMlpflcCRb6kGjBfTlASEXaZ9qUgNTn4VgS0P2pwxxzQ4EM6Ulgg==} + engines: {node: '>=22'} language-subtag-registry@0.3.23: - resolution: - { integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== } + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} language-tags@1.0.9: - resolution: - { integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} lazystream@1.0.1: - resolution: - { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} leven@3.1.0: - resolution: - { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} libsodium-wrappers@0.7.16: - resolution: - { integrity: sha512-Gtr/WBx4dKjvRL1pvfwZqu7gO6AfrQ0u9vFL+kXihtHf6NfkROR8pjYWn98MFDI3jN19Ii1ZUfPR9afGiPyfHg== } + resolution: {integrity: sha512-Gtr/WBx4dKjvRL1pvfwZqu7gO6AfrQ0u9vFL+kXihtHf6NfkROR8pjYWn98MFDI3jN19Ii1ZUfPR9afGiPyfHg==} libsodium@0.7.16: - resolution: - { integrity: sha512-3HrzSPuzm6Yt9aTYCDxYEG8x8/6C0+ag655Y7rhhWZM9PT4NpdnbqlzXhGZlDnkgR6MeSTnOt/VIyHLs9aSf+Q== } + resolution: {integrity: sha512-3HrzSPuzm6Yt9aTYCDxYEG8x8/6C0+ag655Y7rhhWZM9PT4NpdnbqlzXhGZlDnkgR6MeSTnOt/VIyHLs9aSf+Q==} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] - lightningcss-android-arm64@1.30.2: - resolution: - { integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A== } - engines: { node: '>= 12.0.0' } + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.30.2: - resolution: - { integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA== } - engines: { node: '>= 12.0.0' } + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.30.2: - resolution: - { integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ== } - engines: { node: '>= 12.0.0' } + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.30.2: - resolution: - { integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA== } - engines: { node: '>= 12.0.0' } + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.30.2: - resolution: - { integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA== } - engines: { node: '>= 12.0.0' } + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.30.2: - resolution: - { integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A== } - engines: { node: '>= 12.0.0' } + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - lightningcss-linux-arm64-musl@1.30.2: - resolution: - { integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA== } - engines: { node: '>= 12.0.0' } + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] - lightningcss-linux-x64-gnu@1.30.2: - resolution: - { integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w== } - engines: { node: '>= 12.0.0' } + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] - lightningcss-linux-x64-musl@1.30.2: - resolution: - { integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA== } - engines: { node: '>= 12.0.0' } + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.30.2: - resolution: - { integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ== } - engines: { node: '>= 12.0.0' } + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.30.2: - resolution: - { integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw== } - engines: { node: '>= 12.0.0' } + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.30.2: - resolution: - { integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ== } - engines: { node: '>= 12.0.0' } + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] - limiter@1.1.5: - resolution: - { integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== } + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} - lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} - lint-staged@16.2.7: - resolution: - { integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow== } - engines: { node: '>=20.17' } - hasBin: true + limiter@1.1.5: + resolution: {integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==} + + linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} - listr2@9.0.5: - resolution: - { integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g== } - engines: { node: '>=20.0.0' } + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} lit-element@4.2.2: - resolution: - { integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w== } + resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==} - lit-html@3.3.2: - resolution: - { integrity: sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw== } + lit-html@3.3.3: + resolution: {integrity: sha512-el8M6jK2o3RXBnrSHX3ZKrsN8zEV63pSExTO1wYJz7QndGYZ8353e2a5PPX+qHe2aGayfnchQmkAojaWAREOIA==} - lit@3.3.2: - resolution: - { integrity: sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ== } + lit@3.3.3: + resolution: {integrity: sha512-fycuvZg/hkpozL00lm1pEJH5nN/lr9ZXd6mJI2HSN4+Bzc+LDNdEApJ6HFbPkdFNHLvOplIIuJvxkS4XUxqirw==} little-state-machine@4.8.1: - resolution: - { integrity: sha512-liPHqaWMQ7rzZryQUDnbZ1Gclnnai3dIyaJ0nAgwZRXMzqbYrydrlCI0NDojRUbE5VYh5vu6hygEUZiH77nQkQ== } + resolution: {integrity: sha512-liPHqaWMQ7rzZryQUDnbZ1Gclnnai3dIyaJ0nAgwZRXMzqbYrydrlCI0NDojRUbE5VYh5vu6hygEUZiH77nQkQ==} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} - lodash-es@4.17.23: - resolution: - { integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg== } + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} lodash._objecttypes@2.4.1: - resolution: - { integrity: sha512-XpqGh1e7hhkOzftBfWE7zt+Yn9mVHFkDhicVttvKLsoCMLVVL+xTQjfjB4X4vtznauxv0QZ5ZAeqjvat0dh62Q== } + resolution: {integrity: sha512-XpqGh1e7hhkOzftBfWE7zt+Yn9mVHFkDhicVttvKLsoCMLVVL+xTQjfjB4X4vtznauxv0QZ5ZAeqjvat0dh62Q==} lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} lodash.clonedeep@4.5.0: - resolution: - { integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== } + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} lodash.includes@4.3.0: - resolution: - { integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== } + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} lodash.isboolean@3.0.3: - resolution: - { integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== } + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} lodash.isinteger@4.0.4: - resolution: - { integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== } + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} lodash.isnumber@3.0.3: - resolution: - { integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== } + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} lodash.isobject@2.4.1: - resolution: - { integrity: sha512-sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA== } + resolution: {integrity: sha512-sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA==} lodash.isplainobject@4.0.6: - resolution: - { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} lodash.isstring@4.0.1: - resolution: - { integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== } - - lodash.kebabcase@4.1.1: - resolution: - { integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== } + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} lodash.map@4.6.0: - resolution: - { integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q== } - - lodash.mapvalues@4.6.0: - resolution: - { integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ== } + resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} lodash.merge@4.6.2: - resolution: - { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } - - lodash.mergewith@4.6.2: - resolution: - { integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lodash.once@4.1.1: - resolution: - { integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== } + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} lodash.snakecase@4.1.1: - resolution: - { integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== } + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } - - lodash.uniq@4.5.0: - resolution: - { integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== } - - lodash.upperfirst@4.3.1: - resolution: - { integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== } - - lodash@4.17.23: - resolution: - { integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== } + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} log-symbols@4.1.0: - resolution: - { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } - engines: { node: '>=10' } - - log-update@6.1.0: - resolution: - { integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== } - engines: { node: '>=18' } + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} logform@2.7.0: - resolution: - { integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} + engines: {node: '>= 12.0.0'} long@5.3.2: - resolution: - { integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== } + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} longest@2.0.1: - resolution: - { integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} + engines: {node: '>=0.10.0'} loose-envify@1.4.0: - resolution: - { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.4: - resolution: - { integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg== } - loupe@3.2.1: - resolution: - { integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ== } + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} lru-cache@10.4.3: - resolution: - { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== } + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.4: - resolution: - { integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg== } - engines: { node: 20 || >=22 } + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} + engines: {node: 20 || >=22} lru-cache@5.1.1: - resolution: - { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} lru-cache@7.18.3: - resolution: - { integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} lru-memoizer@2.3.0: - resolution: - { integrity: sha512-GXn7gyHAMhO13WSKrIiNfztwxodVsP8IoZ3XfrJV4yH2x0/OeTO/FIaAHTY5YekdGgW94njfuKmyyt1E0mR6Ug== } + resolution: {integrity: sha512-GXn7gyHAMhO13WSKrIiNfztwxodVsP8IoZ3XfrJV4yH2x0/OeTO/FIaAHTY5YekdGgW94njfuKmyyt1E0mR6Ug==} + + lru-memoizer@3.0.0: + resolution: {integrity: sha512-m83w/cYXLdUIboKSPxzPAGfYnk+vqeDYXuoSrQRw1q+yVEd8IXhvMufN8Q5TIPe7e2jyX4SRNrDJI2Skw1yznQ==} - lsofi@1.0.0: - resolution: - { integrity: sha512-MKr9vM1MSm+TSKfI05IYxpKV1NCxpJaBLnELyIf784zYJ5KV9lGCE1EvpA2DtXDNM3fCuFeCwXUzim/fyQRi+A== } + lsofi@2.0.0: + resolution: {integrity: sha512-XTFlOBHeuXnUGuUQI0kBb4O4oQW7qCV7MRGQja1xNpxgrI/jptlly+/5126RiRold1zgyxY520qOZUZ31V0I2A==} + engines: {node: '>=20.0.0'} - lucide-react@0.562.0: - resolution: - { integrity: sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw== } + lucide-react@1.31.0: + resolution: {integrity: sha512-G8u2eEtoHUnUa9f8lbvqDhCiORMnYLdUEo06EEG9MQvHQrInKcX3Pa2TH39MM5qyzRcWETxB0+aOwAPI1g1kEg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 luxon@3.7.2: - resolution: - { integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} + engines: {node: '>=12'} lz-string@1.5.0: - resolution: - { integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== } + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true magic-string@0.30.21: - resolution: - { integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== } + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.5.2: - resolution: - { integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ== } + magicast@0.5.4: + resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} make-dir@4.0.0: - resolution: - { integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== } - engines: { node: '>=10' } - - make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } - - make-fetch-happen@15.0.3: - resolution: - { integrity: sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} makeerror@1.0.12: - resolution: - { integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== } + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} map-stream@0.1.0: - resolution: - { integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== } + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} marked-terminal@7.3.0: - resolution: - { integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw== } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} + engines: {node: '>=16.0.0'} peerDependencies: marked: '>=1 <16' marked@13.0.3: - resolution: - { integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA== } - engines: { node: '>= 18' } + resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} + engines: {node: '>= 18'} hasBin: true - marked@16.3.0: - resolution: - { integrity: sha512-K3UxuKu6l6bmA5FUwYho8CfJBlsUWAooKtdGgMcERSpF7gcBUrCGsLH7wDaaNOzwq18JzSUDyoEb/YsrqMac3w== } - engines: { node: '>= 20' } + marked@18.0.9: + resolution: {integrity: sha512-/Sa4qiiHZxf0/FQdBBowr9q4r10krCwMvpK48FUBdXdUXScDxiQGR9zCPrFgRVR5LU3iySOiIjy09ZQvADir1w==} + engines: {node: '>= 20'} hasBin: true markerjs2@2.32.7: - resolution: - { integrity: sha512-HeFRZjmc43DOG3lSQp92z49cq2oCYpYn2pX++SkJAW1Dij4xJtRquVRf+cXeSZQWDX3ufns1Ry/bGk+zveP7rA== } + resolution: {integrity: sha512-HeFRZjmc43DOG3lSQp92z49cq2oCYpYn2pX++SkJAW1Dij4xJtRquVRf+cXeSZQWDX3ufns1Ry/bGk+zveP7rA==} material-colors@1.2.6: - resolution: - { integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== } + resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==} math-intrinsics@1.1.0: - resolution: - { integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} md5@2.3.0: - resolution: - { integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== } + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} media-typer@0.3.0: - resolution: - { integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} - media-typer@1.1.0: - resolution: - { integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== } - engines: { node: '>= 0.8' } + media-typer@1.1.1: + resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==} + engines: {node: '>= 0.8'} - meow@12.1.1: - resolution: - { integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== } - engines: { node: '>=16.10' } - - meow@13.2.0: - resolution: - { integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== } - engines: { node: '>=18' } + meow@14.1.0: + resolution: {integrity: sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==} + engines: {node: '>=20'} merge-descriptors@1.0.3: - resolution: - { integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== } + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} merge-descriptors@2.0.0: - resolution: - { integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} + engines: {node: '>=18'} merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} merge@2.1.1: - resolution: - { integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== } + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} methods@1.1.2: - resolution: - { integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} micromatch@4.0.8: - resolution: - { integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} mime-db@1.54.0: - resolution: - { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} mime-types@3.0.2: - resolution: - { integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} mime@1.6.0: - resolution: - { integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} hasBin: true mime@2.6.0: - resolution: - { integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} hasBin: true mime@3.0.0: - resolution: - { integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} hasBin: true mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: '>=6' } - - mimic-function@5.0.1: - resolution: - { integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: '>=4' } - - minimatch@10.1.2: - resolution: - { integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw== } - engines: { node: 20 || >=22 } - - minimatch@10.2.0: - resolution: - { integrity: sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w== } - engines: { node: 20 || >=22 } - - minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } - - minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: '>=10' } - - minimatch@6.2.0: - resolution: - { integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== } - engines: { node: '>=10' } - - minimatch@9.0.5: - resolution: - { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== } - engines: { node: '>=16 || 14 >=14.17' } - - minimist@1.2.7: - resolution: - { integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimatch@5.1.9: + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + engines: {node: '>=10'} + + minimatch@6.2.3: + resolution: {integrity: sha512-5rvZbDy5y2k40rre/0OBbYnl03en25XPU3gOVO7532beGMjAipq88VdS9OeLOZNrD+Tb0lDhBJHZ7Gcd8qKlPg==} + engines: {node: '>=10'} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } - - minipass-collect@2.0.1: - resolution: - { integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== } - engines: { node: '>=16 || 14 >=14.17' } - - minipass-fetch@5.0.0: - resolution: - { integrity: sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A== } - engines: { node: ^20.17.0 || >=22.9.0 } - - minipass-flush@1.0.5: - resolution: - { integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== } - engines: { node: '>= 8' } - - minipass-pipeline@1.2.4: - resolution: - { integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== } - engines: { node: '>=8' } - - minipass-sized@1.0.3: - resolution: - { integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== } - engines: { node: '>=8' } - - minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: '>=8' } - - minipass@7.1.2: - resolution: - { integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} minizlib@3.1.0: - resolution: - { integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw== } - engines: { node: '>= 18' } + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} mitt@3.0.1: - resolution: - { integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== } + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - moo@0.5.2: - resolution: - { integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q== } + moo@0.5.3: + resolution: {integrity: sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==} - morgan@1.10.1: - resolution: - { integrity: sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A== } - engines: { node: '>= 0.8.0' } + morgan@1.11.0: + resolution: {integrity: sha512-zSkVu3t18r39pw4ixfBKvfZi3y2UOqr7d4WYwcj3m8nXpEQK4rPO6GLzs/CExoRgmX3y9EjmmcXqv6jq0SK46g==} + engines: {node: '>= 0.8.0'} mrmime@2.0.1: - resolution: - { integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} ms@2.0.0: - resolution: - { integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== } + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} mute-stream@0.0.8: - resolution: - { integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== } + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} mute-stream@2.0.0: - resolution: - { integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} mz@2.7.0: - resolution: - { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } - - nan@2.24.0: - resolution: - { integrity: sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg== } - - nano-spawn@2.0.0: - resolution: - { integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw== } - engines: { node: '>=20.17' } - - nanoid@3.3.11: - resolution: - { integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nan@2.28.0: + resolution: {integrity: sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==} + + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true napi-postinstall@0.3.4: - resolution: - { integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ== } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} hasBin: true - natural-compare-lite@1.4.0: - resolution: - { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } - natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} nearley@2.20.1: - resolution: - { integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ== } + resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} hasBin: true negotiator@0.6.3: - resolution: - { integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} negotiator@0.6.4: - resolution: - { integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} negotiator@1.0.0: - resolution: - { integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} - netmask@2.0.2: - resolution: - { integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== } - engines: { node: '>= 0.4.0' } + netmask@2.1.1: + resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==} + engines: {node: '>= 0.4.0'} node-domexception@1.0.0: - resolution: - { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} deprecated: Use your platform's native DOMException instead node-emoji@2.2.0: - resolution: - { integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-exports-info@1.6.2: + resolution: {integrity: sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==} + engines: {node: '>= 0.4'} node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -8277,414 +6348,312 @@ packages: optional: true node-fetch@3.3.2: - resolution: - { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - - node-forge@1.3.3: - resolution: - { integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg== } - engines: { node: '>= 6.13.0' } - - node-gyp@12.1.0: - resolution: - { integrity: sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g== } - engines: { node: ^20.17.0 || >=22.9.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp@13.0.1: + resolution: {integrity: sha512-piOr0S10qy5THB+q5BdqkoOx65XL/tjTMUAit3vciPNp+snTOBnGunWH1Rz7XZUxf2T9uFrfT/Ty4+aC3yPeyg==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} hasBin: true node-int64@0.4.0: - resolution: - { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.27: - resolution: - { integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== } + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} - nopt@9.0.0: - resolution: - { integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw== } - engines: { node: ^20.17.0 || >=22.9.0 } + nopt@10.0.1: + resolution: {integrity: sha512-df3sBr/6ax9hSGuC3CspvLlbnX8cP5L5nZwXF8cGN8l0zSWR6BvzmQ6jPUKjvo6+/xdpkNvEcucBNUdBeeV13g==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} hasBin: true normalize-package-data@6.0.2: - resolution: - { integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: '>=0.10.0' } - - npm-install-checks@6.3.0: - resolution: - { integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - - npm-normalize-package-bin@3.0.1: - resolution: - { integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - - npm-package-arg@11.0.3: - resolution: - { integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw== } - engines: { node: ^16.14.0 || >=18.0.0 } - - npm-pick-manifest@9.1.0: - resolution: - { integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} npm-run-all@1.4.0: - resolution: - { integrity: sha512-Le4iFE4VsbjPG4IMtuMN7gHu3UXIVnywPqBS2s3vHQe0JMGewfyWE8WYyqM509PjUybi4wbSqgW69mr3XGFr0w== } + resolution: {integrity: sha512-Le4iFE4VsbjPG4IMtuMN7gHu3UXIVnywPqBS2s3vHQe0JMGewfyWE8WYyqM509PjUybi4wbSqgW69mr3XGFr0w==} hasBin: true npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} object-hash@3.0.0: - resolution: - { integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} object-inspect@1.13.4: - resolution: - { integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== } - engines: { node: '>= 0.4' } - - object-is@1.1.6: - resolution: - { integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} object.assign@4.1.7: - resolution: - { integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} object.entries@1.1.9: - resolution: - { integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} object.fromentries@2.0.8: - resolution: - { integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} object.groupby@1.0.3: - resolution: - { integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} object.values@1.2.1: - resolution: - { integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} - obug@2.1.1: - resolution: - { integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ== } + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + engines: {node: '>=12.20.0'} on-finished@2.3.0: - resolution: - { integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} on-finished@2.4.1: - resolution: - { integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} on-headers@1.1.0: - resolution: - { integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} one-time@1.0.0: - resolution: - { integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== } + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: '>=6' } - - onetime@7.0.0: - resolution: - { integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} open@10.2.0: - resolution: - { integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} open@6.4.0: - resolution: - { integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} + engines: {node: '>=8'} openapi3-ts@3.2.0: - resolution: - { integrity: sha512-/ykNWRV5Qs0Nwq7Pc0nJ78fgILvOT/60OxEmB3v7yQ8a8Bwcm43D4diaYazG/KBn6czA+52XYy931WFLMCUeSg== } + resolution: {integrity: sha512-/ykNWRV5Qs0Nwq7Pc0nJ78fgILvOT/60OxEmB3v7yQ8a8Bwcm43D4diaYazG/KBn6czA+52XYy931WFLMCUeSg==} optionator@0.9.4: - resolution: - { integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} ora@5.4.1: - resolution: - { integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} - own-keys@1.0.1: - resolution: - { integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== } - engines: { node: '>= 0.4' } + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} + engines: {node: '>= 0.4'} + + oxc-parser@0.127.0: + resolution: {integrity: sha512-bkgD4qHlN7WxLdX8bLXdaU54TtQtAIg/ZBAfm0aje/mo3MRDo3P0hZSgr4U7O3xfX+fQmR5AP04JS/TGcZLcFA==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-resolver@11.24.2: + resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} p-defer@3.0.0: - resolution: - { integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} + engines: {node: '>=8'} p-event@6.0.1: - resolution: - { integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w== } - engines: { node: '>=16.17' } + resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} + engines: {node: '>=16.17'} p-filter@4.1.0: - resolution: - { integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} + engines: {node: '>=18'} p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} - p-map@7.0.4: - resolution: - { integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ== } - engines: { node: '>=18' } + p-map@7.0.6: + resolution: {integrity: sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==} + engines: {node: '>=18'} - p-throttle@7.0.0: - resolution: - { integrity: sha512-aio0v+S0QVkH1O+9x4dHtD4dgCExACcL+3EtNaGqC01GBudS9ijMuUsmN8OVScyV4OOp0jqdLShZFuSlbL/AsA== } - engines: { node: '>=18' } + p-throttle@8.1.0: + resolution: {integrity: sha512-c1wmXavsHZIC4g1OLhOsafK6jZSAeMo0Ap3yivj59PUcCkpacy5YgWdgIp/dB4vp1JZrfBSsPCR0YuADB+ENLQ==} + engines: {node: '>=20'} p-timeout@6.1.4: - resolution: - { integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} + engines: {node: '>=14.16'} p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} pac-proxy-agent@7.2.0: - resolution: - { integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + engines: {node: '>= 14'} pac-resolver@7.0.1: - resolution: - { integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} package-json-from-dist@1.0.1: - resolution: - { integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== } + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} pako@0.2.9: - resolution: - { integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== } + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} pako@1.0.11: - resolution: - { integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== } + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} parse-json@8.3.0: - resolution: - { integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} + engines: {node: '>=18'} parse-passwd@1.0.0: - resolution: - { integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} parse5@5.1.1: - resolution: - { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} parse5@6.0.1: - resolution: - { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} parseurl@1.3.3: - resolution: - { integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-expression-matcher@1.6.2: + resolution: {integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==} + engines: {node: '>=14.0.0'} path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} path-scurry@1.11.1: - resolution: - { integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== } - engines: { node: '>=16 || 14 >=14.18' } + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.1: - resolution: - { integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA== } - engines: { node: 20 || >=22 } + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} - path-to-regexp@0.1.12: - resolution: - { integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== } + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} path-to-regexp@1.9.0: - resolution: - { integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== } + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} - path-to-regexp@8.3.0: - resolution: - { integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA== } + path-to-regexp@8.4.2: + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: '>=8' } - - path-type@6.0.0: - resolution: - { integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} pathe@2.0.3: - resolution: - { integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== } + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} pathval@2.0.1: - resolution: - { integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ== } - engines: { node: '>= 14.16' } + resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} + engines: {node: '>= 14.16'} pause-stream@0.0.11: - resolution: - { integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== } + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} pdf-lib@1.17.1: - resolution: - { integrity: sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw== } + resolution: {integrity: sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==} - pdfmake@0.2.21: - resolution: - { integrity: sha512-kgBj6Bbj57vY/f0zpBz/OLmO4n248RopEEA+IRkfdKZtravqQL6lEkILYsdjiPFYCXImZA+62EtT2zjUVKb8YQ== } - engines: { node: '>=18' } + pdfkit@0.19.1: + resolution: {integrity: sha512-6Gzk+wDwTs4VSxsR5rCMTnIl5nlmkye1oWB0l2hDB1EX6ZNSIBroKQEv+2+fPPn+stVjyqzmsqRJVDfB9fo5DA==} - pg-cloudflare@1.2.7: - resolution: - { integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg== } + pdfmake@0.3.11: + resolution: {integrity: sha512-Uc49J9hUMyuqJk+U+PxlpBpPr96A4HOOfesGx609EPr2ue82+5/Smq/KTAkEqh0/jUGSi1fumvqZ5yAWijJTJg==} + engines: {node: '>=20'} - pg-connection-string@2.9.1: - resolution: - { integrity: sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w== } + pg-cloudflare@1.4.0: + resolution: {integrity: sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==} + + pg-connection-string@2.14.0: + resolution: {integrity: sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==} pg-gateway@0.3.0-beta.4: - resolution: - { integrity: sha512-CTjsM7Z+0Nx2/dyZ6r8zRsc3f9FScoD5UAOlfUx1Fdv/JOIWvRbF7gou6l6vP+uypXQVoYPgw8xZDXgMGvBa4Q== } + resolution: {integrity: sha512-CTjsM7Z+0Nx2/dyZ6r8zRsc3f9FScoD5UAOlfUx1Fdv/JOIWvRbF7gou6l6vP+uypXQVoYPgw8xZDXgMGvBa4Q==} pg-int8@1.0.1: - resolution: - { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} - pg-pool@3.10.1: - resolution: - { integrity: sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg== } + pg-pool@3.14.0: + resolution: {integrity: sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==} peerDependencies: pg: '>=8.0' - pg-protocol@1.10.3: - resolution: - { integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ== } + pg-protocol@1.16.0: + resolution: {integrity: sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==} pg-types@2.2.0: - resolution: - { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } - engines: { node: '>=4' } - - pg@8.16.3: - resolution: - { integrity: sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw== } - engines: { node: '>= 16.0.0' } + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.23.0: + resolution: {integrity: sha512-Ip2EQCngowJLGOfCwkFhPXU7/ljlhn6Rxlmy4XYfL2Y+vyRM59+8uR2xqRWKdYmbXmxCFOAmKxBuSUCdF34qLg==} + engines: {node: '>= 16.0.0'} peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -8692,95 +6661,71 @@ packages: optional: true pgpass@1.0.5: - resolution: - { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} picocolors@1.1.1: - resolution: - { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } - - picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: '>=8.6' } - - picomatch@4.0.3: - resolution: - { integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== } - engines: { node: '>=12' } - - pidtree@0.6.0: - resolution: - { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } - engines: { node: '>=0.10' } - hasBin: true + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} pirates@4.0.7: - resolution: - { integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} pkce-challenge@5.0.1: - resolution: - { integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ== } - engines: { node: '>=16.20.0' } + resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} + engines: {node: '>=16.20.0'} pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} - png-js@1.0.0: - resolution: - { integrity: sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g== } + png-js@1.1.0: + resolution: {integrity: sha512-PM/uYGzGdNSzqeOgly68+6wKQDL1SY0a/N+OEa/+br6LnHWOAJB0Npiamnodfq3jd2LS/i2fMeOKSAILjA+m5Q==} polylabel@1.1.0: - resolution: - { integrity: sha512-bxaGcA40sL3d6M4hH72Z4NdLqxpXRsCFk8AITYg6x1rn1Ei3izf00UMLklerBZTO49aPA3CYrIwVulx2Bce2pA== } + resolution: {integrity: sha512-bxaGcA40sL3d6M4hH72Z4NdLqxpXRsCFk8AITYg6x1rn1Ei3izf00UMLklerBZTO49aPA3CYrIwVulx2Bce2pA==} portfinder@1.0.38: - resolution: - { integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg== } - engines: { node: '>= 10.12' } + resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} + engines: {node: '>= 10.12'} possible-typed-array-names@1.1.0: - resolution: - { integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} - postcss@8.5.6: - resolution: - { integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== } - engines: { node: ^10 || ^12 || >=14 } + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: - resolution: - { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} postgres-bytea@1.0.1: - resolution: - { integrity: sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==} + engines: {node: '>=0.10.0'} postgres-date@1.0.7: - resolution: - { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} postgres-interval@1.2.0: - resolution: - { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} prettier-plugin-organize-imports@4.3.0: - resolution: - { integrity: sha512-FxFz0qFhyBsGdIsb697f/EkvHzi5SZOhWAjxcx2dLt+Q532bAlhswcXGYB1yzjZ69kW8UoadFBw7TyNwlq96Iw== } + resolution: {integrity: sha512-FxFz0qFhyBsGdIsb697f/EkvHzi5SZOhWAjxcx2dLt+Q532bAlhswcXGYB1yzjZ69kW8UoadFBw7TyNwlq96Iw==} peerDependencies: prettier: '>=2.0' typescript: '>=2.9' @@ -8789,19 +6734,17 @@ packages: vue-tsc: optional: true - prettier-plugin-packagejson@3.0.0: - resolution: - { integrity: sha512-z8/QmPSqx/ANvvQMWJSkSq1+ihBXeuwDEYdjX3ZjRJ5Ty1k7vGbFQfhzk2eDe0rwS/TNyRjWK/qnjJEStAOtDw== } + prettier-plugin-packagejson@3.0.2: + resolution: {integrity: sha512-kmoj3hEynXwoHDo8ZhmWAIjRBoQWCDUVackiWfSDWdgD0rS3LGB61T9zoVbume/cotYdCoadUh4sqViAmXvpBQ==} peerDependencies: prettier: ^3 peerDependenciesMeta: prettier: optional: true - prettier-plugin-tailwindcss@0.7.2: - resolution: - { integrity: sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA== } - engines: { node: '>=20.19' } + prettier-plugin-tailwindcss@0.8.1: + resolution: {integrity: sha512-iaFMYqDsE4ffdDkn5qup0j5f2aCEBFZrdrZnvu9QKTlWx/iGPeQ4HHu7b7fCPMxeo9nwQBiOAh2nSypdFYWJkw==} + engines: {node: '>=20.19'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' '@prettier/plugin-hermes': '*' @@ -8854,1405 +6797,1074 @@ packages: prettier-plugin-svelte: optional: true - prettier@3.8.1: - resolution: - { integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg== } - engines: { node: '>=14' } + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} + engines: {node: '>=14'} hasBin: true pretty-format@27.5.1: - resolution: - { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } - - pretty-format@30.0.2: - resolution: - { integrity: sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg== } - engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - proc-log@4.2.0: - resolution: - { integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + pretty-format@30.4.1: + resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - proc-log@6.1.0: - resolution: - { integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ== } - engines: { node: ^20.17.0 || >=22.9.0 } + proc-log@7.0.0: + resolution: {integrity: sha512-FYgfaA69XZ93zaXLoMNQ+ViDXGGBgR8aLh03txzcFhV+9xOXx7+8DLCULrKKpR9+GsH9ZfHm82aSUPpozX0Ztg==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} process@0.11.10: - resolution: - { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} progress@2.0.3: - resolution: - { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} promise-breaker@6.0.0: - resolution: - { integrity: sha512-BthzO9yTPswGf7etOBiHCVuugs2N01/Q/94dIPls48z2zCmrnDptUUZzfIb+41xq0MnYZ/BzmOd6ikDR4ibNZA== } - - promise-retry@2.0.1: - resolution: - { integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-BthzO9yTPswGf7etOBiHCVuugs2N01/Q/94dIPls48z2zCmrnDptUUZzfIb+41xq0MnYZ/BzmOd6ikDR4ibNZA==} prop-types@15.8.1: - resolution: - { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} property-expr@2.0.6: - resolution: - { integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== } + resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} proto-list@1.2.4: - resolution: - { integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== } + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} proto3-json-serializer@2.0.2: - resolution: - { integrity: sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ==} + engines: {node: '>=14.0.0'} proto3-json-serializer@3.0.4: - resolution: - { integrity: sha512-E1sbAYg3aEbXrq0n1ojJkRHQJGE1kaE/O6GLA94y8rnJBfgvOPTOd1b9hOceQK1FFZI9qMh1vBERCyO2ifubcw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-E1sbAYg3aEbXrq0n1ojJkRHQJGE1kaE/O6GLA94y8rnJBfgvOPTOd1b9hOceQK1FFZI9qMh1vBERCyO2ifubcw==} + engines: {node: '>=18'} - protobufjs@7.5.4: - resolution: - { integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg== } - engines: { node: '>=12.0.0' } + protobufjs@7.6.5: + resolution: {integrity: sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==} + engines: {node: '>=12.0.0'} proxy-addr@2.0.7: - resolution: - { integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} proxy-agent@6.5.0: - resolution: - { integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} ps-tree@1.2.0: - resolution: - { integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} hasBin: true punycode@2.3.1: - resolution: - { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} pupa@2.1.1: - resolution: - { integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} pure-rand@7.0.1: - resolution: - { integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ== } + resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} - qs@6.14.1: - resolution: - { integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ== } - engines: { node: '>=0.6' } - - qs@6.14.2: - resolution: - { integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== } - engines: { node: '>=0.6' } + qs@6.15.3: + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} + engines: {node: '>=0.6'} queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} railroad-diagrams@1.0.0: - resolution: - { integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A== } + resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} randexp@0.4.6: - resolution: - { integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} + engines: {node: '>=0.12'} range-parser@1.2.1: - resolution: - { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} raw-body@2.5.3: - resolution: - { integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} raw-body@3.0.2: - resolution: - { integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} rc@1.2.8: - resolution: - { integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== } + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - re2@1.23.0: - resolution: - { integrity: sha512-mT7+/Lz+Akjm/C/X6PiaHihcJL92TNNXai/C4c/dfBbhtwMm1uKEEoA2Lz/FF6aBFfQzg5mAyv4BGjM4q44QwQ== } + re2@1.26.1: + resolution: {integrity: sha512-oi79a4h6EO3PAwNsDMWgeCcsRGQEUa52DIgOiFTZGDEZocEXG9h+oXy0qZqndo47huUeJuVWSoOJIEhOupqOcg==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - react-aria-components@1.14.0: - resolution: - { integrity: sha512-u21N/yS6Ozk9P9oO8wxMNZSFiPk6F3aAE9w6aN7pseGPApkjXqDyPNCnTsTTvMtVL3QRBkVbf7fJ5yi2hksVEg== } + re2js@2.8.6: + resolution: {integrity: sha512-xLgQil4kIUCrAzVk9fRSkxkFNwmygLFjVxXrLc65aE1F0+Zsb8rxumFBy4XKyvgMCTL6kilDq3EZ0piE2dP/Dg==} + engines: {node: '>=18.0.0'} + + react-aria-components@1.20.0: + resolution: {integrity: sha512-BMbpIgoV9aELeBrB0Y120NgoigHb5OdcJwc+4e7uSnbTbamea6lo+gqcc4LAxzMaK3Jf+7LI1oCDE6yANsmxIQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-aria@3.45.0: - resolution: - { integrity: sha512-QsdWIhhm3+IAiW3SU9tEm7pmeIcveEPAO6riZ1IUF78ZCvH/47nU4zVztcdtYmwYWSL4168QxLncWKtlMva3BA== } + react-aria@3.51.0: + resolution: {integrity: sha512-AyWLw0XR38cFPwBu/ErgGaVrc5dupLEKmRlMXTGvFKOtbaGRQ2+yQJkjVhpdHhoRhU4+G+tJDFeHDTS8tK3bfQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-color@2.19.3: - resolution: - { integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== } + resolution: {integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==} peerDependencies: react: '*' react-docgen-typescript@2.4.0: - resolution: - { integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg== } + resolution: {integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==} peerDependencies: typescript: '>= 4.3.x' - react-docgen@8.0.2: - resolution: - { integrity: sha512-+NRMYs2DyTP4/tqWz371Oo50JqmWltR1h2gcdgUMAWZJIAvrd0/SqlCfx7tpzpl/s36rzw6qH2MjoNrxtRNYhA== } - engines: { node: ^20.9.0 || >=22 } + react-docgen@8.0.3: + resolution: {integrity: sha512-aEZ9qP+/M+58x2qgfSFEWH1BxLyHe5+qkLNJOZQb5iGS017jpbRnoKhNRrXPeA6RfBrZO5wZrT9DMC1UqE1f1w==} + engines: {node: ^20.9.0 || >=22} - react-dom@19.2.4: - resolution: - { integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ== } + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} peerDependencies: - react: ^19.2.4 + react: ^19.2.8 - react-error-boundary@6.1.0: - resolution: - { integrity: sha512-02k9WQ/mUhdbXir0tC1NiMesGzRPaCsJEWU/4bcFrbY1YMZOtHShtZP6zw0SJrBWA/31H0KT9/FgdL8+sPKgHA== } + react-error-boundary@6.1.2: + resolution: {integrity: sha512-3DpCr5HVdZ0caUjYE/kIHBEJN0mNP3ZCgf16c48uJ5TbWjorKVp+YG8W3XqlJ7vJAVNw6wNIImyPXmFydwmyng==} peerDependencies: react: ^18.0.0 || ^19.0.0 - react-hook-form@7.71.1: - resolution: - { integrity: sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w== } - engines: { node: '>=18.0.0' } + react-hook-form@7.85.0: + resolution: {integrity: sha512-U2MTriFXnclmV4rOE20p2DcRFv5WEg3FIcBFOKcOLFHDVvGIMPvLTkTWefUsonmlaVy23khVDxDWym6uJVGOzw==} + engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 react-is@16.13.1: - resolution: - { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} react-is@17.0.2: - resolution: - { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} react-is@18.3.1: - resolution: - { integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== } + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-is@19.2.8: + resolution: {integrity: sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==} react-simple-animate@3.5.3: - resolution: - { integrity: sha512-Ob+SmB5J1tXDEZyOe2Hf950K4M8VaWBBmQ3cS2BUnTORqHjhK0iKG8fB+bo47ZL15t8d3g/Y0roiqH05UBjG7A== } + resolution: {integrity: sha512-Ob+SmB5J1tXDEZyOe2Hf950K4M8VaWBBmQ3cS2BUnTORqHjhK0iKG8fB+bo47ZL15t8d3g/Y0roiqH05UBjG7A==} peerDependencies: react-dom: ^16.8.0 || ^17 || ^18 || ^19 - react-stately@3.42.0: - resolution: - { integrity: sha512-lYt2o1dd6dK8Bb4GRh08RG/2u64bSA1cqtRqtw4jEMgxC7Q17RFcIumBbChErndSdLzafEG/UBwV6shOfig6yw== } + react-stately@3.49.0: + resolution: {integrity: sha512-13iNq2KzBrRAzxRc+n53hgROfIistiYY/sPtIhCw1qUB7/kmo+X1xEU2uiS5zcCIrc55AUPwoHqOIIpKWSwB9A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-stately@3.43.0: - resolution: - { integrity: sha512-dScb9fTL1tRtFODPnk/2rP0a9kp1C+7+40RArS0C7j0auAUmnrO/wDILojwQUso7/kkys4fP707fTwGJDeJ7vg== } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react@19.2.4: - resolution: - { integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ== } - engines: { node: '>=0.10.0' } + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} + engines: {node: '>=0.10.0'} reactcss@1.2.3: - resolution: - { integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== } + resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==} peerDependencies: react: '*' read-package-up@11.0.0: - resolution: - { integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} + engines: {node: '>=18'} read-pkg@9.0.1: - resolution: - { integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} + engines: {node: '>=18'} readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} readable-stream@4.7.0: - resolution: - { integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} readdir-glob@1.1.3: - resolution: - { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} - recast@0.23.11: - resolution: - { integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA== } - engines: { node: '>= 4' } + recast@0.23.21: + resolution: {integrity: sha512-mFAyJq9vUbSTARLZUvAEf1z3YxlvAwswbmxMx2mPA/MSm4KmpwvwvhsH/NIrZhyOuwD60Lzyw2qh83uCbgTPYw==} + engines: {node: '>= 4'} redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} reflect.getprototypeof@1.0.10: - resolution: - { integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} regenerator-runtime@0.10.5: - resolution: - { integrity: sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w== } + resolution: {integrity: sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==} regenerator-runtime@0.11.1: - resolution: - { integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== } + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} regexp.prototype.flags@1.5.4: - resolution: - { integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} - registry-auth-token@5.1.0: - resolution: - { integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw== } - engines: { node: '>=14' } + registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} + engines: {node: '>=14'} registry-url@5.1.0: - resolution: - { integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} resolve-cwd@3.0.0: - resolution: - { integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} resolve-dir@1.0.1: - resolution: - { integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + engines: {node: '>=0.10.0'} resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: '>=8' } - - resolve@1.22.11: - resolution: - { integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} hasBin: true - resolve@2.0.0-next.5: - resolution: - { integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== } + resolve@2.0.0-next.7: + resolution: {integrity: sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==} + engines: {node: '>= 0.4'} hasBin: true restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} - restore-cursor@5.1.0: - resolution: - { integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== } - engines: { node: '>=18' } + restructure@3.0.2: + resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==} ret@0.1.15: - resolution: - { integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} retry-request@7.0.2: - resolution: - { integrity: sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w==} + engines: {node: '>=14'} - retry-request@8.0.2: - resolution: - { integrity: sha512-JzFPAfklk1kjR1w76f0QOIhoDkNkSqW8wYKT08n9yysTmZfB+RQ2QoXoTAeOi1HD9ZipTyTAZg3c4pM/jeqgSw== } - engines: { node: '>=18' } - - retry@0.12.0: - resolution: - { integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== } - engines: { node: '>= 4' } + retry-request@8.0.4: + resolution: {integrity: sha512-pI6/7eabUYkZxamkOq0g0uMxKLLGnjzhefY+vL8bVXag5rto4OU2YBTPytWLuHH7aEKD6fn7kJycQfid0Mwnkw==} + engines: {node: '>=18'} retry@0.13.1: - resolution: - { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} reusify@1.1.0: - resolution: - { integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } - - rfdc@1.4.1: - resolution: - { integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== } + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rimraf@5.0.10: - resolution: - { integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== } + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true - robust-predicates@3.0.2: - resolution: - { integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== } + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - rollup@2.79.2: - resolution: - { integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== } - engines: { node: '>=10.0.0' } + rolldown@1.2.3: + resolution: {integrity: sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.54.0: - resolution: - { integrity: sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw== } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } + rollup@2.80.0: + resolution: {integrity: sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==} + engines: {node: '>=10.0.0'} hasBin: true router@2.2.0: - resolution: - { integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== } - engines: { node: '>= 18' } + resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} + engines: {node: '>= 18'} run-applescript@7.1.0: - resolution: - { integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} run-async@2.4.1: - resolution: - { integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} rw@1.3.3: - resolution: - { integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== } + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} rxjs@7.8.2: - resolution: - { integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== } + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-array-concat@1.1.3: - resolution: - { integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== } - engines: { node: '>=0.4' } + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} safe-push-apply@1.0.0: - resolution: - { integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} safe-regex-test@1.1.0: - resolution: - { integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} safe-stable-stringify@2.5.0: - resolution: - { integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.4.3: - resolution: - { integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ== } + sax@1.6.1: + resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==} + engines: {node: '>=11.0.0'} scheduler@0.27.0: - resolution: - { integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q== } + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} seedrandom@3.0.5: - resolution: - { integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== } + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} semver-diff@3.1.1: - resolution: - { integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } - hasBin: true - - semver@7.7.3: - resolution: - { integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.4: - resolution: - { integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== } - engines: { node: '>=10' } + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} hasBin: true send@0.19.2: - resolution: - { integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} send@1.2.1: - resolution: - { integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ== } - engines: { node: '>= 18' } + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} serve-static@1.16.3: - resolution: - { integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} serve-static@2.2.1: - resolution: - { integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw== } - engines: { node: '>= 18' } + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} set-function-length@1.2.2: - resolution: - { integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} set-function-name@2.0.2: - resolution: - { integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} set-proto@1.0.0: - resolution: - { integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} setprototypeof@1.2.0: - resolution: - { integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: - { integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== } - engines: { node: '>= 0.4' } + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + engines: {node: '>= 0.4'} - side-channel-list@1.0.0: - resolution: - { integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== } - engines: { node: '>= 0.4' } + shell-quote@1.9.0: + resolution: {integrity: sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} side-channel-map@1.0.1: - resolution: - { integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: - { integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} - side-channel@1.1.0: - resolution: - { integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== } - engines: { node: '>= 0.4' } + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} sirv@3.0.2: - resolution: - { integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} skin-tone@2.0.0: - resolution: - { integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} slash@5.1.0: - resolution: - { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } - engines: { node: '>=14.16' } - - slice-ansi@7.1.2: - resolution: - { integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} smart-buffer@4.2.0: - resolution: - { integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== } - engines: { node: '>= 6.0.0', npm: '>= 3.0.0' } + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} socks-proxy-agent@8.0.5: - resolution: - { integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== } - engines: { node: '>= 14' } - - socks@2.8.7: - resolution: - { integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A== } - engines: { node: '>= 10.0.0', npm: '>= 3.0.0' } - - sort-any@2.0.0: - resolution: - { integrity: sha512-T9JoiDewQEmWcnmPn/s9h/PH9t3d/LSWi0RgVmXSuDYeZXTZOZ1/wrK2PHaptuR1VXe3clLLt0pD6sgVOwjNEA== } - - sort-object-keys@2.0.1: - resolution: - { integrity: sha512-R89fO+z3x7hiKPXX5P0qim+ge6Y60AjtlW+QQpRozrrNcR1lw9Pkpm5MLB56HoNvdcLHL4wbpq16OcvGpEDJIg== } - - sort-package-json@3.6.0: - resolution: - { integrity: sha512-fyJsPLhWvY7u2KsKPZn1PixbXp+1m7V8NWqU8CvgFRbMEX41Ffw1kD8n0CfJiGoaSfoAvbrqRRl/DcHO8omQOQ== } - engines: { node: '>=20' } + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + + socks@2.8.9: + resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + sort-object-keys@2.1.0: + resolution: {integrity: sha512-SOiEnthkJKPv2L6ec6HMwhUcN0/lppkeYuN1x63PbyPRrgSPIuBJCiYxYyvWRTtjMlOi14vQUCGUJqS6PLVm8g==} + + sort-package-json@3.7.1: + resolution: {integrity: sha512-ssk1HG7whF8N/T1IsNAQrtHG5Cbdi0rAgRJZXYBr9hF5xaHnBNzUx/W6LcthEW7FhOwvZssbESZuO+GxssqAyA==} + engines: {node: '>=20'} hasBin: true - sortablejs@1.15.6: - resolution: - { integrity: sha512-aNfiuwMEpfBM/CN6LY0ibyhxPfPbyFeBTYJKCvzkJ2GkUpazIt3H+QIPAMHwqQ7tMKaHz1Qj+rJJCqljnf4p3A== } + sortablejs@1.15.7: + resolution: {integrity: sha512-Kk8wLQPlS+yi1ZEf48a4+fzHa4yxjC30M/Sr2AnQu+f/MPwvvX9XjZ6OWejiz8crBsLwSq8GHqaxaET7u6ux0A==} source-map-js@1.2.1: - resolution: - { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} source-map-support@0.5.13: - resolution: - { integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== } + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} source-map@0.5.7: - resolution: - { integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} spdx-exceptions@2.5.0: - resolution: - { integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== } + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.22: - resolution: - { integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ== } + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} split2@4.2.0: - resolution: - { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} split@0.3.3: - resolution: - { integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== } + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sql-formatter@15.6.12: - resolution: - { integrity: sha512-mkpF+RG402P66VMsnQkWewTRzDBWfu9iLbOfxaW/nAKOS/2A9MheQmcU5cmX0D0At9azrorZwpvcBRNNBozACQ== } + sql-formatter@15.8.2: + resolution: {integrity: sha512-kTYRg5FIcvsDtYUG2Qn9pYT6xKwiLJN5TTIvc5Mur6hIg4pSfdpHu8Yyu5bqESLHnVM3mXzD446cb2+uEaKZXg==} hasBin: true - ssri@13.0.0: - resolution: - { integrity: sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng== } - engines: { node: ^20.17.0 || >=22.9.0 } - stack-trace@0.0.10: - resolution: - { integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== } + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} stack-utils@2.0.6: - resolution: - { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} statuses@1.5.0: - resolution: - { integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} statuses@2.0.2: - resolution: - { integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} - std-env@3.10.0: - resolution: - { integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== } + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} stop-iteration-iterator@1.1.0: - resolution: - { integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} - storybook@10.2.8: - resolution: - { integrity: sha512-885uSIn8NQw2ZG7vy84K45lHCOSyz1DVsDV8pHiHQj3J0riCuWLNeO50lK9z98zE8kjhgTtxAAkMTy5nkmNRKQ== } + storybook@10.5.7: + resolution: {integrity: sha512-oiKvWIwIoOhFP1i6dASYyMXwPHKEtVZMshqSB7EvIVYjWRh0l9H7gHEt1z4Gh2rLGFMekWdsm4s94rvwpR7gkg==} hasBin: true peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 prettier: ^2 || ^3 + vite-plus: ^0.1.15 || ^0.2.0 peerDependenciesMeta: + '@types/react': + optional: true prettier: optional: true + vite-plus: + optional: true stream-chain@2.2.5: - resolution: - { integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== } + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} stream-combiner@0.0.4: - resolution: - { integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== } + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} stream-events@1.0.5: - resolution: - { integrity: sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== } + resolution: {integrity: sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==} stream-json@1.9.1: - resolution: - { integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw== } + resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} stream-shift@1.0.3: - resolution: - { integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== } - - streamx@2.23.0: - resolution: - { integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg== } + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - string-argv@0.3.2: - resolution: - { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } - engines: { node: '>=0.6.19' } + streamx@2.28.0: + resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} string-length@4.0.2: - resolution: - { integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} string-width@7.2.0: - resolution: - { integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== } - engines: { node: '>=18' } - - string-width@8.1.0: - resolution: - { integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg== } - engines: { node: '>=20' } + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} string.prototype.includes@2.0.1: - resolution: - { integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} string.prototype.matchall@4.0.12: - resolution: - { integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} string.prototype.repeat@1.0.0: - resolution: - { integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== } + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} - string.prototype.trim@1.2.10: - resolution: - { integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== } - engines: { node: '>= 0.4' } + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} + engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.9: - resolution: - { integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== } - engines: { node: '>= 0.4' } + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} + engines: {node: '>= 0.4'} string.prototype.trimstart@1.0.8: - resolution: - { integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} - strip-ansi@7.1.2: - resolution: - { integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== } - engines: { node: '>=12' } + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} strip-bom@4.0.0: - resolution: - { integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} strip-indent@4.1.1: - resolution: - { integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} + engines: {node: '>=12'} strip-json-comments@2.0.1: - resolution: - { integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} strip-json-comments@3.1.1: - resolution: - { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} - strnum@1.1.2: - resolution: - { integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA== } + strnum@2.4.1: + resolution: {integrity: sha512-M9eUSMT2dCB2cTNPG7UYj6KuK7RJR2SN2+yCV/fTW3xzTCS6EaGZ5pSMgDIjB7r8zSfTGk+dvvn9rTjpVS9Mwg==} stubs@3.0.0: - resolution: - { integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw== } - - style-observer@0.0.8: - resolution: - { integrity: sha512-UaIPn33Sx4BJ+goia51Q++VFWoplWK1995VdxQYzwwbFa+FUNLKlG+aiIdG2Vw7VyzIUBi8tqu8mTyg0Ppu6Yg== } + resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} stylis@4.2.0: - resolution: - { integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== } + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} superstatic@10.0.0: - resolution: - { integrity: sha512-4xIenBdrIIYuqXrIVx/lejyCh4EJwEMPCwfk9VGFfRlhZcdvzTd3oVOUILrAGfC4pFUWixzPgaOVzAEZgeYI3w== } - engines: { node: 20 || 22 || 24 } + resolution: {integrity: sha512-4xIenBdrIIYuqXrIVx/lejyCh4EJwEMPCwfk9VGFfRlhZcdvzTd3oVOUILrAGfC4pFUWixzPgaOVzAEZgeYI3w==} + engines: {node: 20 || 22 || 24} hasBin: true + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} supports-hyperlinks@3.2.0: - resolution: - { integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig== } - engines: { node: '>=14.18' } + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} svg-arc-to-cubic-bezier@3.2.0: - resolution: - { integrity: sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g== } - - synckit@0.11.12: - resolution: - { integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== } - engines: { node: ^14.18.0 || >=16.0.0 } - - tabbable@6.3.0: - resolution: - { integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ== } - - tabbable@6.4.0: - resolution: - { integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg== } - - tailwind-merge@2.6.0: - resolution: - { integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA== } - - tailwind-variants@0.3.0: - resolution: - { integrity: sha512-ho2k5kn+LB1fT5XdNS3Clb96zieWxbStE9wNLK7D0AV64kdZMaYzAKo0fWl6fXLPY99ffF9oBJnIj5escEl/8A== } - engines: { node: '>=16.x', pnpm: '>=7.x' } + resolution: {integrity: sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==} + + synckit@0.11.13: + resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} + engines: {node: ^14.18.0 || >=16.0.0} + + tabbable@6.5.0: + resolution: {integrity: sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==} + + tailwind-merge@3.6.0: + resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==} + + tailwind-variants@3.3.1: + resolution: {integrity: sha512-4pAvwUtM4HKBiRZftncAbpn6V9Hhwoa5Fl7O2u5zbp7Z5Cvu+/o/6+176WY3WCEES209543quG8zFIcXCsc5Jw==} + engines: {node: '>=16.9.x', pnpm: '>=7.x'} peerDependencies: + tailwind-merge: '>=3.0.0' tailwindcss: '*' + peerDependenciesMeta: + tailwind-merge: + optional: true + tailwindcss: + optional: true - tailwindcss@4.1.18: - resolution: - { integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw== } + tailwindcss@4.3.3: + resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} - tapable@2.3.0: - resolution: - { integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== } - engines: { node: '>=6' } + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} - tar-stream@3.1.7: - resolution: - { integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== } + tar-stream@3.2.0: + resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==} - tar@7.5.7: - resolution: - { integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ== } - engines: { node: '>=18' } + tar@7.5.22: + resolution: {integrity: sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==} + engines: {node: '>=18'} - tcp-port-used@1.0.2: - resolution: - { integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA== } + tcp-port-used@1.0.3: + resolution: {integrity: sha512-4CEQ3qRJYo+mtEbJ+OoQu3dF4TDkwaO3RDVC4UzP5cpAOIUWwuwPjD7sdxDFFqsMUjsXVVYBMlg/boAaloThMA==} - teeny-request@10.1.0: - resolution: - { integrity: sha512-3ZnLvgWF29jikg1sAQ1g0o+lr5JX6sVgYvfUJazn7ZjJroDBUTWp44/+cFVX0bULjv4vci+rBD+oGVAkWqhUbw== } - engines: { node: '>=18' } + teeny-request@10.1.4: + resolution: {integrity: sha512-R1Cg4Vu0UULeDfHL/kjABLaTW++9yD/B6n2g48y5dJ04hsEaxcfmAqbNDzNsbqAYJyIpZafjklLG9YxRu9uzOg==} + engines: {node: '>=18'} teeny-request@9.0.0: - resolution: - { integrity: sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g==} + engines: {node: '>=14'} + + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} test-exclude@6.0.0: - resolution: - { integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} - text-decoder@1.2.3: - resolution: - { integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA== } + text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} text-hex@1.0.0: - resolution: - { integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== } + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} thenify-all@1.6.0: - resolution: - { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} thenify@3.3.1: - resolution: - { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } - - through2@2.0.5: - resolution: - { integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} through@2.3.8: - resolution: - { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== } + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} timezone-groups@0.10.4: - resolution: - { integrity: sha512-AnkJYrbb7uPkDCEqGeVJiawZNiwVlSkkeX4jZg1gTEguClhyX+/Ezn07KB6DT29tG3UN418ldmS/W6KqGOTDjg== } - engines: { node: '>=18.12.0' } + resolution: {integrity: sha512-AnkJYrbb7uPkDCEqGeVJiawZNiwVlSkkeX4jZg1gTEguClhyX+/Ezn07KB6DT29tG3UN418ldmS/W6KqGOTDjg==} + engines: {node: '>=18.12.0'} tiny-case@1.0.3: - resolution: - { integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== } + resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} tiny-inflate@1.0.3: - resolution: - { integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== } + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} tiny-invariant@1.3.3: - resolution: - { integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== } + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} tinybench@2.9.0: - resolution: - { integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== } + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinycolor2@1.6.0: - resolution: - { integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== } - - tinyexec@1.0.1: - resolution: - { integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw== } + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyexec@1.0.2: - resolution: - { integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== } - engines: { node: '>=18' } + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} + engines: {node: '>=18'} - tinyglobby@0.2.15: - resolution: - { integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== } - engines: { node: '>=12.0.0' } + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} tinyqueue@2.0.3: - resolution: - { integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA== } + resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} tinyrainbow@2.0.0: - resolution: - { integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + engines: {node: '>=14.0.0'} - tinyrainbow@3.0.3: - resolution: - { integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q== } - engines: { node: '>=14.0.0' } + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} + engines: {node: '>=14.0.0'} tinyspy@4.0.4: - resolution: - { integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} + engines: {node: '>=14.0.0'} - tmp@0.2.5: - resolution: - { integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== } - engines: { node: '>=14.14' } + tmp@0.2.7: + resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} + engines: {node: '>=14.14'} tmpl@1.0.5: - resolution: - { integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== } + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} toidentifier@1.0.1: - resolution: - { integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} toposort@2.0.2: - resolution: - { integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== } + resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} totalist@3.0.1: - resolution: - { integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} toxic@1.0.1: - resolution: - { integrity: sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg== } + resolution: {integrity: sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg==} tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} tree-kill@1.2.2: - resolution: - { integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== } + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true triple-beam@1.4.1: - resolution: - { integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg== } - engines: { node: '>= 14.0.0' } - - ts-api-utils@2.1.0: - resolution: - { integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== } - engines: { node: '>=18.12' } + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' - ts-dedent@2.2.0: - resolution: - { integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== } - engines: { node: '>=6.10' } - - ts-deepmerge@2.0.7: - resolution: - { integrity: sha512-3phiGcxPSSR47RBubQxPoZ+pqXsEsozLo4G4AlSrsMKTFg9TA3l+3he5BqpUi9wiuDbaHWXH/amlzQ49uEdXtg== } - - ts-md5@2.0.1: - resolution: - { integrity: sha512-yF35FCoEOFBzOclSkMNEUbFQZuv89KEQ+5Xz03HrMSGUGB1+r+El+JiGOFwsP4p9RFNzwlrydYoTLvPOuICl9w== } - engines: { node: '>=18' } - - ts-node@10.9.2: - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-dedent@2.3.0: + resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==} + engines: {node: '>=6.10'} + + ts-deepmerge@2.0.7: + resolution: {integrity: sha512-3phiGcxPSSR47RBubQxPoZ+pqXsEsozLo4G4AlSrsMKTFg9TA3l+3he5BqpUi9wiuDbaHWXH/amlzQ49uEdXtg==} + + ts-md5@2.0.1: + resolution: {integrity: sha512-yF35FCoEOFBzOclSkMNEUbFQZuv89KEQ+5Xz03HrMSGUGB1+r+El+JiGOFwsP4p9RFNzwlrydYoTLvPOuICl9w==} + engines: {node: '>=18'} tsconfig-paths@3.15.0: - resolution: - { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} tsconfig-paths@4.2.0: - resolution: - { integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} tslib@1.14.1: - resolution: - { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} tslib@2.8.1: - resolution: - { integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== } + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tsscmp@1.0.6: - resolution: - { integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== } - engines: { node: '>=0.6.x' } + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} type-detect@4.0.8: - resolution: - { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} type-fest@0.20.2: - resolution: - { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} type-fest@0.21.3: - resolution: - { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} type-fest@2.19.0: - resolution: - { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} type-fest@4.41.0: - resolution: - { integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} type-is@1.6.18: - resolution: - { integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: - { integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== } - engines: { node: '>= 0.6' } + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-array-buffer@1.0.3: - resolution: - { integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} typed-array-byte-length@1.0.3: - resolution: - { integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} typed-array-byte-offset@1.0.4: - resolution: - { integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} - typed-array-length@1.0.7: - resolution: - { integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== } - engines: { node: '>= 0.4' } + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} + engines: {node: '>= 0.4'} typedarray-to-buffer@3.1.5: - resolution: - { integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== } + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript-eslint@8.36.0: - resolution: - { integrity: sha512-fTCqxthY+h9QbEgSIBfL9iV6CvKDFuoxg6bHPNpJ9HIUzS+jy2lCEyCmGyZRWEBSaykqcDPf1SJ+BfCI8DRopA== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + typescript-eslint@8.67.0: + resolution: {integrity: sha512-S2udFs8tCKEKffuJ4TB1idGUZiXdCPGi3IPBGWXarbLQ5UPXORV8QEVzJ4gCRduURMb5EkpNCdjbk0eDIuI8Yg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - typescript@5.8.3: - resolution: - { integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== } - engines: { node: '>=14.17' } + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} hasBin: true unbox-primitive@1.1.0: - resolution: - { integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} - undici-types@6.21.0: - resolution: - { integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== } + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici-types@7.16.0: - resolution: - { integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== } + undici@6.28.0: + resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==} + engines: {node: '>=18.17'} + + undici@8.10.0: + resolution: {integrity: sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==} + engines: {node: '>=22.19.0'} unicode-emoji-modifier-base@1.0.0: - resolution: - { integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} unicode-properties@1.4.1: - resolution: - { integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg== } + resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} unicode-trie@2.0.0: - resolution: - { integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ== } + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} unicorn-magic@0.1.0: - resolution: - { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } - engines: { node: '>=18' } - - unicorn-magic@0.3.0: - resolution: - { integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} - unique-filename@5.0.0: - resolution: - { integrity: sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg== } - engines: { node: ^20.17.0 || >=22.9.0 } - - unique-slug@6.0.0: - resolution: - { integrity: sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw== } - engines: { node: ^20.17.0 || >=22.9.0 } + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} unique-string@2.0.0: - resolution: - { integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} - universal-analytics@0.5.3: - resolution: - { integrity: sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ== } - engines: { node: '>=12.18.2' } + universal-analytics@0.5.4: + resolution: {integrity: sha512-db38BYsx+oZEx0bc+PeGmIwG+YiYH5Xluhxf9EBnL39U4+DAXJtXQHLJ+zzTH36lx/N54/WKQQYnh0kQWJ74yg==} + engines: {node: '>=22.0.0'} universalify@2.0.1: - resolution: - { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} unpipe@1.0.0: - resolution: - { integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} unplugin@2.3.11: - resolution: - { integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww== } - engines: { node: '>=18.12.0' } - - unrs-resolver@1.11.1: - resolution: - { integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg== } + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} + engines: {node: '>=18.12.0'} - update-browserslist-db@1.1.4: - resolution: - { integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A== } - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + unrs-resolver@1.12.2: + resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} - update-browserslist-db@1.2.3: - resolution: - { integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== } + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' update-notifier-cjs@5.1.7: - resolution: - { integrity: sha512-eZWTh8F+VCEoC4UIh0pKmh8h4izj65VvLhCpJpVefUxdYe0fU3GBrC4Sbh1AoWA/miNPAb6UVlp2fUQNsfp+3g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-eZWTh8F+VCEoC4UIh0pKmh8h4izj65VvLhCpJpVefUxdYe0fU3GBrC4Sbh1AoWA/miNPAb6UVlp2fUQNsfp+3g==} + engines: {node: '>=14'} uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} url-join@0.0.1: - resolution: - { integrity: sha512-H6dnQ/yPAAVzMQRvEvyz01hhfQL5qRWSEt7BX8t9DqnPw9BjMb64fjIRq76Uvf1hkHp+mTZvEVJ5guXOT0Xqaw== } + resolution: {integrity: sha512-H6dnQ/yPAAVzMQRvEvyz01hhfQL5qRWSEt7BX8t9DqnPw9BjMb64fjIRq76Uvf1hkHp+mTZvEVJ5guXOT0Xqaw==} url-template@2.0.8: - resolution: - { integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw== } + resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} use-deep-compare-effect@1.8.1: - resolution: - { integrity: sha512-kbeNVZ9Zkc0RFGpfMN3MNfaKNvcLNyxOAAd9O4CBZ+kCBXXscn9s/4I+8ytUER4RDpEYs5+O6Rs4PqiZ+rHr5Q== } - engines: { node: '>=10', npm: '>=6' } + resolution: {integrity: sha512-kbeNVZ9Zkc0RFGpfMN3MNfaKNvcLNyxOAAd9O4CBZ+kCBXXscn9s/4I+8ytUER4RDpEYs5+O6Rs4PqiZ+rHr5Q==} + engines: {node: '>=10', npm: '>=6'} peerDependencies: react: '>=16.13' use-immer@0.11.0: - resolution: - { integrity: sha512-RNAqi3GqsWJ4bcCd4LMBgdzvPmTABam24DUaFiKfX9s3MSorNRz9RDZYJkllJoMHUxVLMDetwAuCDeyWNrp1yA== } + resolution: {integrity: sha512-RNAqi3GqsWJ4bcCd4LMBgdzvPmTABam24DUaFiKfX9s3MSorNRz9RDZYJkllJoMHUxVLMDetwAuCDeyWNrp1yA==} peerDependencies: immer: '>=8.0.0' react: ^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 use-isomorphic-layout-effect@1.2.1: - resolution: - { integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA== } + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} peerDependencies: '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -10260,101 +7872,70 @@ packages: '@types/react': optional: true - use-sync-external-store@1.5.0: - resolution: - { integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== } - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - use-sync-external-store@1.6.0: - resolution: - { integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== } + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} util@0.12.5: - resolution: - { integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== } + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} utils-merge@1.0.1: - resolution: - { integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== } - engines: { node: '>= 0.4.0' } - - uuid@11.1.0: - resolution: - { integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== } - hasBin: true + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} - uuid@13.0.0: - resolution: - { integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w== } + uuid@14.0.1: + resolution: {integrity: sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==} hasBin: true uuid@8.3.2: - resolution: - { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true uuid@9.0.1: - resolution: - { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true - v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } - v8-to-istanbul@9.3.0: - resolution: - { integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== } - engines: { node: '>=10.12.0' } + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} valid-url@1.0.9: - resolution: - { integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== } + resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } - - validate-npm-package-name@5.0.1: - resolution: - { integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} vary@1.1.2: - resolution: - { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} vite-plugin-eslint@1.8.1: - resolution: - { integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang== } + resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} peerDependencies: eslint: '>=7' - vite: '>=7.1.11' + vite: '>=2' vite-plugin-package-version@1.1.0: - resolution: - { integrity: sha512-TPoFZXNanzcaKCIrC3e2L/TVRkkRLB6l4RPN/S7KbG7rWfyLcCEGsnXvxn6qR7fyZwXalnnSN/I9d6pSFjHpEA== } + resolution: {integrity: sha512-TPoFZXNanzcaKCIrC3e2L/TVRkkRLB6l4RPN/S7KbG7rWfyLcCEGsnXvxn6qR7fyZwXalnnSN/I9d6pSFjHpEA==} peerDependencies: - vite: '>=7.1.11' + vite: '>=2.0.0-beta.69' - vite@7.3.1: - resolution: - { integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA== } - engines: { node: ^20.19.0 || >=22.12.0 } + vite@8.2.1: + resolution: {integrity: sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.4.0 + esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 - lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 stylus: '>=0.54.8' @@ -10365,12 +7946,14 @@ packages: peerDependenciesMeta: '@types/node': optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true jiti: optional: true less: optional: true - lightningcss: - optional: true sass: optional: true sass-embedded: @@ -10386,21 +7969,23 @@ packages: yaml: optional: true - vitest@4.0.18: - resolution: - { integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ== } - engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.18 - '@vitest/browser-preview': 4.0.18 - '@vitest/browser-webdriverio': 4.0.18 - '@vitest/ui': 4.0.18 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -10414,6 +7999,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -10421,173 +8010,128 @@ packages: jsdom: optional: true - wait-on@9.0.3: - resolution: - { integrity: sha512-13zBnyYvFDW1rBvWiJ6Av3ymAaq8EDQuvxZnPIw3g04UqGi4TyoIJABmfJ6zrvKo9yeFQExNkOk7idQbDJcuKA== } - engines: { node: '>=20.0.0' } + wait-on@9.1.0: + resolution: {integrity: sha512-PymrLXHLBM1Ju/Xspb2ADUhbPSMvbnuNvy/mN2hWtpbJ3da0h3Ky1LqwKPG5QSVR57liyO0iUpfipYl/s5qNvA==} + engines: {node: '>=20.0.0'} hasBin: true walker@1.0.8: - resolution: - { integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== } + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} web-streams-polyfill@3.3.3: - resolution: - { integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} web-streams-polyfill@4.0.0-beta.3: - resolution: - { integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} web-vitals@4.2.4: - resolution: - { integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw== } + resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} webpack-virtual-modules@0.6.2: - resolution: - { integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== } + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - websocket-driver@0.7.4: - resolution: - { integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== } - engines: { node: '>=0.8.0' } + websocket-driver@0.7.5: + resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} + engines: {node: '>=0.8.0'} websocket-extensions@0.1.4: - resolution: - { integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} whatwg-fetch@3.6.20: - resolution: - { integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== } + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} which-boxed-primitive@1.1.1: - resolution: - { integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} which-builtin-type@1.2.1: - resolution: - { integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} which-collection@1.0.2: - resolution: - { integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - which-typed-array@1.1.19: - resolution: - { integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== } - engines: { node: '>= 0.4' } + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} + engines: {node: '>= 0.4'} which@1.3.1: - resolution: - { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true - which@6.0.0: - resolution: - { integrity: sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg== } - engines: { node: ^20.17.0 || >=22.9.0 } + which@7.0.0: + resolution: {integrity: sha512-RancgH2dmbLdHl6LRhEqvklWMgl/Hdnun0Y90KhBOLkMefg8Qa7/Zel8Sm+8HEcP6DEjzsWzpkuBQEZok58isA==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} hasBin: true why-is-node-running@2.3.0: - resolution: - { integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} hasBin: true widest-line@3.1.0: - resolution: - { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} winston-transport@4.9.0: - resolution: - { integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} + engines: {node: '>= 12.0.0'} winston@3.19.0: - resolution: - { integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==} + engines: {node: '>= 12.0.0'} word-wrap@1.2.5: - resolution: - { integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} wrap-ansi@9.0.2: - resolution: - { integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== } - engines: { node: '>=18' } + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} write-file-atomic@3.0.3: - resolution: - { integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== } + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} write-file-atomic@5.0.1: - resolution: - { integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - - ws@7.5.10: - resolution: - { integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== } - engines: { node: '>=8.3.0' } - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ws@8.18.3: - resolution: - { integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== } - engines: { node: '>=10.0.0' } + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -10598,128 +8142,120 @@ packages: optional: true wsl-utils@0.1.0: - resolution: - { integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} xdg-basedir@4.0.0: - resolution: - { integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + + xml-naming@0.3.0: + resolution: {integrity: sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==} + engines: {node: '>=16.0.0'} xmldoc@2.0.3: - resolution: - { integrity: sha512-6gRk4NY/Jvg67xn7OzJuxLRsGgiXBaPUQplVJ/9l99uIugxh4FTOewYz5ic8WScj7Xx/2WvhENiQKwkK9RpE4w== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-6gRk4NY/Jvg67xn7OzJuxLRsGgiXBaPUQplVJ/9l99uIugxh4FTOewYz5ic8WScj7Xx/2WvhENiQKwkK9RpE4w==} + engines: {node: '>=12.0.0'} xss@1.0.13: - resolution: - { integrity: sha512-clu7dxTm1e8Mo5fz3n/oW3UCXBfV89xZ72jM8yzo1vR/pIS0w3sgB3XV2H8Vm6zfGnHL0FzvLJPJEBhd86/z4Q== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-clu7dxTm1e8Mo5fz3n/oW3UCXBfV89xZ72jM8yzo1vR/pIS0w3sgB3XV2H8Vm6zfGnHL0FzvLJPJEBhd86/z4Q==} + engines: {node: '>= 0.10.0'} hasBin: true - xstate@5.25.0: - resolution: - { integrity: sha512-yyWzfhVRoTHNLjLoMmdwZGagAYfmnzpm9gPjlX2MhJZsDojXGqRxODDOi4BsgGRKD46NZRAdcLp6CKOyvQS0Bw== } + xstate@5.32.5: + resolution: {integrity: sha512-ULazi1oe6wGrXl0Frb6otSlkm5HLifbbVTkMk5kkSKqz4TkxJaVpnl6jOJwKeid3ORPxYyZQgNLUSYX9q65SIA==} xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} yallist@3.1.1: - resolution: - { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} yallist@5.0.0: - resolution: - { integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== } - engines: { node: '>=18' } - - yaml@1.10.2: - resolution: - { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } - engines: { node: '>= 6' } - - yaml@2.8.2: - resolution: - { integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A== } - engines: { node: '>= 14.6' } + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + engines: {node: '>= 6'} + + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} hasBin: true yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: '>=10' } + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} + engines: {node: '>=10'} - yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: '>=12' } + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} - yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: '>=6' } + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} yoctocolors-cjs@2.1.3: - resolution: - { integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} yup@1.7.1: - resolution: - { integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw== } + resolution: {integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==} zip-stream@6.0.1: - resolution: - { integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} - zod-to-json-schema@3.25.1: - resolution: - { integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA== } + zod-to-json-schema@3.25.2: + resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: - zod: ^3.25 || ^4 + zod: ^3.25.28 || ^4 - zod@3.25.76: - resolution: - { integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== } + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} snapshots: - '@adobe/css-tools@4.4.4': {} - '@amcharts/amcharts5@5.14.4': + '@adobe/css-tools@4.5.0': {} + + '@amcharts/amcharts5@5.18.0': dependencies: '@types/d3': 7.4.3 '@types/d3-chord': 3.0.6 '@types/d3-hierarchy': 3.1.1 '@types/d3-sankey': 0.11.2 - '@types/d3-shape': 3.1.7 + '@types/d3-shape': 3.1.8 '@types/geojson': 7946.0.16 '@types/polylabel': 1.1.3 '@types/svg-arc-to-cubic-bezier': 3.2.3 @@ -10735,7 +8271,7 @@ snapshots: d3-voronoi-treemap: 1.1.2 flatpickr: 4.6.13 markerjs2: 2.32.7 - pdfmake: 0.2.21 + pdfmake: 0.3.11 polylabel: 1.1.0 seedrandom: 3.0.5 svg-arc-to-cubic-bezier: 3.2.0 @@ -10746,335 +8282,261 @@ snapshots: '@jsdevtools/ono': 7.1.3 '@types/json-schema': 7.0.15 call-me-maybe: 1.0.2 - js-yaml: 4.1.1 - - '@apphosting/build@0.1.7(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)': - dependencies: - '@apphosting/common': 0.0.9 - '@npmcli/promise-spawn': 3.0.0 - colorette: 2.0.20 - commander: 11.1.0 - npm-pick-manifest: 9.1.0 - ts-node: 10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3) - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - typescript + js-yaml: 4.3.1 '@apphosting/common@0.0.8': {} - '@apphosting/common@0.0.9': {} + '@arcgis/common-components@5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2)': + dependencies: + '@arcgis/core': 5.1.15 + '@arcgis/lumina': 5.1.15(lit@3.3.3) + '@arcgis/toolkit': 5.1.15 + '@esri/arcgis-html-sanitizer': 4.1.0 + '@esri/calcite-components': 5.1.2 + '@lit/task': 1.0.3 + lit: 3.3.3 + tslib: 2.8.1 + transitivePeerDependencies: + - '@lit/context' - '@arcgis/core@4.34.8(@lit/context@1.1.6)': + '@arcgis/core@5.1.15': dependencies: - '@amcharts/amcharts5': 5.14.4 - '@arcgis/toolkit': 4.34.9 + '@amcharts/amcharts5': 5.18.0 + '@arcgis/toolkit': 5.1.16 '@esri/arcgis-html-sanitizer': 4.1.0 - '@esri/calcite-components': 3.3.3(@lit/context@1.1.6) - '@vaadin/grid': 24.9.7 - '@zip.js/zip.js': 2.8.11 + '@esri/calcite-components': 5.1.2 + '@vaadin/grid': 25.1.10 + '@zip.js/zip.js': 2.8.41 luxon: 3.7.2 - marked: 16.3.0 + marked: 18.0.9 tslib: 2.8.1 transitivePeerDependencies: - '@lit/context' - '@arcgis/lumina@4.34.9(@lit/context@1.1.6)(lit@3.3.2)': + '@arcgis/lumina@5.1.15(lit@3.3.3)': dependencies: - '@arcgis/toolkit': 4.34.9 + '@arcgis/toolkit': 5.1.15 csstype: 3.2.3 - lit: 3.3.2 + lit: 3.3.3 tslib: 2.8.1 - optionalDependencies: - '@lit/context': 1.1.6 - '@arcgis/toolkit@4.34.9': + '@arcgis/lumina@5.1.16(lit@3.3.3)': dependencies: + '@arcgis/toolkit': 5.1.16 + csstype: 3.2.3 + lit: 3.3.3 tslib: 2.8.1 - '@babel/code-frame@7.27.1': + '@arcgis/map-components@5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2)': dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 + '@amcharts/amcharts5': 5.18.0 + '@arcgis/common-components': 5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2) + '@arcgis/core': 5.1.15 + '@arcgis/lumina': 5.1.15(lit@3.3.3) + '@arcgis/toolkit': 5.1.15 + '@esri/calcite-components': 5.1.2 + lit: 3.3.3 + lodash-es: 4.18.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@lit/context' + + '@arcgis/toolkit@5.1.15': + dependencies: + tslib: 2.8.1 - '@babel/code-frame@7.29.0': + '@arcgis/toolkit@5.1.16': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + tslib: 2.8.1 + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.5': {} - - '@babel/compat-data@7.29.0': {} + '@babel/compat-data@7.29.7': {} - '@babel/core@7.28.5': + '@babel/core@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/core@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.28.6 - '@babel/parser': 7.29.0 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.28.5': + '@babel/generator@7.29.8': dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/generator@7.29.1': - dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.28.6': + '@babel/helper-compilation-targets@7.29.7': dependencies: - '@babel/compat-data': 7.29.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.8 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-globals@7.29.7': {} - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + '@babel/helper-module-imports@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2) + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.28.6': {} - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-option@7.27.1': {} + '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helpers@7.28.4': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 + '@babel/helper-string-parser@7.29.7': {} - '@babel/helpers@7.28.6': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/helper-validator-identifier@7.29.7': {} - '@babel/parser@7.28.5': - dependencies: - '@babel/types': 7.28.5 + '@babel/helper-validator-option@7.29.7': {} - '@babel/parser@7.29.0': + '@babel/helpers@7.29.7': dependencies: - '@babel/types': 7.29.0 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.0)': + '@babel/parser@7.29.8': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.8 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.0)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.0)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.0)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.0)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/runtime@7.27.6': {} + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/runtime@7.28.6': {} - - '@babel/template@7.27.2': + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + '@babel/runtime@7.29.7': {} - '@babel/traverse@7.28.5': + '@babel/template@7.29.7': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 - '@babel/traverse@7.29.0': + '@babel/traverse@7.29.8(supports-color@10.2.2)': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.0 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@babel/types@7.28.5': + '@babel/types@7.29.8': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@babel/types@7.29.0': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 '@bcoe/v8-coverage@0.2.3': {} @@ -11085,195 +8547,107 @@ snapshots: '@colors/colors@1.6.0': {} - '@commitlint/cli@20.4.1(@types/node@25.0.3)(typescript@5.8.3)': - dependencies: - '@commitlint/format': 20.4.0 - '@commitlint/lint': 20.4.1 - '@commitlint/load': 20.4.0(@types/node@25.0.3)(typescript@5.8.3) - '@commitlint/read': 20.4.0 - '@commitlint/types': 20.4.0 - tinyexec: 1.0.1 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - typescript - - '@commitlint/config-conventional@20.4.1': - dependencies: - '@commitlint/types': 20.4.0 - conventional-changelog-conventionalcommits: 9.1.0 - - '@commitlint/config-validator@19.8.1': - dependencies: - '@commitlint/types': 19.8.1 - ajv: 8.17.1 - optional: true - - '@commitlint/config-validator@20.4.0': + '@commitlint/config-validator@21.2.0': dependencies: - '@commitlint/types': 20.4.0 - ajv: 8.17.1 - - '@commitlint/ensure@20.4.1': - dependencies: - '@commitlint/types': 20.4.0 - lodash.camelcase: 4.3.0 - lodash.kebabcase: 4.1.1 - lodash.snakecase: 4.1.1 - lodash.startcase: 4.4.0 - lodash.upperfirst: 4.3.1 - - '@commitlint/execute-rule@19.8.1': + '@commitlint/types': 21.2.0 + ajv: 8.20.0 optional: true - '@commitlint/execute-rule@20.0.0': {} - - '@commitlint/format@20.4.0': - dependencies: - '@commitlint/types': 20.4.0 - picocolors: 1.1.1 - - '@commitlint/is-ignored@20.4.1': - dependencies: - '@commitlint/types': 20.4.0 - semver: 7.7.3 - - '@commitlint/lint@20.4.1': - dependencies: - '@commitlint/is-ignored': 20.4.1 - '@commitlint/parse': 20.4.1 - '@commitlint/rules': 20.4.1 - '@commitlint/types': 20.4.0 - - '@commitlint/load@19.8.1(@types/node@25.0.3)(typescript@5.8.3)': - dependencies: - '@commitlint/config-validator': 19.8.1 - '@commitlint/execute-rule': 19.8.1 - '@commitlint/resolve-extends': 19.8.1 - '@commitlint/types': 19.8.1 - chalk: 5.6.2 - cosmiconfig: 9.0.0(typescript@5.8.3) - cosmiconfig-typescript-loader: 6.1.0(@types/node@25.0.3)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 - transitivePeerDependencies: - - '@types/node' - - typescript + '@commitlint/execute-rule@21.0.1': optional: true - '@commitlint/load@20.4.0(@types/node@25.0.3)(typescript@5.8.3)': + '@commitlint/load@21.2.0(@types/node@24.13.3)(typescript@6.0.3)': dependencies: - '@commitlint/config-validator': 20.4.0 - '@commitlint/execute-rule': 20.0.0 - '@commitlint/resolve-extends': 20.4.0 - '@commitlint/types': 20.4.0 - cosmiconfig: 9.0.0(typescript@5.8.3) - cosmiconfig-typescript-loader: 6.1.0(@types/node@25.0.3)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) + '@commitlint/config-validator': 21.2.0 + '@commitlint/execute-rule': 21.0.1 + '@commitlint/resolve-extends': 21.2.0 + '@commitlint/types': 21.2.0 + cosmiconfig: 9.0.2(typescript@6.0.3) + cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3) + es-toolkit: 1.50.0 is-plain-obj: 4.1.0 - lodash.mergewith: 4.6.2 picocolors: 1.1.1 transitivePeerDependencies: - '@types/node' - typescript + optional: true - '@commitlint/message@20.4.0': {} - - '@commitlint/parse@20.4.1': - dependencies: - '@commitlint/types': 20.4.0 - conventional-changelog-angular: 8.1.0 - conventional-commits-parser: 6.2.1 - - '@commitlint/read@20.4.0': + '@commitlint/resolve-extends@21.2.0': dependencies: - '@commitlint/top-level': 20.4.0 - '@commitlint/types': 20.4.0 - git-raw-commits: 4.0.0 - minimist: 1.2.8 - tinyexec: 1.0.1 + '@commitlint/config-validator': 21.2.0 + '@commitlint/types': 21.2.0 + es-toolkit: 1.50.0 + global-directory: 5.0.0 + resolve-from: 5.0.0 + optional: true - '@commitlint/resolve-extends@19.8.1': + '@commitlint/types@21.2.0': dependencies: - '@commitlint/config-validator': 19.8.1 - '@commitlint/types': 19.8.1 - global-directory: 4.0.1 - import-meta-resolve: 4.1.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 + conventional-commits-parser: 7.1.2 + picocolors: 1.1.1 optional: true - '@commitlint/resolve-extends@20.4.0': + '@dabh/diagnostics@2.0.8': dependencies: - '@commitlint/config-validator': 20.4.0 - '@commitlint/types': 20.4.0 - global-directory: 4.0.1 - import-meta-resolve: 4.1.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 + '@so-ric/colorspace': 1.1.6 + enabled: 2.0.0 + kuler: 2.0.0 - '@commitlint/rules@20.4.1': + '@electric-sql/pglite-tools@0.2.21(@electric-sql/pglite@0.3.16)': dependencies: - '@commitlint/ensure': 20.4.1 - '@commitlint/message': 20.4.0 - '@commitlint/to-lines': 20.0.0 - '@commitlint/types': 20.4.0 + '@electric-sql/pglite': 0.3.16 - '@commitlint/to-lines@20.0.0': {} + '@electric-sql/pglite@0.2.17': {} - '@commitlint/top-level@20.4.0': - dependencies: - escalade: 3.2.0 + '@electric-sql/pglite@0.3.16': {} - '@commitlint/types@19.8.1': + '@emnapi/core@1.10.0': dependencies: - '@types/conventional-commits-parser': 5.0.1 - chalk: 5.6.2 + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 optional: true - '@commitlint/types@20.4.0': + '@emnapi/core@1.11.2': dependencies: - conventional-commits-parser: 6.2.1 - picocolors: 1.1.1 + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 + optional: true - '@cspotcode/source-map-support@0.8.1': + '@emnapi/core@1.9.2': dependencies: - '@jridgewell/trace-mapping': 0.3.9 + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true - '@dabh/diagnostics@2.0.8': + '@emnapi/runtime@1.10.0': dependencies: - '@so-ric/colorspace': 1.1.6 - enabled: 2.0.0 - kuler: 2.0.0 + tslib: 2.8.1 + optional: true - '@electric-sql/pglite-tools@0.2.19(@electric-sql/pglite@0.3.14)': + '@emnapi/runtime@1.11.2': dependencies: - '@electric-sql/pglite': 0.3.14 - - '@electric-sql/pglite@0.2.17': {} - - '@electric-sql/pglite@0.3.14': {} + tslib: 2.8.1 + optional: true - '@emnapi/core@1.8.1': + '@emnapi/runtime@1.9.2': dependencies: - '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.8.1': + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.1.0': + '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 optional: true - '@emotion/babel-plugin@11.13.5': + '@emotion/babel-plugin@11.13.5(supports-color@10.2.2)': dependencies: - '@babel/helper-module-imports': 7.27.1 - '@babel/runtime': 7.27.6 + '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2) + '@babel/runtime': 7.29.7 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 '@emotion/serialize': 1.3.3 @@ -11296,25 +8670,25 @@ snapshots: '@emotion/hash@0.9.2': {} - '@emotion/is-prop-valid@1.3.1': + '@emotion/is-prop-valid@1.4.0': dependencies: '@emotion/memoize': 0.9.0 '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.4)': + '@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2)': dependencies: - '@babel/runtime': 7.27.6 - '@emotion/babel-plugin': 11.13.5 + '@babel/runtime': 7.29.7 + '@emotion/babel-plugin': 11.13.5(supports-color@10.2.2) '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.4) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.8) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 19.2.4 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.18 transitivePeerDependencies: - supports-color @@ -11328,26 +8702,26 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.4))(@types/react@19.2.7)(react@19.2.4)': + '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2))(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2)': dependencies: - '@babel/runtime': 7.27.6 - '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.4) + '@babel/runtime': 7.29.7 + '@emotion/babel-plugin': 11.13.5(supports-color@10.2.2) + '@emotion/is-prop-valid': 1.4.0 + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.4) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.8) '@emotion/utils': 1.4.2 - react: 19.2.4 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.18 transitivePeerDependencies: - supports-color '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.4)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.8)': dependencies: - react: 19.2.4 + react: 19.2.8 '@emotion/utils@1.4.2': {} @@ -11355,610 +8729,568 @@ snapshots: '@epic-web/invariant@1.0.0': {} - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.28.2': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.28.2': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.28.2': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.28.2': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.28.2': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.28.2': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.28.2': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.28.2': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.28.2': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.28.2': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.28.2': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.28.2': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.28.2': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.28.2': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.28.2': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.28.2': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.28.2': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.28.2': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.28.2': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.28.2': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.28.2': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.28.2': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.28.2': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.28.2': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.28.2': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.28.2': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.10.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))': dependencies: - eslint: 9.31.0(jiti@2.6.1) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.1': {} + '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.0': + '@eslint/config-array@0.21.2(supports-color@10.2.2)': dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1 - minimatch: 3.1.2 + '@eslint/object-schema': 2.1.7 + debug: 4.4.3(supports-color@10.2.2) + minimatch: 3.1.5 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.0': {} + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 - '@eslint/core@0.15.1': + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': + '@eslint/eslintrc@3.3.6(supports-color@10.2.2)': dependencies: - ajv: 6.12.6 - debug: 4.4.1 + ajv: 6.15.0 + debug: 4.4.3(supports-color@10.2.2) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.1 - minimatch: 3.1.2 + js-yaml: 4.3.1 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@9.30.1': {} - - '@eslint/js@9.31.0': {} + '@eslint/js@9.39.5': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.3.4': + '@eslint/plugin-kit@0.4.1': dependencies: - '@eslint/core': 0.15.1 + '@eslint/core': 0.17.0 levn: 0.4.1 '@esri/arcgis-html-sanitizer@4.1.0': dependencies: xss: 1.0.13 - '@esri/arcgis-rest-fetch@4.0.0': + '@esri/arcgis-rest-fetch@4.11.0': dependencies: node-fetch: 3.3.2 - '@esri/arcgis-rest-form-data@4.0.0': + '@esri/arcgis-rest-form-data@4.11.0': dependencies: formdata-node: 4.4.1 - '@esri/arcgis-rest-geocoding@4.0.3(@esri/arcgis-rest-request@4.7.3)': + '@esri/arcgis-rest-geocoding@4.11.0(@esri/arcgis-rest-request@4.11.0)': dependencies: - '@esri/arcgis-rest-request': 4.7.3 - '@terraformer/arcgis': 2.1.2 + '@esri/arcgis-rest-request': 4.11.0 + '@terraformer/arcgis': 2.2.2 '@types/terraformer__arcgis': 2.0.5 tslib: 2.8.1 - '@esri/arcgis-rest-request@4.7.3': + '@esri/arcgis-rest-request@4.11.0': dependencies: - '@esri/arcgis-rest-fetch': 4.0.0 - '@esri/arcgis-rest-form-data': 4.0.0 + '@esri/arcgis-rest-fetch': 4.11.0 + '@esri/arcgis-rest-form-data': 4.11.0 mitt: 3.0.1 tslib: 2.8.1 - '@esri/calcite-components@3.3.3(@lit/context@1.1.6)': + '@esri/calcite-components@5.1.2': dependencies: - '@arcgis/lumina': 4.34.9(@lit/context@1.1.6)(lit@3.3.2) - '@arcgis/toolkit': 4.34.9 - '@esri/calcite-ui-icons': 4.3.0 - '@floating-ui/dom': 1.7.4 - '@floating-ui/utils': 0.2.10 + '@arcgis/lumina': 5.1.16(lit@3.3.3) + '@arcgis/toolkit': 5.1.16 + '@esri/calcite-ui-icons': 4.5.0 + '@floating-ui/dom': 1.8.0 + '@floating-ui/utils': 0.2.12 '@types/sortablejs': 1.15.9 color: 5.0.3 - composed-offset-position: 0.0.6(@floating-ui/utils@0.2.10) - es-toolkit: 1.43.0 - focus-trap: 7.7.1 - interactjs: 1.10.27 - lit: 3.3.2 - sortablejs: 1.15.6 + composed-offset-position: 0.0.6(@floating-ui/utils@0.2.12) + es-toolkit: 1.50.0 + focus-trap: 8.2.2 + interactjs: 1.10.28 + lit: 3.3.3 + sortablejs: 1.15.7 timezone-groups: 0.10.4 type-fest: 4.41.0 transitivePeerDependencies: - '@lit/context' - '@esri/calcite-ui-icons@4.3.0': {} + '@esri/calcite-ui-icons@4.5.0': {} '@fastify/busboy@3.2.0': {} - '@firebase/ai@2.5.0(@firebase/app-types@0.9.3)(@firebase/app@0.14.5)': + '@firebase/ai@2.14.0(@firebase/app-types@0.9.5)(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/app-types': 0.9.3 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/app-types': 0.9.5 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/analytics-compat@0.2.25(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5)': + '@firebase/analytics-compat@0.2.29(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/analytics': 0.10.19(@firebase/app@0.14.5) - '@firebase/analytics-types': 0.8.3 - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/util': 1.13.0 + '@firebase/analytics': 0.10.23(@firebase/app@0.16.0) + '@firebase/analytics-types': 0.8.4 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/util': 1.15.2 tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - '@firebase/analytics-types@0.8.3': {} + '@firebase/analytics-types@0.8.4': {} - '@firebase/analytics@0.10.19(@firebase/app@0.14.5)': + '@firebase/analytics@0.10.23(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/installations': 0.6.19(@firebase/app@0.14.5) - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/installations': 0.6.23(@firebase/app@0.16.0) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/app-check-compat@0.4.0(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5)': + '@firebase/app-check-compat@0.4.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-check': 0.11.0(@firebase/app@0.14.5) - '@firebase/app-check-types': 0.5.3 - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-check': 0.13.0(@firebase/app@0.16.0) + '@firebase/app-check-types': 0.5.4 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - '@firebase/app-check-interop-types@0.3.3': {} + '@firebase/app-check-interop-types@0.3.4': {} - '@firebase/app-check-types@0.5.3': {} + '@firebase/app-check-types@0.5.4': {} - '@firebase/app-check@0.11.0(@firebase/app@0.14.5)': + '@firebase/app-check@0.13.0(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/app-compat@0.5.5': + '@firebase/app-compat@0.5.16': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/app-types@0.9.3': {} + '@firebase/app-types@0.9.5': + dependencies: + '@firebase/logger': 0.5.1 - '@firebase/app@0.14.5': + '@firebase/app@0.16.0': dependencies: - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 idb: 7.1.1 tslib: 2.8.1 - '@firebase/auth-compat@0.6.1(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5)': + '@firebase/auth-compat@0.6.9(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/auth': 1.11.1(@firebase/app@0.14.5) - '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.13.0) - '@firebase/component': 0.7.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/auth': 1.13.4(@firebase/app@0.16.0) + '@firebase/auth-types': 0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.2) + '@firebase/component': 0.7.4 + '@firebase/util': 1.15.2 tslib: 2.8.1 transitivePeerDependencies: - - '@firebase/app' - '@firebase/app-types' - '@react-native-async-storage/async-storage' - '@firebase/auth-interop-types@0.2.4': {} + '@firebase/auth-interop-types@0.2.5': {} - '@firebase/auth-types@0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)': + '@firebase/auth-types@0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.2)': dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.13.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.2 - '@firebase/auth@1.11.1(@firebase/app@0.14.5)': + '@firebase/auth@1.13.4(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/component@0.7.0': + '@firebase/component@0.7.4': dependencies: - '@firebase/util': 1.13.0 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/data-connect@0.3.11(@firebase/app@0.14.5)': + '@firebase/data-connect@0.7.3(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/database-compat@2.1.0': + '@firebase/database-compat@2.1.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/component': 0.7.0 - '@firebase/database': 1.1.0 - '@firebase/database-types': 1.0.16 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/component': 0.7.4 + '@firebase/database': 1.1.4 + '@firebase/database-types': 1.0.21 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 + optionalDependencies: + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 - '@firebase/database-types@1.0.16': + '@firebase/database-types@1.0.21': dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.13.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.2 - '@firebase/database@1.1.0': + '@firebase/database@1.1.4': dependencies: - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 faye-websocket: 0.11.4 tslib: 2.8.1 - '@firebase/firestore-compat@0.4.2(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5)': + '@firebase/firestore-compat@0.4.12(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/firestore': 4.9.2(@firebase/app@0.14.5) - '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0) - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/firestore': 4.17.0(@firebase/app@0.16.0) + '@firebase/firestore-types': 3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.2) + '@firebase/util': 1.15.2 tslib: 2.8.1 transitivePeerDependencies: - - '@firebase/app' - '@firebase/app-types' - '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)': + '@firebase/firestore-types@3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.2)': dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.13.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.2 - '@firebase/firestore@4.9.2(@firebase/app@0.14.5)': + '@firebase/firestore@4.17.0(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 - '@firebase/webchannel-wrapper': 1.0.5 - '@grpc/grpc-js': 1.9.15 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 + '@firebase/webchannel-wrapper': 1.0.6 + '@grpc/grpc-js': 1.9.16 '@grpc/proto-loader': 0.7.15 + re2js: 2.8.6 tslib: 2.8.1 - '@firebase/functions-compat@0.4.1(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5)': + '@firebase/functions-compat@0.4.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/functions': 0.13.1(@firebase/app@0.14.5) - '@firebase/functions-types': 0.6.3 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/functions': 0.13.6(@firebase/app@0.16.0) + '@firebase/functions-types': 0.6.4 + '@firebase/util': 1.15.2 tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - '@firebase/functions-types@0.6.3': {} + '@firebase/functions-types@0.6.4': {} - '@firebase/functions@0.13.1(@firebase/app@0.14.5)': + '@firebase/functions@0.13.6(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.7.0 - '@firebase/messaging-interop-types': 0.2.3 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.4 + '@firebase/messaging-interop-types': 0.2.5 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/installations-compat@0.2.19(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5)': + '@firebase/installations-compat@0.2.23(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/installations': 0.6.19(@firebase/app@0.14.5) - '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3) - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/installations': 0.6.23(@firebase/app@0.16.0) + '@firebase/installations-types': 0.5.4(@firebase/app-types@0.9.5) + '@firebase/util': 1.15.2 tslib: 2.8.1 transitivePeerDependencies: - - '@firebase/app' - '@firebase/app-types' - '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3)': + '@firebase/installations-types@0.5.4(@firebase/app-types@0.9.5)': dependencies: - '@firebase/app-types': 0.9.3 + '@firebase/app-types': 0.9.5 - '@firebase/installations@0.6.19(@firebase/app@0.14.5)': + '@firebase/installations@0.6.23(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/util': 1.15.2 idb: 7.1.1 tslib: 2.8.1 - '@firebase/logger@0.5.0': + '@firebase/logger@0.5.1': dependencies: tslib: 2.8.1 - '@firebase/messaging-compat@0.2.23(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5)': + '@firebase/messaging-compat@0.2.28(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/messaging': 0.12.23(@firebase/app@0.14.5) - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/messaging': 0.13.1(@firebase/app@0.16.0) + '@firebase/util': 1.15.2 tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - '@firebase/messaging-interop-types@0.2.3': {} + '@firebase/messaging-interop-types@0.2.5': {} - '@firebase/messaging@0.12.23(@firebase/app@0.14.5)': + '@firebase/messaging@0.13.1(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/installations': 0.6.19(@firebase/app@0.14.5) - '@firebase/messaging-interop-types': 0.2.3 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/installations': 0.6.23(@firebase/app@0.16.0) + '@firebase/messaging-interop-types': 0.2.5 + '@firebase/util': 1.15.2 idb: 7.1.1 tslib: 2.8.1 - '@firebase/performance-compat@0.2.22(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5)': + '@firebase/performance-compat@0.2.26(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/performance': 0.7.9(@firebase/app@0.14.5) - '@firebase/performance-types': 0.2.3 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/performance': 0.7.13(@firebase/app@0.16.0) + '@firebase/performance-types': 0.2.4 + '@firebase/util': 1.15.2 tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - '@firebase/performance-types@0.2.3': {} + '@firebase/performance-types@0.2.4': {} - '@firebase/performance@0.7.9(@firebase/app@0.14.5)': + '@firebase/performance@0.7.13(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/installations': 0.6.19(@firebase/app@0.14.5) - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/installations': 0.6.23(@firebase/app@0.16.0) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 web-vitals: 4.2.4 - '@firebase/remote-config-compat@0.2.20(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5)': + '@firebase/remote-config-compat@0.2.28(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/logger': 0.5.0 - '@firebase/remote-config': 0.7.0(@firebase/app@0.14.5) - '@firebase/remote-config-types': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/logger': 0.5.1 + '@firebase/remote-config': 0.9.1(@firebase/app@0.16.0) + '@firebase/remote-config-types': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - '@firebase/remote-config-types@0.5.0': {} + '@firebase/remote-config-types@0.5.1': {} - '@firebase/remote-config@0.7.0(@firebase/app@0.14.5)': + '@firebase/remote-config@0.9.1(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/installations': 0.6.19(@firebase/app@0.14.5) - '@firebase/logger': 0.5.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/installations': 0.6.23(@firebase/app@0.16.0) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/rules-unit-testing@5.0.0(firebase@12.5.0)': + '@firebase/rules-unit-testing@5.0.1(firebase@12.17.1)': dependencies: - firebase: 12.5.0 + firebase: 12.17.1 - '@firebase/storage-compat@0.4.0(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5)': + '@firebase/storage-compat@0.4.4(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0)': dependencies: - '@firebase/app-compat': 0.5.5 - '@firebase/component': 0.7.0 - '@firebase/storage': 0.14.0(@firebase/app@0.14.5) - '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0) - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/app-compat': 0.5.16 + '@firebase/component': 0.7.4 + '@firebase/storage': 0.14.4(@firebase/app@0.16.0) + '@firebase/storage-types': 0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.2) + '@firebase/util': 1.15.2 tslib: 2.8.1 transitivePeerDependencies: - - '@firebase/app' - '@firebase/app-types' - '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)': + '@firebase/storage-types@0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.2)': dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.13.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.2 - '@firebase/storage@0.14.0(@firebase/app@0.14.5)': + '@firebase/storage@0.14.4(@firebase/app@0.16.0)': dependencies: - '@firebase/app': 0.14.5 - '@firebase/component': 0.7.0 - '@firebase/util': 1.13.0 + '@firebase/app': 0.16.0 + '@firebase/component': 0.7.4 + '@firebase/util': 1.15.2 tslib: 2.8.1 - '@firebase/util@1.13.0': + '@firebase/util@1.15.2': dependencies: tslib: 2.8.1 - '@firebase/webchannel-wrapper@1.0.5': {} - - '@floating-ui/core@1.7.3': - dependencies: - '@floating-ui/utils': 0.2.10 - - '@floating-ui/dom@1.7.4': - dependencies: - '@floating-ui/core': 1.7.3 - '@floating-ui/utils': 0.2.10 - - '@floating-ui/react-dom@2.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@floating-ui/dom': 1.7.4 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@floating-ui/react@0.26.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@floating-ui/utils': 0.2.10 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - tabbable: 6.3.0 - - '@floating-ui/utils@0.2.10': {} - - '@foliojs-fork/fontkit@1.9.2': - dependencies: - '@foliojs-fork/restructure': 2.0.2 - brotli: 1.3.3 - clone: 1.0.4 - deep-equal: 1.1.2 - dfa: 1.2.0 - tiny-inflate: 1.0.3 - unicode-properties: 1.4.1 - unicode-trie: 2.0.0 - - '@foliojs-fork/linebreak@1.1.2': - dependencies: - base64-js: 1.3.1 - unicode-trie: 2.0.0 + '@firebase/webchannel-wrapper@1.0.6': {} - '@foliojs-fork/pdfkit@0.15.3': + '@floating-ui/core@1.8.0': dependencies: - '@foliojs-fork/fontkit': 1.9.2 - '@foliojs-fork/linebreak': 1.1.2 - crypto-js: 4.2.0 - jpeg-exif: 1.1.4 - png-js: 1.0.0 + '@floating-ui/utils': 0.2.12 - '@foliojs-fork/restructure@2.0.2': {} - - '@formatjs/ecma402-abstract@2.3.6': + '@floating-ui/dom@1.8.0': dependencies: - '@formatjs/fast-memoize': 2.2.7 - '@formatjs/intl-localematcher': 0.6.2 - decimal.js: 10.6.0 - tslib: 2.8.1 + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 - '@formatjs/fast-memoize@2.2.7': + '@floating-ui/react-dom@2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - tslib: 2.8.1 + '@floating-ui/dom': 1.8.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@formatjs/icu-messageformat-parser@2.11.4': + '@floating-ui/react@0.26.28(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/icu-skeleton-parser': 1.8.16 - tslib: 2.8.1 + '@floating-ui/react-dom': 2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@floating-ui/utils': 0.2.12 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + tabbable: 6.5.0 - '@formatjs/icu-skeleton-parser@1.8.16': - dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - tslib: 2.8.1 + '@floating-ui/utils@0.2.12': {} - '@formatjs/intl-localematcher@0.6.2': + '@google-cloud/cloud-sql-connector@1.11.3(supports-color@10.2.2)': dependencies: - tslib: 2.8.1 + '@googleapis/sqladmin': 37.0.0(supports-color@10.2.2) + gaxios: 7.3.0(supports-color@10.2.2) + google-auth-library: 10.9.1(supports-color@10.2.2) + p-throttle: 8.1.0 + transitivePeerDependencies: + - supports-color - '@google-cloud/cloud-sql-connector@1.8.5': + '@google-cloud/firestore@7.11.6(supports-color@10.2.2)': dependencies: - '@googleapis/sqladmin': 31.1.0 - gaxios: 7.1.3 - google-auth-library: 10.5.0 - p-throttle: 7.0.0 + '@opentelemetry/api': 1.9.1 + fast-deep-equal: 3.1.3 + functional-red-black-tree: 1.0.1 + google-gax: 4.6.1(supports-color@10.2.2) + protobufjs: 7.6.5 transitivePeerDependencies: + - encoding - supports-color + optional: true - '@google-cloud/firestore@7.11.6(encoding@0.1.13)': + '@google-cloud/firestore@8.7.1(supports-color@10.2.2)': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 fast-deep-equal: 3.1.3 functional-red-black-tree: 1.0.1 - google-gax: 4.6.1(encoding@0.1.13) - protobufjs: 7.5.4 + google-gax: 5.0.8(supports-color@10.2.2) + protobufjs: 7.6.5 transitivePeerDependencies: - - encoding - supports-color optional: true - '@google-cloud/functions-framework@4.0.1': + '@google-cloud/functions-framework@5.0.5(supports-color@10.2.2)': dependencies: '@types/express': 5.0.6 - body-parser: 2.2.1 + body-parser: 2.3.0(supports-color@10.2.2) cloudevents: 10.0.0 - express: 5.2.1 + express: 5.2.1(supports-color@10.2.2) minimist: 1.2.8 on-finished: 2.4.1 read-package-up: 11.0.0 - semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -11968,43 +9300,45 @@ snapshots: extend: 3.0.2 optional: true - '@google-cloud/paginator@6.0.0': + '@google-cloud/paginator@6.1.0': dependencies: extend: 3.0.2 - '@google-cloud/precise-date@5.0.0': {} + '@google-cloud/precise-date@5.2.0': {} '@google-cloud/projectify@4.0.0': optional: true - '@google-cloud/projectify@5.0.0': {} + '@google-cloud/projectify@5.2.0': {} '@google-cloud/promisify@4.0.0': optional: true - '@google-cloud/promisify@5.0.0': {} + '@google-cloud/promisify@5.1.0': {} - '@google-cloud/pubsub@5.2.0': + '@google-cloud/pubsub@5.3.1(supports-color@10.2.2)': dependencies: - '@google-cloud/paginator': 6.0.0 - '@google-cloud/precise-date': 5.0.0 - '@google-cloud/projectify': 5.0.0 - '@google-cloud/promisify': 5.0.0 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.34.0 + '@google-cloud/paginator': 6.1.0 + '@google-cloud/precise-date': 5.2.0 + '@google-cloud/projectify': 5.2.0 + '@google-cloud/promisify': 5.1.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.39.0 arrify: 2.0.1 extend: 3.0.2 - google-auth-library: 10.5.0 - google-gax: 5.0.6 + google-auth-library: 10.9.1(supports-color@10.2.2) + google-gax: 5.0.8(supports-color@10.2.2) + google-logging-utils: 1.2.0 heap-js: 2.7.1 is-stream-ended: 0.1.4 lodash.snakecase: 4.1.1 + long: 5.3.2 p-defer: 3.0.0 transitivePeerDependencies: - supports-color - '@google-cloud/storage@7.18.0(encoding@0.1.13)': + '@google-cloud/storage@7.22.0(supports-color@10.2.2)': dependencies: '@google-cloud/paginator': 5.0.2 '@google-cloud/projectify': 4.0.0 @@ -12012,49 +9346,48 @@ snapshots: abort-controller: 3.0.0 async-retry: 1.3.3 duplexify: 4.1.3 - fast-xml-parser: 4.5.3 - gaxios: 6.7.1(encoding@0.1.13) - google-auth-library: 9.15.1(encoding@0.1.13) + fast-xml-parser: 5.10.1 + gaxios: 6.7.1(supports-color@10.2.2) + google-auth-library: 9.15.1(supports-color@10.2.2) html-entities: 2.6.0 mime: 3.0.0 p-limit: 3.1.0 - retry-request: 7.0.2(encoding@0.1.13) - teeny-request: 9.0.0(encoding@0.1.13) - uuid: 8.3.2 + retry-request: 7.0.2(supports-color@10.2.2) + teeny-request: 9.0.0(supports-color@10.2.2) transitivePeerDependencies: - encoding - supports-color optional: true - '@googleapis/sqladmin@31.1.0': + '@googleapis/sqladmin@37.0.0(supports-color@10.2.2)': dependencies: - googleapis-common: 8.0.2-rc.0 + googleapis-common: 8.0.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@grpc/grpc-js@1.14.3': + '@grpc/grpc-js@1.14.4': dependencies: - '@grpc/proto-loader': 0.8.0 + '@grpc/proto-loader': 0.8.1 '@js-sdsl/ordered-map': 4.4.2 - '@grpc/grpc-js@1.9.15': + '@grpc/grpc-js@1.9.16': dependencies: '@grpc/proto-loader': 0.7.15 - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@grpc/proto-loader@0.7.15': dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.4 - yargs: 17.7.2 + protobufjs: 7.6.5 + yargs: 17.7.3 - '@grpc/proto-loader@0.8.0': + '@grpc/proto-loader@0.8.1': dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.4 - yargs: 17.7.2 + protobufjs: 7.6.5 + yargs: 17.7.3 '@hapi/address@5.1.1': dependencies: @@ -12066,289 +9399,284 @@ snapshots: '@hapi/pinpoint@2.0.1': {} - '@hapi/tlds@1.1.5': {} + '@hapi/tlds@1.1.7': {} '@hapi/topo@6.0.2': dependencies: '@hapi/hoek': 11.0.7 - '@headlessui/react@2.2.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@headlessui/react@2.2.10(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@floating-ui/react': 0.26.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/focus': 3.21.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.25.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/react-virtual': 3.13.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - use-sync-external-store: 1.6.0(react@19.2.4) + '@floating-ui/react': 0.26.28(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@react-aria/focus': 3.22.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@react-aria/interactions': 3.28.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/react-virtual': 3.14.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) - '@heroicons/react@2.2.0(react@19.2.4)': + '@heroicons/react@2.2.0(react@19.2.8)': dependencies: - react: 19.2.4 + react: 19.2.8 - '@hono/node-server@1.19.9(hono@4.11.9)': + '@hono/node-server@2.1.0(hono@4.13.1)': dependencies: - hono: 4.11.9 + hono: 4.13.1 - '@hookform/devtools@4.4.0(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@hookform/devtools@4.4.0(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)': dependencies: - '@emotion/react': 11.14.0(@types/react@19.2.7)(react@19.2.4) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.4))(@types/react@19.2.7)(react@19.2.4) - '@types/lodash': 4.17.20 - little-state-machine: 4.8.1(react@19.2.4) - lodash: 4.17.23 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - react-simple-animate: 3.5.3(react-dom@19.2.4(react@19.2.4)) - use-deep-compare-effect: 1.8.1(react@19.2.4) + '@emotion/react': 11.14.0(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2))(@types/react@19.2.18)(react@19.2.8)(supports-color@10.2.2) + '@types/lodash': 4.17.25 + little-state-machine: 4.8.1(react@19.2.8) + lodash: 4.18.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-simple-animate: 3.5.3(react-dom@19.2.8(react@19.2.8)) + use-deep-compare-effect: 1.8.1(react@19.2.8) uuid: 8.3.2 transitivePeerDependencies: - '@types/react' - supports-color - '@hookform/error-message@2.0.1(react-dom@19.2.4(react@19.2.4))(react-hook-form@7.71.1(react@19.2.4))(react@19.2.4)': + '@hookform/error-message@2.0.1(react-dom@19.2.8(react@19.2.8))(react-hook-form@7.85.0(react@19.2.8))(react@19.2.8)': dependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - react-hook-form: 7.71.1(react@19.2.4) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-hook-form: 7.85.0(react@19.2.8) - '@hookform/resolvers@5.2.2(react-hook-form@7.71.1(react@19.2.4))': + '@hookform/resolvers@5.7.1(@sinclair/typebox@0.34.52)(@standard-schema/spec@1.1.0)(ajv-formats@2.1.1(ajv@8.20.0))(ajv@8.20.0)(react-hook-form@7.85.0(react@19.2.8))(yup@1.7.1)(zod@4.4.3)': dependencies: '@standard-schema/utils': 0.3.0 - react-hook-form: 7.71.1(react@19.2.4) + react-hook-form: 7.85.0(react@19.2.8) + optionalDependencies: + '@sinclair/typebox': 0.34.52 + '@standard-schema/spec': 1.1.0 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + yup: 1.7.1 + zod: 4.4.3 - '@humanfs/core@0.19.1': {} + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.8': dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 - '@humanwhocodes/module-importer@1.0.1': {} + '@humanfs/types@0.15.0': {} - '@humanwhocodes/retry@0.3.1': {} + '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.4.3': {} - '@icons/material@0.2.4(react@19.2.4)': + '@icons/material@0.2.4(react@19.2.8)': dependencies: - react: 19.2.4 + react: 19.2.8 '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@25.0.3)': + '@inquirer/checkbox@4.3.2(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/confirm@5.1.21(@types/node@25.0.3)': + '@inquirer/confirm@5.1.21(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/core@10.3.2(@types/node@25.0.3)': + '@inquirer/core@10.3.2(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/editor@4.2.23(@types/node@25.0.3)': + '@inquirer/editor@4.2.23(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/external-editor': 1.0.3(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/external-editor': 1.0.3(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/expand@4.0.23(@types/node@25.0.3)': + '@inquirer/expand@4.0.23(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/external-editor@1.0.3(@types/node@25.0.3)': + '@inquirer/external-editor@1.0.3(@types/node@24.13.3)': dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.1 + chardet: 2.2.0 + iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@25.0.3)': + '@inquirer/input@4.3.1(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/number@3.0.23(@types/node@25.0.3)': + '@inquirer/number@3.0.23(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/password@4.0.23(@types/node@25.0.3)': + '@inquirer/password@4.0.23(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 25.0.3 - - '@inquirer/prompts@7.10.1(@types/node@25.0.3)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.0.3) - '@inquirer/confirm': 5.1.21(@types/node@25.0.3) - '@inquirer/editor': 4.2.23(@types/node@25.0.3) - '@inquirer/expand': 4.0.23(@types/node@25.0.3) - '@inquirer/input': 4.3.1(@types/node@25.0.3) - '@inquirer/number': 3.0.23(@types/node@25.0.3) - '@inquirer/password': 4.0.23(@types/node@25.0.3) - '@inquirer/rawlist': 4.1.11(@types/node@25.0.3) - '@inquirer/search': 3.2.2(@types/node@25.0.3) - '@inquirer/select': 4.4.2(@types/node@25.0.3) + '@types/node': 24.13.3 + + '@inquirer/prompts@7.10.1(@types/node@24.13.3)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@24.13.3) + '@inquirer/confirm': 5.1.21(@types/node@24.13.3) + '@inquirer/editor': 4.2.23(@types/node@24.13.3) + '@inquirer/expand': 4.0.23(@types/node@24.13.3) + '@inquirer/input': 4.3.1(@types/node@24.13.3) + '@inquirer/number': 3.0.23(@types/node@24.13.3) + '@inquirer/password': 4.0.23(@types/node@24.13.3) + '@inquirer/rawlist': 4.1.11(@types/node@24.13.3) + '@inquirer/search': 3.2.2(@types/node@24.13.3) + '@inquirer/select': 4.4.2(@types/node@24.13.3) optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/rawlist@4.1.11(@types/node@25.0.3)': + '@inquirer/rawlist@4.1.11(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/search@3.2.2(@types/node@25.0.3)': + '@inquirer/search@3.2.2(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/select@4.4.2(@types/node@25.0.3)': + '@inquirer/select@4.4.2(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.0.3) + '@inquirer/core': 10.3.2(@types/node@24.13.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@inquirer/type@3.0.10(@types/node@25.0.3)': + '@inquirer/type@3.0.10(@types/node@24.13.3)': optionalDependencies: - '@types/node': 25.0.3 - - '@interactjs/types@1.10.27': {} - - '@internationalized/date@3.10.1': - dependencies: - '@swc/helpers': 0.5.18 + '@types/node': 24.13.3 - '@internationalized/message@3.1.8': - dependencies: - '@swc/helpers': 0.5.18 - intl-messageformat: 10.7.18 + '@interactjs/types@1.10.28': {} - '@internationalized/number@3.6.5': + '@internationalized/date@3.12.3': dependencies: - '@swc/helpers': 0.5.18 + '@swc/helpers': 0.5.23 - '@internationalized/string@3.2.7': + '@internationalized/number@3.6.7': dependencies: - '@swc/helpers': 0.5.18 + '@swc/helpers': 0.5.23 - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.1': + '@internationalized/string@3.2.10': dependencies: - '@isaacs/balanced-match': 4.0.1 + '@swc/helpers': 0.5.23 '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/cliui@9.0.0': - optional: true - '@isaacs/fs-minipass@4.0.1': dependencies: - minipass: 7.1.2 - optional: true + minipass: 7.1.3 '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 - js-yaml: 3.14.2 + js-yaml: 3.15.1 resolve-from: 5.0.0 - '@istanbuljs/schema@0.1.3': {} + '@istanbuljs/schema@0.1.6': {} - '@jest/console@30.0.4': + '@jest/console@30.4.1': dependencies: - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 chalk: 4.1.2 - jest-message-util: 30.0.2 - jest-util: 30.0.2 + jest-message-util: 30.4.1 + jest-util: 30.4.1 slash: 3.0.0 - '@jest/core@30.0.4(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3))': + '@jest/core@30.4.2(babel-plugin-macros@3.1.0)(supports-color@10.2.2)': dependencies: - '@jest/console': 30.0.4 - '@jest/pattern': 30.0.1 - '@jest/reporters': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/console': 30.4.1 + '@jest/pattern': 30.4.0 + '@jest/reporters': 30.4.1(supports-color@10.2.2) + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1(supports-color@10.2.2) + '@jest/types': 30.4.1 + '@types/node': 24.13.3 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 4.4.0 exit-x: 0.2.2 + fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-changed-files: 30.0.2 - jest-config: 30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)) - jest-haste-map: 30.0.2 - jest-message-util: 30.0.2 - jest-regex-util: 30.0.1 - jest-resolve: 30.0.2 - jest-resolve-dependencies: 30.0.4 - jest-runner: 30.0.4 - jest-runtime: 30.0.4 - jest-snapshot: 30.0.4 - jest-util: 30.0.2 - jest-validate: 30.0.2 - jest-watcher: 30.0.4 - micromatch: 4.0.8 - pretty-format: 30.0.2 + jest-changed-files: 30.4.1 + jest-config: 30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2) + jest-haste-map: 30.4.1 + jest-message-util: 30.4.1 + jest-regex-util: 30.4.0 + jest-resolve: 30.4.1 + jest-resolve-dependencies: 30.4.2(supports-color@10.2.2) + jest-runner: 30.4.2(supports-color@10.2.2) + jest-runtime: 30.4.2(supports-color@10.2.2) + jest-snapshot: 30.4.1(supports-color@10.2.2) + jest-util: 30.4.1 + jest-validate: 30.4.1 + jest-watcher: 30.4.1 + pretty-format: 30.4.1 slash: 3.0.0 transitivePeerDependencies: - babel-plugin-macros @@ -12356,86 +9684,86 @@ snapshots: - supports-color - ts-node - '@jest/diff-sequences@30.0.1': {} + '@jest/diff-sequences@30.4.0': {} - '@jest/environment@30.0.4': + '@jest/environment@30.4.1': dependencies: - '@jest/fake-timers': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 - jest-mock: 30.0.2 + '@jest/fake-timers': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 + jest-mock: 30.4.1 - '@jest/expect-utils@30.0.4': + '@jest/expect-utils@30.4.1': dependencies: - '@jest/get-type': 30.0.1 + '@jest/get-type': 30.1.0 - '@jest/expect@30.0.4': + '@jest/expect@30.4.1(supports-color@10.2.2)': dependencies: - expect: 30.0.4 - jest-snapshot: 30.0.4 + expect: 30.4.1 + jest-snapshot: 30.4.1(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@jest/fake-timers@30.0.4': + '@jest/fake-timers@30.4.1': dependencies: - '@jest/types': 30.0.1 - '@sinonjs/fake-timers': 13.0.5 - '@types/node': 25.0.3 - jest-message-util: 30.0.2 - jest-mock: 30.0.2 - jest-util: 30.0.2 + '@jest/types': 30.4.1 + '@sinonjs/fake-timers': 15.4.0 + '@types/node': 24.13.3 + jest-message-util: 30.4.1 + jest-mock: 30.4.1 + jest-util: 30.4.1 - '@jest/get-type@30.0.1': {} + '@jest/get-type@30.1.0': {} - '@jest/globals@30.0.4': + '@jest/globals@30.4.1(supports-color@10.2.2)': dependencies: - '@jest/environment': 30.0.4 - '@jest/expect': 30.0.4 - '@jest/types': 30.0.1 - jest-mock: 30.0.2 + '@jest/environment': 30.4.1 + '@jest/expect': 30.4.1(supports-color@10.2.2) + '@jest/types': 30.4.1 + jest-mock: 30.4.1 transitivePeerDependencies: - supports-color - '@jest/pattern@30.0.1': + '@jest/pattern@30.4.0': dependencies: - '@types/node': 25.0.3 - jest-regex-util: 30.0.1 + '@types/node': 24.13.3 + jest-regex-util: 30.4.0 - '@jest/reporters@30.0.4': + '@jest/reporters@30.4.1(supports-color@10.2.2)': dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 + '@jest/console': 30.4.1 + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1(supports-color@10.2.2) + '@jest/types': 30.4.1 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 25.0.3 + '@types/node': 24.13.3 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit-x: 0.2.2 glob: 10.5.0 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 + istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 + istanbul-lib-source-maps: 5.0.6(supports-color@10.2.2) istanbul-reports: 3.2.0 - jest-message-util: 30.0.2 - jest-util: 30.0.2 - jest-worker: 30.0.2 + jest-message-util: 30.4.1 + jest-util: 30.4.1 + jest-worker: 30.4.1 slash: 3.0.0 string-length: 4.0.2 v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color - '@jest/schemas@30.0.1': + '@jest/schemas@30.4.1': dependencies: - '@sinclair/typebox': 0.34.48 + '@sinclair/typebox': 0.34.52 - '@jest/snapshot-utils@30.0.4': + '@jest/snapshot-utils@30.4.1': dependencies: - '@jest/types': 30.0.1 + '@jest/types': 30.4.1 chalk: 4.1.2 graceful-fs: 4.2.11 natural-compare: 1.4.0 @@ -12446,57 +9774,56 @@ snapshots: callsites: 3.1.0 graceful-fs: 4.2.11 - '@jest/test-result@30.0.4': + '@jest/test-result@30.4.1': dependencies: - '@jest/console': 30.0.4 - '@jest/types': 30.0.1 + '@jest/console': 30.4.1 + '@jest/types': 30.4.1 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.3 - '@jest/test-sequencer@30.0.4': + '@jest/test-sequencer@30.4.1': dependencies: - '@jest/test-result': 30.0.4 + '@jest/test-result': 30.4.1 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 + jest-haste-map: 30.4.1 slash: 3.0.0 - '@jest/transform@30.0.4': + '@jest/transform@30.4.1(supports-color@10.2.2)': dependencies: - '@babel/core': 7.29.0 - '@jest/types': 30.0.1 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@jest/types': 30.4.1 '@jridgewell/trace-mapping': 0.3.31 - babel-plugin-istanbul: 7.0.1 + babel-plugin-istanbul: 7.0.1(supports-color@10.2.2) chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 - jest-regex-util: 30.0.1 - jest-util: 30.0.2 - micromatch: 4.0.8 + jest-haste-map: 30.4.1 + jest-regex-util: 30.4.0 + jest-util: 30.4.1 pirates: 4.0.7 slash: 3.0.0 write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color - '@jest/types@30.0.1': + '@jest/types@30.4.1': dependencies: - '@jest/pattern': 30.0.1 - '@jest/schemas': 30.0.1 + '@jest/pattern': 30.4.0 + '@jest/schemas': 30.4.1 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@types/yargs': 17.0.35 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.4(typescript@5.8.3)(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@6.0.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - glob: 13.0.2 - react-docgen-typescript: 2.4.0(typescript@5.8.3) - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + glob: 13.0.6 + react-docgen-typescript: 2.4.0(typescript@6.0.3) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) optionalDependencies: - typescript: 5.8.3 + typescript: 6.0.3 '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -12517,59 +9844,74 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - '@js-sdsl/ordered-map@4.4.2': {} '@jsdevtools/ono@7.1.3': {} - '@lit-labs/ssr-dom-shim@1.5.0': {} + '@lit-labs/ssr-dom-shim@1.6.0': {} - '@lit/context@1.1.6': + '@lit/reactive-element@2.1.2': dependencies: - '@lit/reactive-element': 2.1.2 - optional: true + '@lit-labs/ssr-dom-shim': 1.6.0 - '@lit/reactive-element@2.1.2': + '@lit/task@1.0.3': dependencies: - '@lit-labs/ssr-dom-shim': 1.5.0 + '@lit/reactive-element': 2.1.2 - '@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.4)': + '@mdx-js/react@3.1.1(@types/react@19.2.18)(react@19.2.8)': dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.2.7 - react: 19.2.4 + '@types/mdx': 2.0.14 + '@types/react': 19.2.18 + react: 19.2.8 - '@modelcontextprotocol/sdk@1.26.0(zod@3.25.76)': + '@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)': dependencies: - '@hono/node-server': 1.19.9(hono@4.11.9) - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) + '@hono/node-server': 2.1.0(hono@4.13.1) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 cors: 2.8.6 cross-spawn: 7.0.6 eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.2.1 - express-rate-limit: 8.2.1(express@5.2.1) - hono: 4.11.9 - jose: 6.1.3 + eventsource-parser: 3.1.1 + express: 5.2.1(supports-color@10.2.2) + express-rate-limit: 8.6.2(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2) + hono: 4.13.1 + jose: 6.2.8 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 - zod: 3.25.76 - zod-to-json-schema: 3.25.1(zod@3.25.76) + zod: 4.4.3 + zod-to-json-schema: 3.25.2(zod@4.4.3) transitivePeerDependencies: - supports-color - '@napi-rs/wasm-runtime@0.2.12': + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@napi-rs/wasm-runtime@1.2.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@emnapi/core': 1.8.1 - '@emnapi/runtime': 1.8.1 - '@tybys/wasm-util': 0.10.1 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@noble/ciphers@1.3.0': {} + + '@noble/hashes@1.8.0': {} + + '@nodable/entities@3.0.0': optional: true '@nodelib/fs.scandir@2.1.5': @@ -12582,1276 +9924,316 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - - '@npmcli/agent@4.0.0': - dependencies: - agent-base: 7.1.4 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - lru-cache: 11.2.4 - socks-proxy-agent: 8.0.5 - transitivePeerDependencies: - - supports-color - optional: true - - '@npmcli/fs@5.0.0': - dependencies: - semver: 7.7.3 - optional: true - - '@npmcli/promise-spawn@3.0.0': - dependencies: - infer-owner: 1.0.4 + fastq: 1.20.1 '@open-wc/dedupe-mixin@1.4.0': {} - '@opentelemetry/api@1.9.0': {} + '@opentelemetry/api@1.9.1': {} - '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.28.0 '@opentelemetry/semantic-conventions@1.28.0': {} - '@opentelemetry/semantic-conventions@1.34.0': {} - - '@pdf-lib/standard-fonts@1.0.0': - dependencies: - pako: 1.0.11 - - '@pdf-lib/upng@1.0.1': - dependencies: - pako: 1.0.11 + '@opentelemetry/semantic-conventions@1.39.0': {} - '@pkgjs/parseargs@0.11.0': + '@oxc-parser/binding-android-arm-eabi@0.127.0': optional: true - '@pkgr/core@0.2.9': {} - - '@pnpm/config.env-replace@1.1.0': {} - - '@pnpm/network.ca-file@1.0.2': - dependencies: - graceful-fs: 4.2.10 - - '@pnpm/npm-conf@2.3.1': - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - - '@polka/url@1.0.0-next.29': {} - - '@polymer/polymer@3.5.2': - dependencies: - '@webcomponents/shadycss': 1.11.2 - - '@protobufjs/aspromise@1.1.2': {} - - '@protobufjs/base64@1.1.2': {} - - '@protobufjs/codegen@2.0.4': {} - - '@protobufjs/eventemitter@1.1.0': {} - - '@protobufjs/fetch@1.1.0': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - - '@protobufjs/float@1.0.2': {} + '@oxc-parser/binding-android-arm64@0.127.0': + optional: true - '@protobufjs/inquire@1.1.0': {} + '@oxc-parser/binding-darwin-arm64@0.127.0': + optional: true - '@protobufjs/path@1.1.2': {} + '@oxc-parser/binding-darwin-x64@0.127.0': + optional: true - '@protobufjs/pool@1.1.0': {} + '@oxc-parser/binding-freebsd-x64@0.127.0': + optional: true - '@protobufjs/utf8@1.1.0': {} - - '@react-aria/autocomplete@3.0.0-rc.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/combobox': 3.14.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/listbox': 3.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/searchfield': 3.8.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/autocomplete': 3.0.0-beta.4(react@19.2.4) - '@react-stately/combobox': 3.12.1(react@19.2.4) - '@react-types/autocomplete': 3.0.0-alpha.36(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/breadcrumbs@3.5.30(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/link': 3.8.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/breadcrumbs': 3.7.17(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/button@3.14.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/toolbar': 3.0.0-beta.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/toggle': 3.9.3(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/calendar@3.9.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/calendar': 3.9.1(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/calendar': 3.8.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/checkbox@3.16.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/form': 3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/toggle': 3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/checkbox': 3.7.3(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/toggle': 3.9.3(react@19.2.4) - '@react-types/checkbox': 3.10.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/collections@3.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - use-sync-external-store: 1.6.0(react@19.2.4) - - '@react-aria/color@3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/numberfield': 3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/slider': 3.8.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/spinbutton': 3.7.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/visually-hidden': 3.8.29(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/color': 3.9.3(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-types/color': 3.1.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/combobox@3.14.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/listbox': 3.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/menu': 3.19.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/overlays': 3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/combobox': 3.12.1(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/combobox': 3.13.10(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/datepicker@3.15.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@internationalized/number': 3.6.5 - '@internationalized/string': 3.2.7 - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/form': 3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/spinbutton': 3.7.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/datepicker': 3.15.3(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/calendar': 3.8.1(react@19.2.4) - '@react-types/datepicker': 3.13.3(react@19.2.4) - '@react-types/dialog': 3.5.22(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/dialog@3.5.32(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/overlays': 3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/dialog': 3.5.22(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/disclosure@3.1.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/disclosure': 3.0.9(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/dnd@3.11.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@internationalized/string': 3.2.7 - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/overlays': 3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/dnd': 3.7.2(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/focus@3.21.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - clsx: 2.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0': + optional: true - '@react-aria/focus@3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - clsx: 2.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/form@3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/grid@3.14.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/grid': 3.11.7(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-types/checkbox': 3.10.2(react@19.2.4) - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/gridlist@3.14.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/grid': 3.14.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-stately/tree': 3.9.4(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/i18n@3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@internationalized/message': 3.1.8 - '@internationalized/number': 3.6.5 - '@internationalized/string': 3.2.7 - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/interactions@3.25.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/interactions@3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/label@3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/landmark@3.0.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - use-sync-external-store: 1.6.0(react@19.2.4) - - '@react-aria/link@3.8.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/link': 3.6.5(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/listbox@3.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-types/listbox': 3.7.4(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/live-announcer@3.4.4': - dependencies: - '@swc/helpers': 0.5.18 - - '@react-aria/menu@3.19.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/overlays': 3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/menu': 3.9.9(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/tree': 3.9.4(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/menu': 3.10.5(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/meter@3.4.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/progress': 3.4.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/meter': 3.4.13(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/numberfield@3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/spinbutton': 3.7.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/numberfield': 3.10.3(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/numberfield': 3.8.16(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/overlays@3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/visually-hidden': 3.8.29(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/overlays': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/progress@3.4.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/progress': 3.5.16(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/radio@3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/form': 3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/radio': 3.11.3(react@19.2.4) - '@react-types/radio': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/searchfield@3.8.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/searchfield': 3.5.17(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/searchfield': 3.6.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/select@3.17.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/form': 3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/listbox': 3.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/menu': 3.19.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/visually-hidden': 3.8.29(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/select': 3.9.0(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/select': 3.12.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/selection@3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/separator@3.4.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/slider@3.8.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/slider': 3.7.3(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/slider': 3.8.2(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/spinbutton@3.7.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/ssr@3.9.10(react@19.2.4)': - dependencies: - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-aria/switch@3.7.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/toggle': 3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/toggle': 3.9.3(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/switch': 3.5.15(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/table@3.17.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/grid': 3.14.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/visually-hidden': 3.8.29(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/flags': 3.1.2 - '@react-stately/table': 3.15.2(react@19.2.4) - '@react-types/checkbox': 3.10.2(react@19.2.4) - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/table': 3.13.4(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/tabs@3.10.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/tabs': 3.8.7(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/tabs': 3.3.20(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/tag@3.7.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/gridlist': 3.14.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/textfield@3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/form': 3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/textfield': 3.12.6(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/toast@3.0.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/landmark': 3.0.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/toast': 3.1.2(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/toggle@3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/toggle': 3.9.3(react@19.2.4) - '@react-types/checkbox': 3.10.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/toolbar@3.0.0-beta.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/tooltip@3.9.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/tooltip': 3.5.9(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/tooltip': 3.5.0(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/tree@3.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/gridlist': 3.14.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/tree': 3.9.4(react@19.2.4) - '@react-types/button': 3.14.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-aria/utils@3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-stately/flags': 3.1.2 - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - clsx: 2.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@oxc-parser/binding-linux-arm-musleabihf@0.127.0': + optional: true - '@react-aria/virtualizer@4.1.11(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/virtualizer': 4.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@oxc-parser/binding-linux-arm64-gnu@0.127.0': + optional: true - '@react-aria/visually-hidden@3.8.29(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@oxc-parser/binding-linux-arm64-musl@0.127.0': + optional: true - '@react-hook/debounce@3.0.0(react@19.2.4)': - dependencies: - '@react-hook/latest': 1.0.3(react@19.2.4) - react: 19.2.4 + '@oxc-parser/binding-linux-ppc64-gnu@0.127.0': + optional: true - '@react-hook/event@1.2.6(react@19.2.4)': - dependencies: - react: 19.2.4 + '@oxc-parser/binding-linux-riscv64-gnu@0.127.0': + optional: true - '@react-hook/latest@1.0.3(react@19.2.4)': - dependencies: - react: 19.2.4 + '@oxc-parser/binding-linux-riscv64-musl@0.127.0': + optional: true - '@react-hook/throttle@2.2.0(react@19.2.4)': - dependencies: - '@react-hook/latest': 1.0.3(react@19.2.4) - react: 19.2.4 + '@oxc-parser/binding-linux-s390x-gnu@0.127.0': + optional: true - '@react-hook/window-size@3.1.1(react@19.2.4)': - dependencies: - '@react-hook/debounce': 3.0.0(react@19.2.4) - '@react-hook/event': 1.2.6(react@19.2.4) - '@react-hook/throttle': 2.2.0(react@19.2.4) - react: 19.2.4 + '@oxc-parser/binding-linux-x64-gnu@0.127.0': + optional: true - '@react-stately/autocomplete@3.0.0-beta.4(react@19.2.4)': - dependencies: - '@react-stately/utils': 3.11.0(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-parser/binding-linux-x64-musl@0.127.0': + optional: true - '@react-stately/calendar@3.9.1(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/calendar': 3.8.1(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-parser/binding-openharmony-arm64@0.127.0': + optional: true - '@react-stately/checkbox@3.7.3(react@19.2.4)': + '@oxc-parser/binding-wasm32-wasi@0.127.0': dependencies: - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/checkbox': 3.10.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + optional: true - '@react-stately/collections@3.12.8(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-parser/binding-win32-arm64-msvc@0.127.0': + optional: true - '@react-stately/color@3.9.3(react@19.2.4)': - dependencies: - '@internationalized/number': 3.6.5 - '@internationalized/string': 3.2.7 - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/numberfield': 3.10.3(react@19.2.4) - '@react-stately/slider': 3.7.3(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/color': 3.1.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-parser/binding-win32-ia32-msvc@0.127.0': + optional: true - '@react-stately/combobox@3.12.1(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/combobox': 3.13.10(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-parser/binding-win32-x64-msvc@0.127.0': + optional: true - '@react-stately/data@3.15.0(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-project/types@0.127.0': {} - '@react-stately/datepicker@3.15.3(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@internationalized/string': 3.2.7 - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/datepicker': 3.13.3(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-project/types@0.143.0': {} - '@react-stately/disclosure@3.0.9(react@19.2.4)': - dependencies: - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-android-arm-eabi@11.24.2': + optional: true - '@react-stately/dnd@3.7.2(react@19.2.4)': - dependencies: - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/flags@3.1.2': - dependencies: - '@swc/helpers': 0.5.18 - - '@react-stately/form@3.2.2(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/grid@3.11.7(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/layout@4.5.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/table': 3.15.2(react@19.2.4) - '@react-stately/virtualizer': 4.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/table': 3.13.4(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@react-stately/list@3.13.2(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/menu@3.9.9(react@19.2.4)': - dependencies: - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-types/menu': 3.10.5(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/numberfield@3.10.3(react@19.2.4)': - dependencies: - '@internationalized/number': 3.6.5 - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/numberfield': 3.8.16(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/overlays@3.6.21(react@19.2.4)': - dependencies: - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/overlays': 3.9.2(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - - '@react-stately/radio@3.11.3(react@19.2.4)': - dependencies: - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/radio': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-android-arm64@11.24.2': + optional: true - '@react-stately/searchfield@3.5.17(react@19.2.4)': - dependencies: - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/searchfield': 3.6.6(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-darwin-arm64@11.24.2': + optional: true - '@react-stately/select@3.9.0(react@19.2.4)': - dependencies: - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/select': 3.12.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-darwin-x64@11.24.2': + optional: true - '@react-stately/selection@3.20.7(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-freebsd-x64@11.24.2': + optional: true - '@react-stately/slider@3.7.3(react@19.2.4)': - dependencies: - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/slider': 3.8.2(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2': + optional: true - '@react-stately/table@3.15.2(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/flags': 3.1.2 - '@react-stately/grid': 3.11.7(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/table': 3.13.4(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2': + optional: true - '@react-stately/tabs@3.8.7(react@19.2.4)': - dependencies: - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/tabs': 3.3.20(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': + optional: true - '@react-stately/toast@3.1.2(react@19.2.4)': - dependencies: - '@swc/helpers': 0.5.18 - react: 19.2.4 - use-sync-external-store: 1.6.0(react@19.2.4) + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': + optional: true - '@react-stately/toggle@3.9.3(react@19.2.4)': - dependencies: - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/checkbox': 3.10.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': + optional: true - '@react-stately/tooltip@3.5.9(react@19.2.4)': - dependencies: - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-types/tooltip': 3.5.0(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': + optional: true - '@react-stately/tree@3.9.4(react@19.2.4)': - dependencies: - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': + optional: true - '@react-stately/utils@3.11.0(react@19.2.4)': - dependencies: - '@swc/helpers': 0.5.18 - react: 19.2.4 + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': + optional: true - '@react-stately/virtualizer@4.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - '@swc/helpers': 0.5.18 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': + optional: true - '@react-types/autocomplete@3.0.0-alpha.36(react@19.2.4)': - dependencies: - '@react-types/combobox': 3.13.10(react@19.2.4) - '@react-types/searchfield': 3.6.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@oxc-resolver/binding-linux-x64-musl@11.24.2': + optional: true - '@react-types/breadcrumbs@3.7.17(react@19.2.4)': - dependencies: - '@react-types/link': 3.6.5(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@oxc-resolver/binding-openharmony-arm64@11.24.2': + optional: true - '@react-types/button@3.14.1(react@19.2.4)': + '@oxc-resolver/binding-wasm32-wasi@11.24.2': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true - '@react-types/calendar@3.8.1(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + optional: true - '@react-types/checkbox@3.10.2(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + optional: true - '@react-types/color@3.1.2(react@19.2.4)': + '@pdf-lib/standard-fonts@1.0.0': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/slider': 3.8.2(react@19.2.4) - react: 19.2.4 + pako: 1.0.11 - '@react-types/combobox@3.13.10(react@19.2.4)': + '@pdf-lib/upng@1.0.1': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + pako: 1.0.11 - '@react-types/datepicker@3.13.3(react@19.2.4)': - dependencies: - '@internationalized/date': 3.10.1 - '@react-types/calendar': 3.8.1(react@19.2.4) - '@react-types/overlays': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@pkgjs/parseargs@0.11.0': + optional: true - '@react-types/dialog@3.5.22(react@19.2.4)': - dependencies: - '@react-types/overlays': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@pkgr/core@0.3.6': {} - '@react-types/form@3.7.16(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@pnpm/config.env-replace@1.1.0': {} - '@react-types/grid@3.3.6(react@19.2.4)': + '@pnpm/network.ca-file@1.0.2': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + graceful-fs: 4.2.10 - '@react-types/link@3.6.5(react@19.2.4)': + '@pnpm/npm-conf@3.0.3': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 - '@react-types/listbox@3.7.4(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@polka/url@1.0.0-next.29': {} - '@react-types/menu@3.10.5(react@19.2.4)': - dependencies: - '@react-types/overlays': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@protobufjs/aspromise@1.1.2': {} - '@react-types/meter@3.4.13(react@19.2.4)': - dependencies: - '@react-types/progress': 3.5.16(react@19.2.4) - react: 19.2.4 + '@protobufjs/base64@1.1.2': {} - '@react-types/numberfield@3.8.16(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@protobufjs/codegen@2.0.5': {} - '@react-types/overlays@3.9.2(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@protobufjs/eventemitter@1.1.1': {} - '@react-types/progress@3.5.16(react@19.2.4)': + '@protobufjs/fetch@1.1.1': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@protobufjs/aspromise': 1.1.2 - '@react-types/radio@3.9.2(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@protobufjs/float@1.0.2': {} - '@react-types/searchfield@3.6.6(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/textfield': 3.12.6(react@19.2.4) - react: 19.2.4 + '@protobufjs/path@1.1.2': {} - '@react-types/select@3.12.0(react@19.2.4)': - dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@protobufjs/pool@1.1.0': {} - '@react-types/shared@3.32.1(react@19.2.4)': - dependencies: - react: 19.2.4 + '@protobufjs/utf8@1.1.2': {} - '@react-types/slider@3.8.2(react@19.2.4)': + '@react-aria/focus@3.22.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@swc/helpers': 0.5.23 + react: 19.2.8 + react-aria: 3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-dom: 19.2.8(react@19.2.8) - '@react-types/switch@3.5.15(react@19.2.4)': + '@react-aria/interactions@3.28.1(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@react-types/shared': 3.36.1(react@19.2.8) + '@swc/helpers': 0.5.23 + react: 19.2.8 + react-aria: 3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-dom: 19.2.8(react@19.2.8) - '@react-types/table@3.13.4(react@19.2.4)': + '@react-hook/debounce@3.0.0(react@19.2.8)': dependencies: - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + '@react-hook/latest': 1.0.3(react@19.2.8) + react: 19.2.8 - '@react-types/tabs@3.3.20(react@19.2.4)': + '@react-hook/event@1.2.6(react@19.2.8)': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + react: 19.2.8 - '@react-types/textfield@3.12.6(react@19.2.4)': + '@react-hook/latest@1.0.3(react@19.2.8)': dependencies: - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 + react: 19.2.8 - '@react-types/tooltip@3.5.0(react@19.2.4)': + '@react-hook/throttle@2.2.0(react@19.2.8)': dependencies: - '@react-types/overlays': 3.9.2(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 - - '@rolldown/pluginutils@1.0.0-rc.2': {} + '@react-hook/latest': 1.0.3(react@19.2.8) + react: 19.2.8 - '@rollup/pluginutils@4.2.1': + '@react-hook/window-size@3.1.1(react@19.2.8)': dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 + '@react-hook/debounce': 3.0.0(react@19.2.8) + '@react-hook/event': 1.2.6(react@19.2.8) + '@react-hook/throttle': 2.2.0(react@19.2.8) + react: 19.2.8 - '@rollup/pluginutils@5.3.0(rollup@4.54.0)': + '@react-types/shared@3.36.1(react@19.2.8)': dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.54.0 - - '@rollup/rollup-android-arm-eabi@4.54.0': - optional: true - - '@rollup/rollup-android-arm64@4.54.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.54.0': - optional: true + react: 19.2.8 - '@rollup/rollup-darwin-x64@4.54.0': + '@rolldown/binding-android-arm64@1.2.3': optional: true - '@rollup/rollup-freebsd-arm64@4.54.0': + '@rolldown/binding-darwin-arm64@1.2.3': optional: true - '@rollup/rollup-freebsd-x64@4.54.0': + '@rolldown/binding-darwin-x64@1.2.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.54.0': + '@rolldown/binding-freebsd-x64@1.2.3': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.54.0': + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.54.0': + '@rolldown/binding-linux-arm64-gnu@1.2.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.54.0': + '@rolldown/binding-linux-arm64-musl@1.2.3': optional: true - '@rollup/rollup-linux-loong64-gnu@4.54.0': + '@rolldown/binding-linux-ppc64-gnu@1.2.3': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.54.0': + '@rolldown/binding-linux-s390x-gnu@1.2.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.54.0': + '@rolldown/binding-linux-x64-gnu@1.2.3': optional: true - '@rollup/rollup-linux-riscv64-musl@4.54.0': + '@rolldown/binding-linux-x64-musl@1.2.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.54.0': + '@rolldown/binding-openharmony-arm64@1.2.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.54.0': + '@rolldown/binding-win32-arm64-msvc@1.2.3': optional: true - '@rollup/rollup-linux-x64-musl@4.54.0': + '@rolldown/binding-win32-x64-msvc@1.2.3': optional: true - '@rollup/rollup-openharmony-arm64@4.54.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.54.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.54.0': - optional: true + '@rolldown/pluginutils@1.0.1': {} - '@rollup/rollup-win32-x64-gnu@4.54.0': - optional: true + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.2 - '@rollup/rollup-win32-x64-msvc@4.54.0': - optional: true + '@rollup/pluginutils@5.4.0(rollup@2.80.0)': + dependencies: + '@types/estree': 1.0.9 + estree-walker: 2.0.2 + picomatch: 4.0.5 + optionalDependencies: + rollup: 2.80.0 '@rtsao/scc@1.1.0': {} - '@sendgrid/client@8.1.6': + '@sendgrid/client@8.1.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: '@sendgrid/helpers': 8.0.0 - axios: 1.13.5 + axios: 1.19.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) transitivePeerDependencies: - debug + - supports-color '@sendgrid/helpers@8.0.0': dependencies: deepmerge: 4.3.1 - '@sinclair/typebox@0.34.48': {} + '@simple-libs/stream-utils@2.0.0': + optional: true + + '@sinclair/typebox@0.34.52': {} '@sindresorhus/is@4.6.0': {} @@ -13861,7 +10243,7 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@13.0.5': + '@sinonjs/fake-timers@15.4.0': dependencies: '@sinonjs/commons': 3.0.1 @@ -13870,303 +10252,316 @@ snapshots: color: 5.0.3 text-hex: 1.0.0 - '@standard-schema/spec@1.0.0': {} - '@standard-schema/spec@1.1.0': {} '@standard-schema/utils@0.3.0': {} - '@storybook/addon-docs@10.2.8(@types/react@19.2.7)(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@storybook/addon-docs@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.4) - '@storybook/csf-plugin': 10.2.8(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) - '@storybook/icons': 2.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@storybook/react-dom-shim': 10.2.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - ts-dedent: 2.2.0 + '@mdx-js/react': 3.1.1(@types/react@19.2.18)(react@19.2.8) + '@storybook/csf-plugin': 10.5.7(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + '@storybook/icons': 2.1.0(react@19.2.8) + '@storybook/react-dom-shim': 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8)) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) + ts-dedent: 2.3.0 + optionalDependencies: + '@types/react': 19.2.18 transitivePeerDependencies: - - '@types/react' + - '@types/react-dom' - esbuild - rollup - vite - webpack - '@storybook/addon-links@10.2.8(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))': + '@storybook/addon-links@10.5.7(@types/react@19.2.18)(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))': dependencies: '@storybook/global': 5.0.0 - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) optionalDependencies: - react: 19.2.4 + '@types/react': 19.2.18 + react: 19.2.8 - '@storybook/builder-vite@10.2.8(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@storybook/builder-vite@10.5.7(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - '@storybook/csf-plugin': 10.2.8(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - ts-dedent: 2.2.0 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + '@storybook/csf-plugin': 10.5.7(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) + ts-dedent: 2.3.0 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) transitivePeerDependencies: - esbuild - rollup - webpack - '@storybook/csf-plugin@10.2.8(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@storybook/csf-plugin@10.5.7(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) unplugin: 2.3.11 optionalDependencies: - esbuild: 0.27.2 - rollup: 4.54.0 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + esbuild: 0.28.2 + rollup: 2.80.0 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) '@storybook/global@5.0.0': {} - '@storybook/icons@2.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@storybook/icons@2.1.0(react@19.2.8)': dependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + react: 19.2.8 - '@storybook/react-dom-shim@10.2.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))': + '@storybook/react-dom-shim@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))': dependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) + optionalDependencies: + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@storybook/react-vite@10.2.8(esbuild@0.27.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3)(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@storybook/react-vite@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(esbuild@0.28.2)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.4(typescript@5.8.3)(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) - '@rollup/pluginutils': 5.3.0(rollup@4.54.0) - '@storybook/builder-vite': 10.2.8(esbuild@0.27.2)(rollup@4.54.0)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) - '@storybook/react': 10.2.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3) - empathic: 2.0.0 + '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@6.0.3)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + '@rollup/pluginutils': 5.4.0(rollup@2.80.0) + '@storybook/builder-vite': 10.5.7(esbuild@0.28.2)(rollup@2.80.0)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + '@storybook/react': 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3) + empathic: 2.0.1 magic-string: 0.30.21 - react: 19.2.4 - react-docgen: 8.0.2 - react-dom: 19.2.4(react@19.2.4) - resolve: 1.22.11 - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.8 + react-docgen: 8.0.3(supports-color@10.2.2) + react-dom: 19.2.8(react@19.2.8) + resolve: 1.22.12 + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) tsconfig-paths: 4.2.0 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) + optionalDependencies: + typescript: 6.0.3 transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' - esbuild - rollup - supports-color - - typescript - webpack - '@storybook/react@10.2.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3)': + '@storybook/react@10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 10.2.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) - react: 19.2.4 - react-docgen: 8.0.2 - react-dom: 19.2.4(react@19.2.4) - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@storybook/react-dom-shim': 10.5.7(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8)) + react: 19.2.8 + react-docgen: 8.0.3(supports-color@10.2.2) + react-docgen-typescript: 2.4.0(typescript@6.0.3) + react-dom: 19.2.8(react@19.2.8) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) optionalDependencies: - typescript: 5.8.3 + '@types/react': 19.2.18 + '@types/react-dom': 19.2.4(@types/react@19.2.18) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@swc/core-darwin-arm64@1.15.11': + '@swc/core-darwin-arm64@1.15.47': optional: true - '@swc/core-darwin-x64@1.15.11': + '@swc/core-darwin-x64@1.15.47': optional: true - '@swc/core-linux-arm-gnueabihf@1.15.11': + '@swc/core-linux-arm-gnueabihf@1.15.47': optional: true - '@swc/core-linux-arm64-gnu@1.15.11': + '@swc/core-linux-arm64-gnu@1.15.47': optional: true - '@swc/core-linux-arm64-musl@1.15.11': + '@swc/core-linux-arm64-musl@1.15.47': optional: true - '@swc/core-linux-x64-gnu@1.15.11': + '@swc/core-linux-ppc64-gnu@1.15.47': optional: true - '@swc/core-linux-x64-musl@1.15.11': + '@swc/core-linux-s390x-gnu@1.15.47': optional: true - '@swc/core-win32-arm64-msvc@1.15.11': + '@swc/core-linux-x64-gnu@1.15.47': optional: true - '@swc/core-win32-ia32-msvc@1.15.11': + '@swc/core-linux-x64-musl@1.15.47': optional: true - '@swc/core-win32-x64-msvc@1.15.11': + '@swc/core-win32-arm64-msvc@1.15.47': optional: true - '@swc/core@1.15.11(@swc/helpers@0.5.18)': + '@swc/core-win32-ia32-msvc@1.15.47': + optional: true + + '@swc/core-win32-x64-msvc@1.15.47': + optional: true + + '@swc/core@1.15.47(@swc/helpers@0.5.23)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.25 + '@swc/types': 0.1.28 optionalDependencies: - '@swc/core-darwin-arm64': 1.15.11 - '@swc/core-darwin-x64': 1.15.11 - '@swc/core-linux-arm-gnueabihf': 1.15.11 - '@swc/core-linux-arm64-gnu': 1.15.11 - '@swc/core-linux-arm64-musl': 1.15.11 - '@swc/core-linux-x64-gnu': 1.15.11 - '@swc/core-linux-x64-musl': 1.15.11 - '@swc/core-win32-arm64-msvc': 1.15.11 - '@swc/core-win32-ia32-msvc': 1.15.11 - '@swc/core-win32-x64-msvc': 1.15.11 - '@swc/helpers': 0.5.18 + '@swc/core-darwin-arm64': 1.15.47 + '@swc/core-darwin-x64': 1.15.47 + '@swc/core-linux-arm-gnueabihf': 1.15.47 + '@swc/core-linux-arm64-gnu': 1.15.47 + '@swc/core-linux-arm64-musl': 1.15.47 + '@swc/core-linux-ppc64-gnu': 1.15.47 + '@swc/core-linux-s390x-gnu': 1.15.47 + '@swc/core-linux-x64-gnu': 1.15.47 + '@swc/core-linux-x64-musl': 1.15.47 + '@swc/core-win32-arm64-msvc': 1.15.47 + '@swc/core-win32-ia32-msvc': 1.15.47 + '@swc/core-win32-x64-msvc': 1.15.47 + '@swc/helpers': 0.5.23 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.18': + '@swc/helpers@0.5.23': dependencies: tslib: 2.8.1 - '@swc/types@0.1.25': + '@swc/types@0.1.28': dependencies: '@swc/counter': 0.1.3 - '@tailwindcss/node@4.1.18': + '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.18.4 - jiti: 2.6.1 - lightningcss: 1.30.2 + enhanced-resolve: 5.24.5 + jiti: 2.7.0 + lightningcss: 1.32.0 magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.1.18 + tailwindcss: 4.3.3 - '@tailwindcss/oxide-android-arm64@4.1.18': + '@tailwindcss/oxide-android-arm64@4.3.3': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.18': + '@tailwindcss/oxide-darwin-arm64@4.3.3': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.18': + '@tailwindcss/oxide-darwin-x64@4.3.3': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.18': + '@tailwindcss/oxide-freebsd-x64@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.18': + '@tailwindcss/oxide-linux-x64-musl@4.3.3': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.18': + '@tailwindcss/oxide-wasm32-wasi@4.3.3': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': optional: true - '@tailwindcss/oxide@4.1.18': + '@tailwindcss/oxide@4.3.3': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-x64': 4.3.3 + '@tailwindcss/oxide-freebsd-x64': 4.3.3 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.3 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-x64-musl': 4.3.3 + '@tailwindcss/oxide-wasm32-wasi': 4.3.3 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 + + '@tailwindcss/vite@4.3.3(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': + dependencies: + '@tailwindcss/node': 4.3.3 + '@tailwindcss/oxide': 4.3.3 + tailwindcss: 4.3.3 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) + + '@tanstack/eslint-plugin-query@5.101.4(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/utils': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.18 - '@tailwindcss/oxide-darwin-arm64': 4.1.18 - '@tailwindcss/oxide-darwin-x64': 4.1.18 - '@tailwindcss/oxide-freebsd-x64': 4.1.18 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 - '@tailwindcss/oxide-linux-x64-musl': 4.1.18 - '@tailwindcss/oxide-wasm32-wasi': 4.1.18 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - - '@tailwindcss/vite@4.1.18(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': - dependencies: - '@tailwindcss/node': 4.1.18 - '@tailwindcss/oxide': 4.1.18 - tailwindcss: 4.1.18 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) - - '@tanstack/eslint-plugin-query@5.81.2(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.6.1) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - - typescript - '@tanstack/query-core@5.90.12': {} + '@tanstack/query-core@5.101.4': {} - '@tanstack/query-devtools@5.93.0': {} + '@tanstack/query-devtools@5.101.4': {} - '@tanstack/react-query-devtools@5.91.3(@tanstack/react-query@5.90.12(react@19.2.4))(react@19.2.4)': + '@tanstack/react-query-devtools@5.101.4(@tanstack/react-query@5.101.4(react@19.2.8))(react@19.2.8)': dependencies: - '@tanstack/query-devtools': 5.93.0 - '@tanstack/react-query': 5.90.12(react@19.2.4) - react: 19.2.4 + '@tanstack/query-devtools': 5.101.4 + '@tanstack/react-query': 5.101.4(react@19.2.8) + react: 19.2.8 - '@tanstack/react-query@5.90.12(react@19.2.4)': + '@tanstack/react-query@5.101.4(react@19.2.8)': dependencies: - '@tanstack/query-core': 5.90.12 - react: 19.2.4 + '@tanstack/query-core': 5.101.4 + react: 19.2.8 - '@tanstack/react-virtual@3.13.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-virtual@3.14.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@tanstack/virtual-core': 3.13.12 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@tanstack/virtual-core': 3.17.7 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - '@tanstack/virtual-core@3.13.12': {} + '@tanstack/virtual-core@3.17.7': {} - '@terraformer/arcgis@2.1.2': + '@terraformer/arcgis@2.2.2': dependencies: - '@terraformer/common': 2.1.2 + '@terraformer/common': 2.2.2 - '@terraformer/common@2.1.2': {} + '@terraformer/common@2.2.2': {} - '@testing-library/dom@10.4.0': + '@testing-library/dom@10.4.1': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.28.6 + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 - chalk: 4.1.2 dom-accessibility-api: 0.5.16 lz-string: 1.5.0 + picocolors: 1.1.1 pretty-format: 27.5.1 '@testing-library/jest-dom@6.9.1': dependencies: - '@adobe/css-tools': 4.4.4 + '@adobe/css-tools': 4.5.0 aria-query: 5.3.2 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': + '@testing-library/user-event@14.6.3(@testing-library/dom@10.4.1)': dependencies: - '@testing-library/dom': 10.4.0 + '@testing-library/dom': 10.4.1 - '@tootallnate/once@2.0.0': {} + '@tootallnate/once@2.0.1': + optional: true '@tootallnate/quickjs-emscripten@0.23.0': {} - '@tsconfig/node10@1.0.12': {} - - '@tsconfig/node12@1.0.11': {} - - '@tsconfig/node14@1.0.3': {} + '@total-typescript/tsconfig@1.0.4': {} - '@tsconfig/node16@1.0.4': {} - - '@tybys/wasm-util@0.10.1': + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true @@ -14177,29 +10572,33 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.8 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.8 + + '@types/base64-stream@1.0.5': + dependencies: + '@types/node': 24.13.3 '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@types/caseless@0.12.5': optional: true @@ -14211,16 +10610,13 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 - '@types/conventional-commits-parser@5.0.1': - dependencies: - '@types/node': 25.0.3 - optional: true + '@types/contrast-color@1.0.3': {} '@types/cors@2.8.19': dependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@types/d3-array@3.2.2': {} @@ -14261,7 +10657,7 @@ snapshots: '@types/d3-format@3.0.4': {} - '@types/d3-geo@3.1.0': + '@types/d3-geo@3.1.1': dependencies: '@types/geojson': 7946.0.16 @@ -14279,7 +10675,7 @@ snapshots: '@types/d3-quadtree@3.0.6': {} - '@types/d3-random@3.0.3': {} + '@types/d3-random@3.0.4': {} '@types/d3-sankey@0.11.2': dependencies: @@ -14297,7 +10693,7 @@ snapshots: dependencies: '@types/d3-path': 1.0.11 - '@types/d3-shape@3.1.7': + '@types/d3-shape@3.1.8': dependencies: '@types/d3-path': 3.1.1 @@ -14332,17 +10728,17 @@ snapshots: '@types/d3-fetch': 3.0.7 '@types/d3-force': 3.0.10 '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 + '@types/d3-geo': 3.1.1 '@types/d3-hierarchy': 3.1.1 '@types/d3-interpolate': 3.0.4 '@types/d3-path': 3.1.1 '@types/d3-polygon': 3.0.2 '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 + '@types/d3-random': 3.0.4 '@types/d3-scale': 4.0.9 '@types/d3-scale-chromatic': 3.1.0 '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.7 + '@types/d3-shape': 3.1.8 '@types/d3-time': 3.0.4 '@types/d3-time-format': 4.0.3 '@types/d3-timer': 3.0.2 @@ -14355,36 +10751,22 @@ snapshots: '@types/eslint@8.56.12': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 - '@types/estree@1.0.8': {} - - '@types/express-serve-static-core@4.19.7': - dependencies: - '@types/node': 25.0.3 - '@types/qs': 6.14.0 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 + '@types/estree@1.0.9': {} - '@types/express-serve-static-core@5.1.0': + '@types/express-serve-static-core@5.1.3': dependencies: - '@types/node': 25.0.3 - '@types/qs': 6.14.0 + '@types/node': 24.13.3 + '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 - '@types/express@4.17.25': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.7 - '@types/qs': 6.14.0 - '@types/serve-static': 1.15.10 - '@types/express@5.0.6': dependencies: '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 5.1.0 + '@types/express-serve-static-core': 5.1.3 '@types/serve-static': 2.2.0 '@types/geojson@7946.0.16': {} @@ -14408,80 +10790,81 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@types/lodash-es@4.17.12': dependencies: - '@types/lodash': 4.17.21 + '@types/lodash': 4.17.25 - '@types/lodash@4.17.20': {} - - '@types/lodash@4.17.21': {} + '@types/lodash@4.17.25': {} '@types/long@4.0.2': optional: true - '@types/mdx@2.0.13': {} + '@types/md5@2.3.6': {} - '@types/mime@1.3.5': {} + '@types/mdx@2.0.14': {} '@types/ms@2.1.0': {} - '@types/node@22.19.3': - dependencies: - undici-types: 6.21.0 - - '@types/node@25.0.3': + '@types/node@24.13.3': dependencies: - undici-types: 7.16.0 + undici-types: 7.18.2 '@types/normalize-package-data@2.4.4': {} '@types/parse-json@4.0.2': {} + '@types/pdfkit@0.17.6': + dependencies: + '@types/node': 24.13.3 + + '@types/pdfmake@0.3.3': + dependencies: + '@types/node': 24.13.3 + '@types/pdfkit': 0.17.6 + '@types/polylabel@1.1.3': {} - '@types/qs@6.14.0': {} + '@types/qs@6.15.1': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@19.2.3(@types/react@19.2.7)': + '@types/react-color@3.0.13(@types/react@19.2.18)': + dependencies: + '@types/react': 19.2.18 + '@types/reactcss': 1.2.13(@types/react@19.2.18) + + '@types/react-dom@19.2.4(@types/react@19.2.18)': dependencies: - '@types/react': 19.2.7 + '@types/react': 19.2.18 - '@types/react@19.2.7': + '@types/react@19.2.18': dependencies: csstype: 3.2.3 + '@types/reactcss@1.2.13(@types/react@19.2.18)': + dependencies: + '@types/react': 19.2.18 + '@types/request@2.48.13': dependencies: '@types/caseless': 0.12.5 - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@types/tough-cookie': 4.0.5 - form-data: 2.5.5 + form-data: 2.5.6 optional: true '@types/resolve@1.20.6': {} - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 25.0.3 - '@types/send@1.2.1': dependencies: - '@types/node': 25.0.3 - - '@types/serve-static@1.15.10': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 25.0.3 - '@types/send': 0.17.6 + '@types/node': 24.13.3 '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 25.0.3 + '@types/node': 24.13.3 '@types/sortablejs@1.15.9': {} @@ -14507,111 +10890,110 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/type-utils': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.36.0 - eslint: 9.31.0(jiti@2.6.1) - graphemer: 1.4.0 - ignore: 7.0.5 + '@typescript-eslint/eslint-plugin@8.67.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/type-utils': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.67.0 + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + ignore: 7.0.6 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3)': + '@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.36.0 - debug: 4.4.3 - eslint: 9.31.0(jiti@2.6.1) - typescript: 5.8.3 + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.67.0 + debug: 4.4.3(supports-color@10.2.2) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.36.0(typescript@5.8.3)': + '@typescript-eslint/project-service@8.67.0(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) - '@typescript-eslint/types': 8.36.0 - debug: 4.4.3 - typescript: 5.8.3 + '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@6.0.3) + '@typescript-eslint/types': 8.67.0 + debug: 4.4.3(supports-color@10.2.2) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.36.0': + '@typescript-eslint/scope-manager@8.67.0': dependencies: - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/visitor-keys': 8.36.0 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/visitor-keys': 8.67.0 - '@typescript-eslint/tsconfig-utils@8.36.0(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.67.0(typescript@6.0.3)': dependencies: - typescript: 5.8.3 + typescript: 6.0.3 - '@typescript-eslint/type-utils@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - debug: 4.4.3 - eslint: 9.31.0(jiti@2.6.1) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + debug: 4.4.3(supports-color@10.2.2) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.36.0': {} + '@typescript-eslint/types@8.67.0': {} - '@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.67.0(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.36.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/visitor-keys': 8.36.0 - debug: 4.4.3 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.3 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + '@typescript-eslint/project-service': 8.67.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@6.0.3) + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/visitor-keys': 8.67.0 + debug: 4.4.3(supports-color@10.2.2) + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3)': + '@typescript-eslint/utils@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - eslint: 9.31.0(jiti@2.6.1) - typescript: 5.8.3 + '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)) + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(supports-color@10.2.2)(typescript@6.0.3) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.36.0': + '@typescript-eslint/visitor-keys@8.67.0': dependencies: - '@typescript-eslint/types': 8.36.0 - eslint-visitor-keys: 4.2.1 + '@typescript-eslint/types': 8.67.0 + eslint-visitor-keys: 5.0.1 - '@ugrc/eslint-config@1.2.3(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.31.0(jiti@2.6.1))(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3)': - dependencies: - '@eslint/js': 9.30.1 - '@tanstack/eslint-plugin-query': 5.81.2(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.6.1) - eslint-config-prettier: 10.1.5(eslint@9.31.0(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.31.0(jiti@2.6.1)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.31.0(jiti@2.6.1)) - eslint-plugin-react: 7.37.5(eslint@9.31.0(jiti@2.6.1)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.31.0(jiti@2.6.1)) - eslint-plugin-storybook: 9.0.16(eslint@9.31.0(jiti@2.6.1))(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3) - globals: 16.3.0 - typescript-eslint: 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) + '@ugrc/eslint-config@1.3.1(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3)': + dependencies: + '@eslint/js': 9.39.5 + '@tanstack/eslint-plugin-query': 5.101.4(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + eslint-config-prettier: 10.1.8(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)) + eslint-plugin-react: 7.37.5(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)) + eslint-plugin-react-hooks: 7.1.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) + eslint-plugin-storybook: 10.5.7(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3) + globals: 17.10.0 + typescript-eslint: 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-typescript @@ -14620,229 +11002,205 @@ snapshots: - supports-color - typescript - '@ugrc/utah-design-system@1.35.0(@lit/context@1.1.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.18)': + '@ugrc/tsconfigs@1.0.4': + dependencies: + '@total-typescript/tsconfig': 1.0.4 + + '@ugrc/utah-design-system@4.1.0(@arcgis/core@5.1.15)(@arcgis/map-components@5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2))(@esri/calcite-components@5.1.2)(firebase@12.17.1)(react-aria-components@1.20.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-aria@3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react-stately@3.49.0(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)': dependencies: - '@arcgis/core': 4.34.8(@lit/context@1.1.6) - '@esri/arcgis-rest-geocoding': 4.0.3(@esri/arcgis-rest-request@4.7.3) - '@esri/arcgis-rest-request': 4.7.3 + '@arcgis/core': 5.1.15 + '@arcgis/map-components': 5.1.15(@arcgis/core@5.1.15)(@esri/calcite-components@5.1.2) + '@esri/arcgis-rest-geocoding': 4.11.0(@esri/arcgis-rest-request@4.11.0) + '@esri/arcgis-rest-request': 4.11.0 + '@esri/calcite-components': 5.1.2 '@types/lodash-es': 4.17.12 - '@ugrc/utilities': 3.1.1(@lit/context@1.1.6)(react@19.2.4) - firebase: 12.5.0 - ky: 1.14.3 - lodash-es: 4.17.23 - lucide-react: 0.562.0(react@19.2.4) - react: 19.2.4 - react-aria: 3.45.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react-aria-components: 1.14.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react-stately: 3.42.0(react@19.2.4) - tailwind-merge: 2.6.0 - tailwind-variants: 0.3.0(tailwindcss@4.1.18) + '@ugrc/utilities': 5.0.1(@arcgis/core@5.1.15)(react@19.2.8) + firebase: 12.17.1 + ky: 2.0.2 + lodash-es: 4.18.1 + lucide-react: 1.31.0(react@19.2.8) + react: 19.2.8 + react-aria: 3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-aria-components: 1.20.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-dom: 19.2.8(react@19.2.8) + react-stately: 3.49.0(react@19.2.8) + tailwind-merge: 3.6.0 + tailwind-variants: 3.3.1(tailwind-merge@3.6.0)(tailwindcss@4.3.3) ts-md5: 2.0.1 transitivePeerDependencies: - - '@lit/context' - - '@react-native-async-storage/async-storage' - - react-dom - tailwindcss - '@ugrc/utilities@3.1.1(@lit/context@1.1.6)(react@19.2.4)': + '@ugrc/utilities@5.0.1(@arcgis/core@5.1.15)(react@19.2.8)': dependencies: - '@arcgis/core': 4.34.8(@lit/context@1.1.6) - ky: 1.14.3 - react: 19.2.4 - transitivePeerDependencies: - - '@lit/context' + '@arcgis/core': 5.1.15 + ky: 2.0.2 + react: 19.2.8 + + '@ungap/structured-clone@1.3.3': {} + + '@unrs/resolver-binding-android-arm-eabi@1.12.2': + optional: true + + '@unrs/resolver-binding-android-arm64@1.12.2': + optional: true - '@ungap/structured-clone@1.3.0': {} + '@unrs/resolver-binding-darwin-arm64@1.12.2': + optional: true - '@unrs/resolver-binding-android-arm-eabi@1.11.1': + '@unrs/resolver-binding-darwin-x64@1.12.2': optional: true - '@unrs/resolver-binding-android-arm64@1.11.1': + '@unrs/resolver-binding-freebsd-x64@1.12.2': optional: true - '@unrs/resolver-binding-darwin-arm64@1.11.1': + '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': optional: true - '@unrs/resolver-binding-darwin-x64@1.11.1': + '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': optional: true - '@unrs/resolver-binding-freebsd-x64@1.11.1': + '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + '@unrs/resolver-binding-linux-arm64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + '@unrs/resolver-binding-linux-loong64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + '@unrs/resolver-binding-linux-x64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + '@unrs/resolver-binding-linux-x64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-x64-musl@1.11.1': + '@unrs/resolver-binding-openharmony-arm64@1.12.2': optional: true - '@unrs/resolver-binding-wasm32-wasi@1.11.1': + '@unrs/resolver-binding-wasm32-wasi@1.12.2': dependencies: - '@napi-rs/wasm-runtime': 0.2.12 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.2.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': optional: true - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': optional: true - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true - '@vaadin/a11y-base@24.9.7': + '@vaadin/a11y-base@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 - '@vaadin/component-base': 24.9.7 - lit: 3.3.2 + '@vaadin/component-base': 25.1.10 + lit: 3.3.3 - '@vaadin/checkbox@24.9.7': + '@vaadin/checkbox@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 - '@vaadin/a11y-base': 24.9.7 - '@vaadin/component-base': 24.9.7 - '@vaadin/field-base': 24.9.7 - '@vaadin/vaadin-lumo-styles': 24.9.7 - '@vaadin/vaadin-material-styles': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 - lit: 3.3.2 + '@vaadin/a11y-base': 25.1.10 + '@vaadin/component-base': 25.1.10 + '@vaadin/field-base': 25.1.10 + '@vaadin/vaadin-themable-mixin': 25.1.10 + lit: 3.3.3 - '@vaadin/component-base@24.9.7': + '@vaadin/component-base@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 '@vaadin/vaadin-development-mode-detector': 2.0.7 '@vaadin/vaadin-usage-statistics': 2.1.3 - lit: 3.3.2 + lit: 3.3.3 - '@vaadin/field-base@24.9.7': + '@vaadin/field-base@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 - '@vaadin/a11y-base': 24.9.7 - '@vaadin/component-base': 24.9.7 - lit: 3.3.2 + '@vaadin/a11y-base': 25.1.10 + '@vaadin/component-base': 25.1.10 + lit: 3.3.3 - '@vaadin/grid@24.9.7': - dependencies: - '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 - '@vaadin/a11y-base': 24.9.7 - '@vaadin/checkbox': 24.9.7 - '@vaadin/component-base': 24.9.7 - '@vaadin/lit-renderer': 24.9.7 - '@vaadin/text-field': 24.9.7 - '@vaadin/vaadin-lumo-styles': 24.9.7 - '@vaadin/vaadin-material-styles': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 - lit: 3.3.2 - - '@vaadin/icon@24.9.7': + '@vaadin/grid@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 - '@vaadin/component-base': 24.9.7 - '@vaadin/vaadin-lumo-styles': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 - lit: 3.3.2 + '@vaadin/a11y-base': 25.1.10 + '@vaadin/checkbox': 25.1.10 + '@vaadin/component-base': 25.1.10 + '@vaadin/lit-renderer': 25.1.10 + '@vaadin/text-field': 25.1.10 + '@vaadin/vaadin-themable-mixin': 25.1.10 + lit: 3.3.3 - '@vaadin/input-container@24.9.7': + '@vaadin/input-container@25.1.10': dependencies: - '@polymer/polymer': 3.5.2 - '@vaadin/component-base': 24.9.7 - '@vaadin/vaadin-lumo-styles': 24.9.7 - '@vaadin/vaadin-material-styles': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 - lit: 3.3.2 + '@vaadin/component-base': 25.1.10 + '@vaadin/vaadin-themable-mixin': 25.1.10 + lit: 3.3.3 - '@vaadin/lit-renderer@24.9.7': + '@vaadin/lit-renderer@25.1.10': dependencies: - lit: 3.3.2 + lit: 3.3.3 - '@vaadin/text-field@24.9.7': + '@vaadin/text-field@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - '@polymer/polymer': 3.5.2 - '@vaadin/a11y-base': 24.9.7 - '@vaadin/component-base': 24.9.7 - '@vaadin/field-base': 24.9.7 - '@vaadin/input-container': 24.9.7 - '@vaadin/vaadin-lumo-styles': 24.9.7 - '@vaadin/vaadin-material-styles': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 - lit: 3.3.2 - - '@vaadin/vaadin-development-mode-detector@2.0.7': {} - - '@vaadin/vaadin-lumo-styles@24.9.7': - dependencies: - '@polymer/polymer': 3.5.2 - '@vaadin/component-base': 24.9.7 - '@vaadin/icon': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 + '@vaadin/a11y-base': 25.1.10 + '@vaadin/component-base': 25.1.10 + '@vaadin/field-base': 25.1.10 + '@vaadin/input-container': 25.1.10 + '@vaadin/vaadin-themable-mixin': 25.1.10 + lit: 3.3.3 - '@vaadin/vaadin-material-styles@24.9.7': - dependencies: - '@polymer/polymer': 3.5.2 - '@vaadin/component-base': 24.9.7 - '@vaadin/vaadin-themable-mixin': 24.9.7 + '@vaadin/vaadin-development-mode-detector@2.0.7': {} - '@vaadin/vaadin-themable-mixin@24.9.7': + '@vaadin/vaadin-themable-mixin@25.1.10': dependencies: '@open-wc/dedupe-mixin': 1.4.0 - lit: 3.3.2 - style-observer: 0.0.8 + '@vaadin/component-base': 25.1.10 + lit: 3.3.3 '@vaadin/vaadin-usage-statistics@2.1.3': dependencies: '@vaadin/vaadin-development-mode-detector': 2.0.7 - '@vitejs/plugin-react-swc@4.2.3(@swc/helpers@0.5.18)(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@vitejs/plugin-react-swc@4.3.3(@swc/helpers@0.5.23)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - '@rolldown/pluginutils': 1.0.0-rc.2 - '@swc/core': 1.15.11(@swc/helpers@0.5.18) - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + '@rolldown/pluginutils': 1.0.1 + '@swc/core': 1.15.47(@swc/helpers@0.5.23) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) transitivePeerDependencies: - '@swc/helpers' - '@vitest/coverage-v8@4.0.18(vitest@4.0.18)': + '@vitest/coverage-v8@4.1.10(vitest@4.1.10)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.0.18 - ast-v8-to-istanbul: 0.3.11 + '@vitest/utils': 4.1.10 + ast-v8-to-istanbul: 1.0.5 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.2.0 - magicast: 0.5.2 - obug: 2.1.1 - std-env: 3.10.0 - tinyrainbow: 3.0.3 - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(@vitest/ui@4.0.18)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + magicast: 0.5.4 + obug: 2.1.4 + std-env: 4.2.0 + tinyrainbow: 3.1.1 + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) '@vitest/expect@3.2.4': dependencies: @@ -14852,39 +11210,40 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/expect@4.0.18': + '@vitest/expect@4.1.10': dependencies: - '@standard-schema/spec': 1.0.0 + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 chai: 6.2.2 - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.1 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@vitest/mocker@4.1.10(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.0.18 + '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/pretty-format@4.0.18': + '@vitest/pretty-format@4.1.10': dependencies: - tinyrainbow: 3.0.3 + tinyrainbow: 3.1.1 - '@vitest/runner@4.0.18': + '@vitest/runner@4.1.10': dependencies: - '@vitest/utils': 4.0.18 + '@vitest/utils': 4.1.10 pathe: 2.0.3 - '@vitest/snapshot@4.0.18': + '@vitest/snapshot@4.1.10': dependencies: - '@vitest/pretty-format': 4.0.18 + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 magic-string: 0.30.21 pathe: 2.0.3 @@ -14892,45 +11251,46 @@ snapshots: dependencies: tinyspy: 4.0.4 - '@vitest/spy@4.0.18': {} + '@vitest/spy@4.1.10': {} - '@vitest/ui@4.0.18(vitest@4.0.18)': + '@vitest/ui@4.1.10(vitest@4.1.10)': dependencies: - '@vitest/utils': 4.0.18 - fflate: 0.8.2 - flatted: 3.3.3 + '@vitest/utils': 4.1.10 + fflate: 0.8.3 + flatted: 3.4.4 pathe: 2.0.3 sirv: 3.0.2 - tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(@vitest/ui@4.0.18)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + tinyglobby: 0.2.17 + tinyrainbow: 3.1.1 + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) '@vitest/utils@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 - loupe: 3.1.4 + loupe: 3.2.1 tinyrainbow: 2.0.0 - '@vitest/utils@4.0.18': + '@vitest/utils@4.1.10': dependencies: - '@vitest/pretty-format': 4.0.18 - tinyrainbow: 3.0.3 + '@vitest/pretty-format': 4.1.10 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.1 - '@webcomponents/shadycss@1.11.2': {} + '@webcontainer/env@1.1.1': {} - '@xstate/react@6.0.0(@types/react@19.2.7)(react@19.2.4)(xstate@5.25.0)': + '@xstate/react@6.1.0(@types/react@19.2.18)(react@19.2.8)(xstate@5.32.5)': dependencies: - react: 19.2.4 - use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.7)(react@19.2.4) - use-sync-external-store: 1.5.0(react@19.2.4) + react: 19.2.8 + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.18)(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - xstate: 5.25.0 + xstate: 5.32.5 transitivePeerDependencies: - '@types/react' - '@zip.js/zip.js@2.8.11': {} + '@zip.js/zip.js@2.8.41': {} - abbrev@4.0.0: + abbrev@5.0.0: optional: true abort-controller@3.0.0: @@ -14947,43 +11307,39 @@ snapshots: mime-types: 3.0.2 negotiator: 1.0.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.18.0): dependencies: - acorn: 8.15.0 + acorn: 8.18.0 - acorn-walk@8.3.4: - dependencies: - acorn: 8.15.0 - - acorn@8.15.0: {} + acorn@8.18.0: {} - agent-base@6.0.2: + agent-base@6.0.2(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color agent-base@7.1.4: {} - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.20.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.20.0 - ajv-formats@3.0.1(ajv@8.17.1): + ajv-formats@3.0.1(ajv@8.20.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.20.0 - ajv@6.12.6: + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 + fast-uri: 3.1.5 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -14995,7 +11351,7 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@7.2.0: + ansi-escapes@7.3.0: dependencies: environment: 1.1.0 @@ -15020,7 +11376,10 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 + + anynum@1.0.1: + optional: true archiver-utils@5.0.2: dependencies: @@ -15028,7 +11387,7 @@ snapshots: graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 - lodash: 4.17.23 + lodash: 4.18.1 normalize-path: 3.0.0 readable-stream: 4.7.0 @@ -15039,20 +11398,26 @@ snapshots: buffer-crc32: 1.0.0 readable-stream: 4.7.0 readdir-glob: 1.1.3 - tar-stream: 3.1.7 + tar-stream: 3.2.0 zip-stream: 6.0.1 transitivePeerDependencies: - bare-abort-controller + - bare-buffer - react-native-b4a - arg@4.1.3: {} - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 argparse@2.0.1: {} + argue-cli@3.1.0: + optional: true + + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + aria-query@5.3.0: dependencies: dequal: 2.0.3 @@ -15066,66 +11431,64 @@ snapshots: array-flatten@1.1.1: {} - array-ify@1.0.0: {} - array-includes@3.1.9: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 is-string: 1.1.1 math-intrinsics: 1.1.0 array.prototype.findlast@1.2.5: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-shim-unscopables: 1.1.0 array.prototype.findlastindex@1.2.6: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-shim-unscopables: 1.1.0 array.prototype.flat@1.3.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-shim-unscopables: 1.1.0 array.prototype.flatmap@1.3.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-shim-unscopables: 1.1.0 array.prototype.tosorted@1.1.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 es-shim-unscopables: 1.1.0 arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 @@ -15146,7 +11509,7 @@ snapshots: dependencies: tslib: 2.8.1 - ast-v8-to-istanbul@0.3.11: + ast-v8-to-istanbul@1.0.5: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 @@ -15171,54 +11534,54 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axe-core@4.10.3: {} + axe-core@4.13.0: {} - axios@1.13.5: + axios@1.19.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - follow-redirects: 1.15.11 - form-data: 4.0.5 - proxy-from-env: 1.1.0 + follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2)) + form-data: 4.0.6 + https-proxy-agent: 5.0.1(supports-color@10.2.2) + proxy-from-env: 2.1.0 transitivePeerDependencies: - debug + - supports-color axobject-query@4.1.0: {} - b4a@1.7.3: {} + b4a@1.8.1: {} - babel-jest@30.0.4(@babel/core@7.29.0): + babel-jest@30.4.1(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - '@babel/core': 7.29.0 - '@jest/transform': 30.0.4 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@jest/transform': 30.4.1(supports-color@10.2.2) '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 7.0.1 - babel-preset-jest: 30.0.1(@babel/core@7.29.0) + babel-plugin-istanbul: 7.0.1(supports-color@10.2.2) + babel-preset-jest: 30.4.0(@babel/core@7.29.7(supports-color@10.2.2)) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-plugin-istanbul@7.0.1: + babel-plugin-istanbul@7.0.1(supports-color@10.2.2): dependencies: - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.29.7 '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 6.0.3 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - babel-plugin-jest-hoist@30.0.1: + babel-plugin-jest-hoist@30.4.0: dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 '@types/babel__core': 7.20.5 babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.29.7 cosmiconfig: 7.1.0 - resolve: 1.22.11 + resolve: 1.22.12 babel-polyfill@6.26.0: dependencies: @@ -15226,30 +11589,30 @@ snapshots: core-js: 2.6.12 regenerator-runtime: 0.10.5 - babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0): - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.0) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0) - - babel-preset-jest@30.0.1(@babel/core@7.29.0): - dependencies: - '@babel/core': 7.29.0 - babel-plugin-jest-hoist: 30.0.1 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7(supports-color@10.2.2)): + dependencies: + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7(supports-color@10.2.2)) + + babel-preset-jest@30.4.0(@babel/core@7.29.7(supports-color@10.2.2)): + dependencies: + '@babel/core': 7.29.7(supports-color@10.2.2) + babel-plugin-jest-hoist: 30.4.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7(supports-color@10.2.2)) babel-runtime@6.26.0: dependencies: @@ -15258,22 +11621,44 @@ snapshots: balanced-match@1.0.2: {} - balanced-match@4.0.2: + balanced-match@4.0.4: {} + + bare-events@2.9.1: {} + + bare-fs@4.8.0: dependencies: - jackspeak: 4.2.3 - optional: true + bare-events: 2.9.1 + bare-path: 3.1.1 + bare-stream: 2.13.3(bare-events@2.9.1) + bare-url: 2.5.2 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + bare-path@3.1.1: {} + + bare-stream@2.13.3(bare-events@2.9.1): + dependencies: + b4a: 1.8.1 + streamx: 2.28.0 + teex: 1.0.1 + optionalDependencies: + bare-events: 2.9.1 + transitivePeerDependencies: + - react-native-b4a - bare-events@2.8.2: {} + bare-url@2.5.2: + dependencies: + bare-path: 3.1.1 - base64-js@1.3.1: {} + base64-js@0.0.8: {} base64-js@1.5.1: {} base64-stream@1.0.0: {} - baseline-browser-mapping@2.8.27: {} - - baseline-browser-mapping@2.9.19: {} + baseline-browser-mapping@2.11.13: {} basic-auth-connect@1.1.0: dependencies: @@ -15283,7 +11668,7 @@ snapshots: dependencies: safe-buffer: 5.1.2 - basic-ftp@5.1.0: {} + basic-ftp@5.3.1: {} bignumber.js@9.3.1: {} @@ -15295,34 +11680,34 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - body-parser@1.20.4: + body-parser@1.20.6(supports-color@10.2.2): dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 destroy: 1.2.0 http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.15.3 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 transitivePeerDependencies: - supports-color - body-parser@2.2.1: + body-parser@2.3.0(supports-color@10.2.2): dependencies: bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.3 + content-type: 2.0.0 + debug: 4.4.3(supports-color@10.2.2) http-errors: 2.0.1 - iconv-lite: 0.7.1 + iconv-lite: 0.7.3 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.15.3 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -15337,19 +11722,18 @@ snapshots: widest-line: 3.1.0 wrap-ansi: 7.0.0 - brace-expansion@1.1.12: + brace-expansion@1.1.18: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: + brace-expansion@2.1.4: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.2: + brace-expansion@5.0.9: dependencies: - balanced-match: 4.0.2 - optional: true + balanced-match: 4.0.4 braces@3.0.3: dependencies: @@ -15359,21 +11743,17 @@ snapshots: dependencies: base64-js: 1.5.1 - browserslist@4.28.0: + browserify-zlib@0.2.0: dependencies: - baseline-browser-mapping: 2.8.27 - caniuse-lite: 1.0.30001754 - electron-to-chromium: 1.5.250 - node-releases: 2.0.27 - update-browserslist-db: 1.1.4(browserslist@4.28.0) + pako: 1.0.11 - browserslist@4.28.1: + browserslist@4.28.8: dependencies: - baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001769 - electron-to-chromium: 1.5.286 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) + baseline-browser-mapping: 2.11.13 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.405 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) bser@2.1.1: dependencies: @@ -15401,29 +11781,14 @@ snapshots: bytes@3.1.2: {} - cacache@20.0.3: - dependencies: - '@npmcli/fs': 5.0.0 - fs-minipass: 3.0.3 - glob: 13.0.3 - lru-cache: 11.2.4 - minipass: 7.1.2 - minipass-collect: 2.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 7.0.4 - ssri: 13.0.0 - unique-filename: 5.0.0 - optional: true - - cachedir@2.3.0: {} + cachedir@2.4.0: {} call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: + call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -15445,14 +11810,12 @@ snapshots: camelcase@9.0.0: {} - caniuse-lite@1.0.30001754: {} - - caniuse-lite@1.0.30001769: {} + caniuse-lite@1.0.30001809: {} chai@5.3.3: dependencies: assertion-error: 2.0.1 - check-error: 2.1.1 + check-error: 2.1.3 deep-eql: 5.0.2 loupe: 3.2.1 pathval: 2.0.1 @@ -15474,13 +11837,11 @@ snapshots: char-regex@1.0.2: {} - chardet@0.7.0: {} - - chardet@2.1.1: {} + chardet@2.2.0: {} charenc@0.0.2: {} - check-error@2.1.1: {} + check-error@2.1.3: {} chokidar@3.6.0: dependencies: @@ -15494,8 +11855,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@3.0.0: - optional: true + chownr@3.0.0: {} ci-info@2.0.0: {} @@ -15513,10 +11873,6 @@ snapshots: dependencies: restore-cursor: 3.1.0 - cli-cursor@5.0.0: - dependencies: - restore-cursor: 5.1.0 - cli-highlight@2.1.11: dependencies: chalk: 4.1.2 @@ -15524,7 +11880,7 @@ snapshots: mz: 2.7.0 parse5: 5.1.1 parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.0 + yargs: 16.2.2 cli-spinners@2.9.2: {} @@ -15534,11 +11890,6 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 - cli-truncate@5.1.1: - dependencies: - slice-ansi: 7.1.2 - string-width: 8.1.0 - cli-width@3.0.0: {} cli-width@4.1.0: {} @@ -15557,12 +11908,20 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@9.0.1: + dependencies: + string-width: 7.2.0 + strip-ansi: 7.2.0 + wrap-ansi: 9.0.2 + clone@1.0.4: {} + clone@2.1.2: {} + cloudevents@10.0.0: dependencies: - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) json-bigint: 1.0.0 process: 0.11.10 util: 0.12.5 @@ -15584,17 +11943,17 @@ snapshots: color-convert@3.1.3: dependencies: - color-name: 2.1.0 + color-name: 2.1.1 color-name@1.1.3: {} color-name@1.1.4: {} - color-name@2.1.0: {} + color-name@2.1.1: {} color-string@2.1.4: dependencies: - color-name: 2.1.0 + color-name: 2.1.1 color@5.0.3: dependencies: @@ -15609,44 +11968,35 @@ snapshots: commander@10.0.1: {} - commander@11.1.0: {} - - commander@14.0.2: {} - commander@2.20.3: {} commander@5.1.0: {} commander@7.2.0: {} - commitizen@4.3.1(@types/node@25.0.3)(typescript@5.8.3): + commitizen@4.3.2(@types/node@24.13.3)(typescript@6.0.3): dependencies: - cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@25.0.3)(typescript@5.8.3) + cachedir: 2.4.0 + cz-conventional-changelog: 3.3.0(@types/node@24.13.3)(typescript@6.0.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 find-root: 1.1.0 fs-extra: 9.1.0 glob: 7.2.3 - inquirer: 8.2.5 + inquirer: 8.2.7(@types/node@24.13.3) is-utf8: 0.2.1 - lodash: 4.17.23 - minimist: 1.2.7 + lodash: 4.18.1 + minimist: 1.2.8 strip-bom: 4.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: - '@types/node' - typescript - compare-func@2.0.0: - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - - composed-offset-position@0.0.6(@floating-ui/utils@0.2.10): + composed-offset-position@0.0.6(@floating-ui/utils@0.2.12): dependencies: - '@floating-ui/utils': 0.2.10 + '@floating-ui/utils': 0.2.12 compress-commons@6.0.2: dependencies: @@ -15660,11 +12010,11 @@ snapshots: dependencies: mime-db: 1.54.0 - compression@1.8.1: + compression@1.8.1(supports-color@10.2.2): dependencies: bytes: 3.1.2 compressible: 2.0.18 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) negotiator: 0.6.4 on-headers: 1.1.0 safe-buffer: 5.2.1 @@ -15674,14 +12024,14 @@ snapshots: concat-map@0.0.1: {} - concurrently@9.2.1: + concurrently@10.0.4: dependencies: - chalk: 4.1.2 + chalk: 5.6.2 rxjs: 7.8.2 - shell-quote: 1.8.3 - supports-color: 8.1.1 + shell-quote: 1.9.0 + supports-color: 10.2.2 tree-kill: 1.2.2 - yargs: 17.7.2 + yargs: 18.0.0 config-chain@1.1.13: dependencies: @@ -15697,10 +12047,10 @@ snapshots: write-file-atomic: 3.0.3 xdg-basedir: 4.0.0 - connect@3.7.0: + connect@3.7.0(supports-color@10.2.2): dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 + debug: 2.6.9(supports-color@10.2.2) + finalhandler: 1.1.2(supports-color@10.2.2) parseurl: 1.3.3 utils-merge: 1.0.1 transitivePeerDependencies: @@ -15710,25 +12060,21 @@ snapshots: dependencies: safe-buffer: 5.2.1 - content-disposition@1.0.1: {} + content-disposition@1.1.0: {} content-type@1.0.5: {} - contrast-color@1.0.1: {} - - conventional-changelog-angular@8.1.0: - dependencies: - compare-func: 2.0.0 + content-type@2.0.0: {} - conventional-changelog-conventionalcommits@9.1.0: - dependencies: - compare-func: 2.0.0 + contrast-color@1.0.1: {} conventional-commit-types@3.0.0: {} - conventional-commits-parser@6.2.1: + conventional-commits-parser@7.1.2: dependencies: - meow: 13.2.0 + '@simple-libs/stream-utils': 2.0.0 + argue-cli: 3.1.0 + optional: true convert-source-map@1.9.0: {} @@ -15754,12 +12100,13 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.1.0(@types/node@25.0.3)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): + cosmiconfig-typescript-loader@6.3.0(@types/node@24.13.3)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3): dependencies: - '@types/node': 25.0.3 - cosmiconfig: 9.0.0(typescript@5.8.3) - jiti: 2.4.2 - typescript: 5.8.3 + '@types/node': 24.13.3 + cosmiconfig: 9.0.2(typescript@6.0.3) + jiti: 2.6.1 + typescript: 6.0.3 + optional: true cosmiconfig@7.1.0: dependencies: @@ -15767,30 +12114,32 @@ snapshots: import-fresh: 3.3.1 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.2 + yaml: 1.10.3 - cosmiconfig@9.0.0(typescript@5.8.3): + cosmiconfig@9.0.2(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.1 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.3 + typescript: 6.0.3 + optional: true - cpy-cli@6.0.0: + cpy-cli@7.0.0: dependencies: - cpy: 12.1.0 - meow: 13.2.0 + cpy: 13.2.2 + globby: 16.2.3 + meow: 14.1.0 - cpy@12.1.0: + cpy@13.2.2: dependencies: copy-file: 11.1.0 - globby: 15.0.0 + globby: 16.2.3 junk: 4.0.1 micromatch: 4.0.8 p-filter: 4.1.0 - p-map: 7.0.4 + p-map: 7.0.6 crc-32@1.2.2: {} @@ -15799,8 +12148,6 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.7.0 - create-require@1.1.1: {} - cross-env@10.1.0: dependencies: '@epic-web/invariant': 1.0.0 @@ -15818,8 +12165,6 @@ snapshots: crypt@0.0.2: {} - crypto-js@4.2.0: {} - crypto-random-string@2.0.0: {} css.escape@1.5.1: {} @@ -15830,16 +12175,16 @@ snapshots: csv-parse@5.6.0: {} - cz-conventional-changelog@3.3.0(@types/node@25.0.3)(typescript@5.8.3): + cz-conventional-changelog@3.3.0(@types/node@24.13.3)(typescript@6.0.3): dependencies: chalk: 2.4.2 - commitizen: 4.3.1(@types/node@25.0.3)(typescript@5.8.3) + commitizen: 4.3.2(@types/node@24.13.3)(typescript@6.0.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.8.1(@types/node@25.0.3)(typescript@5.8.3) + '@commitlint/load': 21.2.0(@types/node@24.13.3)(typescript@6.0.3) transitivePeerDependencies: - '@types/node' - typescript @@ -15874,7 +12219,7 @@ snapshots: d3-delaunay@6.0.4: dependencies: - delaunator: 5.0.1 + delaunator: 5.1.0 d3-dispatch@2.0.0: {} @@ -15903,7 +12248,7 @@ snapshots: d3-quadtree: 3.0.1 d3-timer: 3.0.1 - d3-format@3.1.0: {} + d3-format@3.1.2: {} d3-geo@3.1.1: dependencies: @@ -15940,7 +12285,7 @@ snapshots: d3-scale@4.0.2: dependencies: d3-array: 3.2.4 - d3-format: 3.1.0 + d3-format: 3.1.2 d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 @@ -16015,7 +12360,7 @@ snapshots: d3-ease: 3.0.1 d3-fetch: 3.0.1 d3-force: 3.0.0 - d3-format: 3.1.0 + d3-format: 3.1.2 d3-geo: 3.1.1 d3-hierarchy: 3.1.2 d3-interpolate: 3.0.1 @@ -16035,8 +12380,6 @@ snapshots: damerau-levenshtein@1.0.8: {} - dargs@8.1.0: {} - data-uri-to-buffer@4.0.1: {} data-uri-to-buffer@6.0.2: {} @@ -16059,50 +12402,38 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 - debug@2.6.9: + debug@2.6.9(supports-color@10.2.2): dependencies: ms: 2.0.0 + optionalDependencies: + supports-color: 10.2.2 - debug@3.2.7: + debug@3.2.7(supports-color@10.2.2): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 10.2.2 - debug@4.3.1: + debug@4.3.1(supports-color@10.2.2): dependencies: ms: 2.1.2 + optionalDependencies: + supports-color: 10.2.2 - debug@4.4.1: - dependencies: - ms: 2.1.3 - - debug@4.4.3: + debug@4.4.3(supports-color@10.2.2): dependencies: ms: 2.1.3 - - decimal.js@10.6.0: {} + optionalDependencies: + supports-color: 10.2.2 dedent@0.7.0: {} - dedent@1.7.1(babel-plugin-macros@3.1.0): + dedent@1.7.2(babel-plugin-macros@3.1.0): optionalDependencies: babel-plugin-macros: 3.1.0 deep-eql@5.0.2: {} - deep-equal-in-any-order@2.1.0: - dependencies: - lodash.mapvalues: 4.6.0 - sort-any: 2.0.0 - - deep-equal@1.1.2: - dependencies: - is-arguments: 1.2.0 - is-date-object: 1.1.0 - is-regex: 1.2.1 - object-is: 1.1.6 - object-keys: 1.1.1 - regexp.prototype.flags: 1.5.4 - deep-extend@0.6.0: {} deep-freeze@0.0.1: {} @@ -16142,9 +12473,9 @@ snapshots: escodegen: 2.1.0 esprima: 4.0.1 - delaunator@5.0.1: + delaunator@5.1.0: dependencies: - robust-predicates: 3.0.2 + robust-predicates: 3.0.3 delayed-stream@1.0.0: {} @@ -16168,8 +12499,6 @@ snapshots: dfa@1.2.0: {} - diff@8.0.3: {} - discontinuous-range@1.0.0: {} dms-conversion@3.1.4: {} @@ -16213,9 +12542,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.250: {} - - electron-to-chromium@1.5.286: {} + electron-to-chromium@1.5.405: {} emittery@0.13.1: {} @@ -16227,7 +12554,7 @@ snapshots: emojilib@2.4.0: {} - empathic@2.0.0: {} + empathic@2.0.1: {} enabled@2.0.0: {} @@ -16235,47 +12562,47 @@ snapshots: encodeurl@2.0.0: {} - encoding@0.1.13: - dependencies: - iconv-lite: 0.6.3 - optional: true - end-of-stream@1.4.5: dependencies: once: 1.4.0 - enhanced-resolve@5.18.4: + enhanced-resolve@5.24.5: dependencies: graceful-fs: 4.2.11 - tapable: 2.3.0 + tapable: 2.3.3 - env-paths@2.2.1: {} + env-paths@2.2.1: + optional: true environment@1.1.0: {} - err-code@2.0.3: - optional: true - - error-ex@1.3.2: + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 - es-abstract@1.24.0: + es-abstract-get@1.0.0: + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + + es-abstract@1.24.2: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 data-view-buffer: 1.0.2 data-view-byte-length: 1.0.2 data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 get-intrinsic: 1.3.0 get-proto: 1.0.1 get-symbol-description: 1.1.0 @@ -16284,7 +12611,7 @@ snapshots: has-property-descriptors: 1.0.2 has-proto: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.4 internal-slot: 1.1.0 is-array-buffer: 3.0.5 is-callable: 1.2.7 @@ -16300,33 +12627,33 @@ snapshots: object-inspect: 1.13.4 object-keys: 1.1.1 object.assign: 4.1.7 - own-keys: 1.0.1 + own-keys: 1.0.2 regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 + safe-array-concat: 1.1.4 safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.3 typed-array-byte-length: 1.0.3 typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 + typed-array-length: 1.0.8 unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-iterator-helpers@1.2.1: + es-iterator-helpers@1.4.0: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 es-set-tostringtag: 2.1.0 function-bind: 1.1.2 @@ -16338,11 +12665,11 @@ snapshots: has-symbols: 1.1.0 internal-slot: 1.1.0 iterator.prototype: 1.1.5 - safe-array-concat: 1.1.3 + math-intrinsics: 1.1.0 - es-module-lexer@1.7.0: {} + es-module-lexer@2.3.1: {} - es-object-atoms@1.1.1: + es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 @@ -16351,56 +12678,51 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.4 es-shim-unscopables@1.1.0: dependencies: - hasown: 2.0.2 + hasown: 2.0.4 - es-to-primitive@1.3.0: + es-to-primitive@1.3.4: dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 is-callable: 1.2.7 is-date-object: 1.1.0 is-symbol: 1.1.1 - es-toolkit@1.43.0: {} - - esbuild-register@3.6.0(esbuild@0.27.2): - dependencies: - debug: 4.4.3 - esbuild: 0.27.2 - transitivePeerDependencies: - - supports-color - optional: true + es-toolkit@1.50.0: {} - esbuild@0.27.2: + esbuild@0.28.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 escalade@3.2.0: {} @@ -16422,107 +12744,115 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.5(eslint@9.31.0(jiti@2.6.1)): + eslint-config-prettier@10.1.8(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)): dependencies: - eslint: 9.31.0(jiti@2.6.1) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) - eslint-import-resolver-node@0.3.9: + eslint-import-resolver-node@0.3.10(supports-color@10.2.2): dependencies: - debug: 3.2.7 - is-core-module: 2.16.1 - resolve: 1.22.11 + debug: 3.2.7(supports-color@10.2.2) + is-core-module: 2.16.2 + resolve: 2.0.0-next.7 transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.31.0(jiti@2.6.1)): + eslint-module-utils@2.14.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@10.2.2))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 3.2.7 + debug: 3.2.7(supports-color@10.2.2) optionalDependencies: - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.6.1) - eslint-import-resolver-node: 0.3.9 + '@typescript-eslint/parser': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + eslint-import-resolver-node: 0.3.10(supports-color@10.2.2) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.31.0(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 array.prototype.findlastindex: 1.2.6 array.prototype.flat: 1.3.3 array.prototype.flatmap: 1.3.3 - debug: 3.2.7 + debug: 3.2.7(supports-color@10.2.2) doctrine: 2.1.0 - eslint: 9.31.0(jiti@2.6.1) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.31.0(jiti@2.6.1)) - hasown: 2.0.2 - is-core-module: 2.16.1 + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + eslint-import-resolver-node: 0.3.10(supports-color@10.2.2) + eslint-module-utils: 2.14.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@10.2.2))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) + hasown: 2.0.4 + is-core-module: 2.16.2 is-glob: 4.0.3 - minimatch: 3.1.2 + minimatch: 3.1.5 object.fromentries: 2.0.8 object.groupby: 1.0.3 object.values: 1.2.1 semver: 6.3.1 - string.prototype.trimend: 1.0.9 + string.prototype.trimend: 1.0.10 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) + '@typescript-eslint/parser': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.31.0(jiti@2.6.1)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 array.prototype.flatmap: 1.3.3 ast-types-flow: 0.0.8 - axe-core: 4.10.3 + axe-core: 4.13.0 axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.31.0(jiti@2.6.1) - hasown: 2.0.2 + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + hasown: 2.0.4 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 - minimatch: 3.1.2 + minimatch: 3.1.5 object.fromentries: 2.0.8 safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@5.2.0(eslint@9.31.0(jiti@2.6.1)): + eslint-plugin-react-hooks@7.1.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - eslint: 9.31.0(jiti@2.6.1) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/parser': 7.29.8 + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + hermes-parser: 0.25.1 + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) + transitivePeerDependencies: + - supports-color - eslint-plugin-react@7.37.5(eslint@9.31.0(jiti@2.6.1)): + eslint-plugin-react@7.37.5(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.2.1 - eslint: 9.31.0(jiti@2.6.1) + es-iterator-helpers: 1.4.0 + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) estraverse: 5.3.0 - hasown: 2.0.2 + hasown: 2.0.4 jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 + minimatch: 3.1.5 object.entries: 1.1.9 object.fromentries: 2.0.8 object.values: 1.2.1 prop-types: 15.8.1 - resolve: 2.0.0-next.5 + resolve: 2.0.0-next.7 semver: 6.3.1 string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@9.0.16(eslint@9.31.0(jiti@2.6.1))(storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(typescript@5.8.3): + eslint-plugin-storybook@10.5.7(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8))(supports-color@10.2.2)(typescript@6.0.3): dependencies: - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.6.1) - storybook: 10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/utils': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + storybook: 10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8) transitivePeerDependencies: - supports-color - typescript @@ -16536,30 +12866,31 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.31.0(jiti@2.6.1): - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.6.1)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.3.0 - '@eslint/core': 0.15.1 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.31.0 - '@eslint/plugin-kit': 0.3.4 - '@humanfs/node': 0.16.6 + eslint-visitor-keys@5.0.1: {} + + eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.2(supports-color@10.2.2) + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.6(supports-color@10.2.2) + '@eslint/js': 9.39.5 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 + '@types/estree': 1.0.9 + ajv: 6.15.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.3(supports-color@10.2.2) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - esquery: 1.6.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -16570,23 +12901,23 @@ snapshots: is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.6.1 + jiti: 2.7.0 transitivePeerDependencies: - supports-color espree@10.4.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -16600,7 +12931,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esutils@2.0.3: {} @@ -16618,23 +12949,21 @@ snapshots: event-target-shim@5.0.1: {} - eventemitter3@5.0.1: {} - events-listener@1.1.0: {} events-universal@1.0.1: dependencies: - bare-events: 2.8.2 + bare-events: 2.9.1 transitivePeerDependencies: - bare-abort-controller events@3.3.0: {} - eventsource-parser@3.0.6: {} + eventsource-parser@3.1.1: {} eventsource@3.0.7: dependencies: - eventsource-parser: 3.0.6 + eventsource-parser: 3.1.1 execa@5.1.1: dependencies: @@ -16648,30 +12977,30 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - exegesis-express@4.0.0: + exegesis-express@4.0.0(supports-color@10.2.2): dependencies: - exegesis: 4.3.0 + exegesis: 4.3.0(supports-color@10.2.2) transitivePeerDependencies: - supports-color - exegesis@4.3.0: + exegesis@4.3.0(supports-color@10.2.2): dependencies: '@apidevtools/json-schema-ref-parser': 9.1.2 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - body-parser: 1.20.4 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + body-parser: 1.20.6(supports-color@10.2.2) content-type: 1.0.5 deep-freeze: 0.0.1 events-listener: 1.1.0 glob: 10.5.0 json-ptr: 3.1.1 json-schema-traverse: 1.0.0 - lodash: 4.17.23 + lodash: 4.18.1 openapi3-ts: 3.2.0 promise-breaker: 6.0.0 - qs: 6.14.1 + qs: 6.15.3 raw-body: 2.5.3 - semver: 7.7.3 + semver: 7.8.5 transitivePeerDependencies: - supports-color @@ -16681,53 +13010,56 @@ snapshots: dependencies: homedir-polyfill: 1.0.3 - expect-type@1.2.2: {} + expect-type@1.4.0: {} - expect@30.0.4: + expect@30.4.1: dependencies: - '@jest/expect-utils': 30.0.4 - '@jest/get-type': 30.0.1 - jest-matcher-utils: 30.0.4 - jest-message-util: 30.0.2 - jest-mock: 30.0.2 - jest-util: 30.0.2 + '@jest/expect-utils': 30.4.1 + '@jest/get-type': 30.1.0 + jest-matcher-utils: 30.4.1 + jest-message-util: 30.4.1 + jest-mock: 30.4.1 + jest-util: 30.4.1 exponential-backoff@3.1.3: optional: true - express-rate-limit@8.2.1(express@5.2.1): + express-rate-limit@8.6.2(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - express: 5.2.1 - ip-address: 10.0.1 + debug: 4.4.3(supports-color@10.2.2) + express: 5.2.1(supports-color@10.2.2) + ip-address: 10.5.0 + transitivePeerDependencies: + - supports-color - express@4.22.1: + express@4.22.2(supports-color@10.2.2): dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.4 + body-parser: 1.20.6(supports-color@10.2.2) content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.0.7 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.3.2 + finalhandler: 1.3.2(supports-color@10.2.2) fresh: 0.5.2 http-errors: 2.0.1 merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.12 + path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.3 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.19.2 - serve-static: 1.16.3 + send: 0.19.2(supports-color@10.2.2) + serve-static: 1.16.3(supports-color@10.2.2) setprototypeof: 1.2.0 statuses: 2.0.2 type-is: 1.6.18 @@ -16736,20 +13068,20 @@ snapshots: transitivePeerDependencies: - supports-color - express@5.2.1: + express@5.2.1(supports-color@10.2.2): dependencies: accepts: 2.0.0 - body-parser: 2.2.1 - content-disposition: 1.0.1 + body-parser: 2.3.0(supports-color@10.2.2) + content-disposition: 1.1.0 content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 2.1.1 + finalhandler: 2.1.1(supports-color@10.2.2) fresh: 2.0.0 http-errors: 2.0.1 merge-descriptors: 2.0.0 @@ -16758,25 +13090,19 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.14.2 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.1 - serve-static: 2.2.1 + qs: 6.15.3 + range-parser: 1.3.0 + router: 2.2.0(supports-color@10.2.2) + send: 1.2.1(supports-color@10.2.2) + serve-static: 2.2.1(supports-color@10.2.2) statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color extend@3.0.2: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.2.5 - farmhash-modern@1.1.0: {} fast-deep-equal@3.1.3: {} @@ -16795,28 +13121,39 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.1.0: {} + fast-uri@3.1.5: {} + + fast-xml-builder@1.3.0: + dependencies: + path-expression-matcher: 1.6.2 + xml-naming: 0.3.0 + optional: true - fast-xml-parser@4.5.3: + fast-xml-parser@5.10.1: dependencies: - strnum: 1.1.2 + '@nodable/entities': 3.0.0 + fast-xml-builder: 1.3.0 + is-unsafe: 2.0.0 + path-expression-matcher: 1.6.2 + strnum: 2.4.1 + xml-naming: 0.3.0 optional: true - fastq@1.19.1: + fastq@1.20.1: dependencies: reusify: 1.1.0 faye-websocket@0.11.4: dependencies: - websocket-driver: 0.7.4 + websocket-driver: 0.7.5 fb-watchman@2.0.2: dependencies: bser: 2.1.1 - fdir@6.5.0(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.5): optionalDependencies: - picomatch: 4.0.3 + picomatch: 4.0.5 fecha@4.2.3: {} @@ -16825,7 +13162,7 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - fflate@0.8.2: {} + fflate@0.8.3: {} figures@3.2.0: dependencies: @@ -16835,15 +13172,13 @@ snapshots: dependencies: flat-cache: 4.0.1 - filesize@6.4.0: {} - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - finalhandler@1.1.2: + finalhandler@1.1.2(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) encodeurl: 1.0.2 escape-html: 1.0.3 on-finished: 2.3.0 @@ -16853,9 +13188,9 @@ snapshots: transitivePeerDependencies: - supports-color - finalhandler@1.3.2: + finalhandler@1.3.2(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -16865,9 +13200,9 @@ snapshots: transitivePeerDependencies: - supports-color - finalhandler@2.1.1: + finalhandler@2.1.1(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -16902,62 +13237,89 @@ snapshots: micromatch: 4.0.8 resolve-dir: 1.0.1 - firebase-admin@13.6.0(encoding@0.1.13): + firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2): dependencies: '@fastify/busboy': 3.2.0 - '@firebase/database-compat': 2.1.0 - '@firebase/database-types': 1.0.16 - '@types/node': 22.19.3 + '@firebase/database-compat': 2.1.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/database-types': 1.0.21 farmhash-modern: 1.1.0 fast-deep-equal: 3.1.3 - google-auth-library: 9.15.1(encoding@0.1.13) + google-auth-library: 10.9.1(supports-color@10.2.2) + jsonwebtoken: 9.0.3 + jwks-rsa: 3.2.2(supports-color@10.2.2) + optionalDependencies: + '@google-cloud/firestore': 7.11.6(supports-color@10.2.2) + '@google-cloud/storage': 7.22.0(supports-color@10.2.2) + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-compat' + - encoding + - supports-color + + firebase-admin@14.2.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2): + dependencies: + '@fastify/busboy': 3.2.0 + '@firebase/database-compat': 2.1.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/database-types': 1.0.21 + fast-deep-equal: 3.1.3 + google-auth-library: 10.9.1(supports-color@10.2.2) jsonwebtoken: 9.0.3 - jwks-rsa: 3.2.0 - node-forge: 1.3.3 - uuid: 11.1.0 + jwks-rsa: 4.1.0(supports-color@10.2.2) optionalDependencies: - '@google-cloud/firestore': 7.11.6(encoding@0.1.13) - '@google-cloud/storage': 7.18.0(encoding@0.1.13) + '@google-cloud/firestore': 8.7.1(supports-color@10.2.2) + '@google-cloud/storage': 7.22.0(supports-color@10.2.2) transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-compat' - encoding - supports-color - firebase-functions-test@3.4.1(firebase-admin@13.6.0(encoding@0.1.13))(firebase-functions@7.0.5(firebase-admin@13.6.0(encoding@0.1.13)))(jest@30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3))): + firebase-functions-test@3.5.0(firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(firebase-functions@7.3.2(firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(supports-color@10.2.2))(jest@30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)): dependencies: - '@types/lodash': 4.17.20 - firebase-admin: 13.6.0(encoding@0.1.13) - firebase-functions: 7.0.5(firebase-admin@13.6.0(encoding@0.1.13)) - jest: 30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)) - lodash: 4.17.23 + '@types/lodash': 4.17.25 + firebase-admin: 13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2) + firebase-functions: 7.3.2(firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(supports-color@10.2.2) + jest: 30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2) + lodash: 4.18.1 ts-deepmerge: 2.0.7 - firebase-functions@7.0.5(firebase-admin@13.6.0(encoding@0.1.13)): + firebase-functions@7.3.2(firebase-admin@13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(supports-color@10.2.2): + dependencies: + '@types/cors': 2.8.19 + '@types/express': 5.0.6 + cors: 2.8.6 + express: 5.2.1(supports-color@10.2.2) + firebase-admin: 13.10.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2) + protobufjs: 7.6.5 + transitivePeerDependencies: + - supports-color + + firebase-functions@7.3.2(firebase-admin@14.2.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: '@types/cors': 2.8.19 - '@types/express': 4.17.25 + '@types/express': 5.0.6 cors: 2.8.6 - express: 4.22.1 - firebase-admin: 13.6.0(encoding@0.1.13) - protobufjs: 7.5.4 + express: 5.2.1(supports-color@10.2.2) + firebase-admin: 14.2.0(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0)(supports-color@10.2.2) + protobufjs: 7.6.5 transitivePeerDependencies: - supports-color - firebase-tools@15.5.1(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(encoding@0.1.13)(typescript@5.8.3): + firebase-tools@15.26.0(@types/node@24.13.3)(supports-color@10.2.2): dependencies: - '@apphosting/build': 0.1.7(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3) '@apphosting/common': 0.0.8 - '@electric-sql/pglite': 0.3.14 - '@electric-sql/pglite-tools': 0.2.19(@electric-sql/pglite@0.3.14) - '@google-cloud/cloud-sql-connector': 1.8.5 - '@google-cloud/pubsub': 5.2.0 - '@inquirer/prompts': 7.10.1(@types/node@25.0.3) - '@modelcontextprotocol/sdk': 1.26.0(zod@3.25.76) + '@electric-sql/pglite': 0.3.16 + '@electric-sql/pglite-tools': 0.2.21(@electric-sql/pglite@0.3.16) + '@google-cloud/cloud-sql-connector': 1.11.3(supports-color@10.2.2) + '@google-cloud/pubsub': 5.3.1(supports-color@10.2.2) + '@inquirer/prompts': 7.10.1(@types/node@24.13.3) + '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) abort-controller: 3.0.0 - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) archiver: 7.0.1 async-lock: 1.4.1 - body-parser: 1.20.4 + body-parser: 1.20.6(supports-color@10.2.2) chokidar: 3.6.0 cjson: 0.3.3 cli-table3: 0.6.5 @@ -16968,120 +13330,128 @@ snapshots: cross-env: 7.0.3 cross-spawn: 7.0.6 csv-parse: 5.6.0 - deep-equal-in-any-order: 2.1.0 - exegesis: 4.3.0 - exegesis-express: 4.0.0 - express: 4.22.1 - filesize: 6.4.0 - form-data: 4.0.5 + exegesis: 4.3.0(supports-color@10.2.2) + exegesis-express: 4.0.0(supports-color@10.2.2) + express: 4.22.2(supports-color@10.2.2) + form-data: 4.0.6 fs-extra: 10.1.0 fuzzy: 0.1.3 - gaxios: 6.7.1(encoding@0.1.13) + gaxios: 6.7.1(supports-color@10.2.2) glob: 10.5.0 - google-auth-library: 9.15.1(encoding@0.1.13) - ignore: 7.0.5 - js-yaml: 3.14.2 + google-auth-library: 9.15.1(supports-color@10.2.2) + ignore: 7.0.6 + js-yaml: 4.3.1 jsonwebtoken: 9.0.3 - leven: 3.1.0 libsodium-wrappers: 0.7.16 - lodash: 4.17.23 - lsofi: 1.0.0 + lodash: 4.18.1 + lsofi: 2.0.0 marked: 13.0.3 marked-terminal: 7.3.0(marked@13.0.3) mime: 2.6.0 - minimatch: 3.1.2 - morgan: 1.10.1 - node-fetch: 2.7.0(encoding@0.1.13) + minimatch: 3.1.5 + morgan: 1.11.0(supports-color@10.2.2) + node-fetch: 2.7.0 open: 6.4.0 ora: 5.4.1 - p-limit: 3.1.0 - pg: 8.16.3 + pg: 8.23.0 pg-gateway: 0.3.0-beta.4 pglite-2: '@electric-sql/pglite@0.2.17' - portfinder: 1.0.38 + portfinder: 1.0.38(supports-color@10.2.2) progress: 2.0.3 - proxy-agent: 6.5.0 + proxy-agent: 6.5.0(supports-color@10.2.2) retry: 0.13.1 - semver: 7.7.3 - sql-formatter: 15.6.12 + semver: 7.8.5 + sql-formatter: 15.8.2 stream-chain: 2.2.5 stream-json: 1.9.1 - superstatic: 10.0.0(encoding@0.1.13) - tcp-port-used: 1.0.2 - tmp: 0.2.5 + superstatic: 10.0.0(supports-color@10.2.2) + tar: 7.5.22 + tcp-port-used: 1.0.3(supports-color@10.2.2) + tmp: 0.2.7 triple-beam: 1.4.1 - universal-analytics: 0.5.3 - update-notifier-cjs: 5.1.7(encoding@0.1.13) - uuid: 8.3.2 + undici: 6.28.0 + universal-analytics: 0.5.4(supports-color@10.2.2) + update-notifier-cjs: 5.1.7 winston: 3.19.0 winston-transport: 4.9.0 - ws: 7.5.10 - yaml: 2.8.2 - zod: 3.25.76 - zod-to-json-schema: 3.25.1(zod@3.25.76) + ws: 8.21.3 + yaml: 2.9.0 + zod: 4.4.3 transitivePeerDependencies: - '@cfworker/json-schema' - - '@swc/core' - - '@swc/wasm' - '@types/node' - bare-abort-controller + - bare-buffer - bufferutil - encoding - pg-native - react-native-b4a - supports-color - - typescript - utf-8-validate - firebase@12.5.0: - dependencies: - '@firebase/ai': 2.5.0(@firebase/app-types@0.9.3)(@firebase/app@0.14.5) - '@firebase/analytics': 0.10.19(@firebase/app@0.14.5) - '@firebase/analytics-compat': 0.2.25(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5) - '@firebase/app': 0.14.5 - '@firebase/app-check': 0.11.0(@firebase/app@0.14.5) - '@firebase/app-check-compat': 0.4.0(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5) - '@firebase/app-compat': 0.5.5 - '@firebase/app-types': 0.9.3 - '@firebase/auth': 1.11.1(@firebase/app@0.14.5) - '@firebase/auth-compat': 0.6.1(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5) - '@firebase/data-connect': 0.3.11(@firebase/app@0.14.5) - '@firebase/database': 1.1.0 - '@firebase/database-compat': 2.1.0 - '@firebase/firestore': 4.9.2(@firebase/app@0.14.5) - '@firebase/firestore-compat': 0.4.2(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5) - '@firebase/functions': 0.13.1(@firebase/app@0.14.5) - '@firebase/functions-compat': 0.4.1(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5) - '@firebase/installations': 0.6.19(@firebase/app@0.14.5) - '@firebase/installations-compat': 0.2.19(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5) - '@firebase/messaging': 0.12.23(@firebase/app@0.14.5) - '@firebase/messaging-compat': 0.2.23(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5) - '@firebase/performance': 0.7.9(@firebase/app@0.14.5) - '@firebase/performance-compat': 0.2.22(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5) - '@firebase/remote-config': 0.7.0(@firebase/app@0.14.5) - '@firebase/remote-config-compat': 0.2.20(@firebase/app-compat@0.5.5)(@firebase/app@0.14.5) - '@firebase/storage': 0.14.0(@firebase/app@0.14.5) - '@firebase/storage-compat': 0.4.0(@firebase/app-compat@0.5.5)(@firebase/app-types@0.9.3)(@firebase/app@0.14.5) - '@firebase/util': 1.13.0 + firebase@12.17.1: + dependencies: + '@firebase/ai': 2.14.0(@firebase/app-types@0.9.5)(@firebase/app@0.16.0) + '@firebase/analytics': 0.10.23(@firebase/app@0.16.0) + '@firebase/analytics-compat': 0.2.29(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/app': 0.16.0 + '@firebase/app-check': 0.13.0(@firebase/app@0.16.0) + '@firebase/app-check-compat': 0.4.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/app-compat': 0.5.16 + '@firebase/app-types': 0.9.5 + '@firebase/auth': 1.13.4(@firebase/app@0.16.0) + '@firebase/auth-compat': 0.6.9(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0) + '@firebase/data-connect': 0.7.3(@firebase/app@0.16.0) + '@firebase/database': 1.1.4 + '@firebase/database-compat': 2.1.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/firestore': 4.17.0(@firebase/app@0.16.0) + '@firebase/firestore-compat': 0.4.12(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0) + '@firebase/functions': 0.13.6(@firebase/app@0.16.0) + '@firebase/functions-compat': 0.4.6(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/installations': 0.6.23(@firebase/app@0.16.0) + '@firebase/installations-compat': 0.2.23(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0) + '@firebase/messaging': 0.13.1(@firebase/app@0.16.0) + '@firebase/messaging-compat': 0.2.28(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/performance': 0.7.13(@firebase/app@0.16.0) + '@firebase/performance-compat': 0.2.26(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/remote-config': 0.9.1(@firebase/app@0.16.0) + '@firebase/remote-config-compat': 0.2.28(@firebase/app-compat@0.5.16)(@firebase/app@0.16.0) + '@firebase/storage': 0.14.4(@firebase/app@0.16.0) + '@firebase/storage-compat': 0.4.4(@firebase/app-compat@0.5.16)(@firebase/app-types@0.9.5)(@firebase/app@0.16.0) + '@firebase/util': 1.15.2 transitivePeerDependencies: - '@react-native-async-storage/async-storage' flat-cache@4.0.1: dependencies: - flatted: 3.3.3 + flatted: 3.4.4 keyv: 4.5.4 flatpickr@4.6.13: {} - flatted@3.3.3: {} + flatted@3.4.4: {} fn.name@1.1.0: {} - focus-trap@7.7.1: + focus-trap@8.2.2: dependencies: - tabbable: 6.4.0 + tabbable: 6.5.0 + + follow-redirects@1.16.0(debug@4.4.3(supports-color@10.2.2)): + optionalDependencies: + debug: 4.4.3(supports-color@10.2.2) - follow-redirects@1.15.11: {} + fontkit@2.0.4: + dependencies: + '@swc/helpers': 0.5.23 + brotli: 1.3.3 + clone: 2.1.2 + dfa: 1.2.0 + fast-deep-equal: 3.1.3 + restructure: 3.0.2 + tiny-inflate: 1.0.3 + unicode-properties: 1.4.1 + unicode-trie: 2.0.0 for-each@0.3.5: dependencies: @@ -17092,22 +13462,22 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@2.5.5: + form-data@2.5.6: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 + hasown: 2.0.4 mime-types: 2.1.35 safe-buffer: 5.2.1 optional: true - form-data@4.0.5: + form-data@4.0.6: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 + hasown: 2.0.4 mime-types: 2.1.35 formdata-node@4.4.1: @@ -17130,21 +13500,16 @@ snapshots: fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.2.0 + jsonfile: 6.2.1 universalify: 2.0.1 fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.1 universalify: 2.0.1 - fs-minipass@3.0.3: - dependencies: - minipass: 7.1.2 - optional: true - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -17152,14 +13517,17 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.8: + function.prototype.name@1.2.0: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 - define-properties: 1.2.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 functions-have-names: 1.2.3 - hasown: 2.0.2 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 is-callable: 1.2.7 + is-document.all: 1.0.0 functional-red-black-tree@1.0.1: optional: true @@ -17168,38 +13536,54 @@ snapshots: fuzzy@0.1.3: {} - gaxios@6.7.1(encoding@0.1.13): + gaxios@6.7.1(supports-color@10.2.2): dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6 + https-proxy-agent: 7.0.6(supports-color@10.2.2) is-stream: 2.0.1 - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 uuid: 9.0.1 transitivePeerDependencies: - encoding - supports-color - gaxios@7.1.3: + gaxios@7.1.3(supports-color@10.2.2): dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6 + https-proxy-agent: 7.0.6(supports-color@10.2.2) node-fetch: 3.3.2 rimraf: 5.0.10 transitivePeerDependencies: - supports-color - gcp-metadata@6.1.1(encoding@0.1.13): + gaxios@7.3.0(supports-color@10.2.2): + dependencies: + extend: 3.0.2 + https-proxy-agent: 7.0.6(supports-color@10.2.2) + node-fetch: 3.3.2 + transitivePeerDependencies: + - supports-color + + gcp-metadata@6.1.1(supports-color@10.2.2): dependencies: - gaxios: 6.7.1(encoding@0.1.13) + gaxios: 6.7.1(supports-color@10.2.2) google-logging-utils: 0.0.2 json-bigint: 1.0.0 transitivePeerDependencies: - encoding - supports-color - gcp-metadata@8.1.2: + gcp-metadata@8.1.2(supports-color@10.2.2): + dependencies: + gaxios: 7.3.0(supports-color@10.2.2) + google-logging-utils: 1.2.0 + json-bigint: 1.0.0 + transitivePeerDependencies: + - supports-color + + gcp-metadata@8.1.4(supports-color@10.2.2): dependencies: - gaxios: 7.1.3 + gaxios: 7.1.3(supports-color@10.2.2) google-logging-utils: 1.1.3 json-bigint: 1.0.0 transitivePeerDependencies: @@ -17211,19 +13595,19 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.6.0: {} get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.4 math-intrinsics: 1.1.0 get-package-type@0.1.0: {} @@ -17231,7 +13615,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-stream@6.0.1: {} @@ -17241,21 +13625,15 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-uri@6.0.5: + get-uri@6.0.5(supports-color@10.2.2): dependencies: - basic-ftp: 5.1.0 + basic-ftp: 5.3.1 data-uri-to-buffer: 6.0.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - git-hooks-list@4.1.1: {} - - git-raw-commits@4.0.0: - dependencies: - dargs: 8.1.0 - meow: 12.1.1 - split2: 4.2.0 + git-hooks-list@4.2.1: {} glob-parent@5.1.2: dependencies: @@ -17277,36 +13655,30 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 + minimatch: 9.0.9 + minipass: 7.1.3 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@13.0.2: - dependencies: - minimatch: 10.1.2 - minipass: 7.1.2 - path-scurry: 2.0.1 - - glob@13.0.3: + glob@13.0.6: dependencies: - minimatch: 10.2.0 - minipass: 7.1.2 - path-scurry: 2.0.1 - optional: true + minimatch: 10.2.6 + minipass: 7.1.3 + path-scurry: 2.0.2 glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 - global-directory@4.0.1: + global-directory@5.0.0: dependencies: - ini: 4.1.1 + ini: 6.0.0 + optional: true global-dirs@3.0.1: dependencies: @@ -17328,77 +13700,88 @@ snapshots: globals@14.0.0: {} - globals@16.3.0: {} + globals@17.10.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.2.0 - globby@15.0.0: + globby@16.2.3: dependencies: '@sindresorhus/merge-streams': 4.0.0 fast-glob: 3.3.3 - ignore: 7.0.5 - path-type: 6.0.0 + ignore: 7.0.6 + is-path-inside: 4.0.0 slash: 5.1.0 - unicorn-magic: 0.3.0 + unicorn-magic: 0.4.0 - google-auth-library@10.5.0: + google-auth-library@10.5.0(supports-color@10.2.2): + dependencies: + base64-js: 1.5.1 + ecdsa-sig-formatter: 1.0.11 + gaxios: 7.3.0(supports-color@10.2.2) + gcp-metadata: 8.1.4(supports-color@10.2.2) + google-logging-utils: 1.2.0 + gtoken: 8.0.0(supports-color@10.2.2) + jws: 4.0.1 + transitivePeerDependencies: + - supports-color + + google-auth-library@10.9.1(supports-color@10.2.2): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 - gaxios: 7.1.3 - gcp-metadata: 8.1.2 + gaxios: 7.3.0(supports-color@10.2.2) + gcp-metadata: 8.1.2(supports-color@10.2.2) google-logging-utils: 1.1.3 - gtoken: 8.0.0 jws: 4.0.1 transitivePeerDependencies: - supports-color - google-auth-library@9.15.1(encoding@0.1.13): + google-auth-library@9.15.1(supports-color@10.2.2): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 - gaxios: 6.7.1(encoding@0.1.13) - gcp-metadata: 6.1.1(encoding@0.1.13) - gtoken: 7.1.0(encoding@0.1.13) + gaxios: 6.7.1(supports-color@10.2.2) + gcp-metadata: 6.1.1(supports-color@10.2.2) + gtoken: 7.1.0(supports-color@10.2.2) jws: 4.0.1 transitivePeerDependencies: - encoding - supports-color - google-gax@4.6.1(encoding@0.1.13): + google-gax@4.6.1(supports-color@10.2.2): dependencies: - '@grpc/grpc-js': 1.14.3 + '@grpc/grpc-js': 1.14.4 '@grpc/proto-loader': 0.7.15 '@types/long': 4.0.2 abort-controller: 3.0.0 duplexify: 4.1.3 - google-auth-library: 9.15.1(encoding@0.1.13) - node-fetch: 2.7.0(encoding@0.1.13) + google-auth-library: 9.15.1(supports-color@10.2.2) + node-fetch: 2.7.0 object-hash: 3.0.0 proto3-json-serializer: 2.0.2 - protobufjs: 7.5.4 - retry-request: 7.0.2(encoding@0.1.13) + protobufjs: 7.6.5 + retry-request: 7.0.2(supports-color@10.2.2) uuid: 9.0.1 transitivePeerDependencies: - encoding - supports-color optional: true - google-gax@5.0.6: + google-gax@5.0.8(supports-color@10.2.2): dependencies: - '@grpc/grpc-js': 1.14.3 - '@grpc/proto-loader': 0.8.0 + '@grpc/grpc-js': 1.14.4 + '@grpc/proto-loader': 0.8.1 duplexify: 4.1.3 - google-auth-library: 10.5.0 + google-auth-library: 10.5.0(supports-color@10.2.2) google-logging-utils: 1.1.3 node-fetch: 3.3.2 object-hash: 3.0.0 proto3-json-serializer: 3.0.4 - protobufjs: 7.5.4 - retry-request: 8.0.2 + protobufjs: 7.6.5 + retry-request: 8.0.4(supports-color@10.2.2) rimraf: 5.0.10 transitivePeerDependencies: - supports-color @@ -17407,30 +13790,23 @@ snapshots: google-logging-utils@1.1.3: {} - googleapis-common@8.0.1: - dependencies: - extend: 3.0.2 - gaxios: 7.1.3 - google-auth-library: 10.5.0 - qs: 6.14.2 - url-template: 2.0.8 - transitivePeerDependencies: - - supports-color + google-logging-utils@1.2.0: {} - googleapis-common@8.0.2-rc.0: + googleapis-common@8.0.3(supports-color@10.2.2): dependencies: extend: 3.0.2 - gaxios: 7.1.3 - google-auth-library: 10.5.0 - qs: 6.14.2 + gaxios: 7.1.3(supports-color@10.2.2) + google-auth-library: 10.5.0(supports-color@10.2.2) + google-logging-utils: 1.1.3 + qs: 6.15.3 url-template: 2.0.8 transitivePeerDependencies: - supports-color - googleapis@168.0.0: + googleapis@174.0.1(supports-color@10.2.2): dependencies: - google-auth-library: 10.5.0 - googleapis-common: 8.0.1 + google-auth-library: 10.5.0(supports-color@10.2.2) + googleapis-common: 8.0.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -17440,19 +13816,17 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - - gtoken@7.1.0(encoding@0.1.13): + gtoken@7.1.0(supports-color@10.2.2): dependencies: - gaxios: 6.7.1(encoding@0.1.13) + gaxios: 6.7.1(supports-color@10.2.2) jws: 4.0.1 transitivePeerDependencies: - encoding - supports-color - gtoken@8.0.0: + gtoken@8.0.0(supports-color@10.2.2): dependencies: - gaxios: 7.1.3 + gaxios: 7.3.0(supports-color@10.2.2) jws: 4.0.1 transitivePeerDependencies: - supports-color @@ -17479,12 +13853,18 @@ snapshots: has-yarn@2.1.0: {} - hasown@2.0.2: + hasown@2.0.4: dependencies: function-bind: 1.1.2 heap-js@2.7.1: {} + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + highlight.js@10.7.3: {} hoist-non-react-statics@3.3.2: @@ -17495,7 +13875,7 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hono@4.11.9: {} + hono@4.13.1: {} hosted-git-info@7.0.2: dependencies: @@ -17506,9 +13886,6 @@ snapshots: html-escaper@2.0.2: {} - http-cache-semantics@4.2.0: - optional: true - http-errors@2.0.1: dependencies: depd: 2.0.0 @@ -17519,39 +13896,38 @@ snapshots: http-parser-js@0.5.10: {} - http-proxy-agent@5.0.0: + http-proxy-agent@5.0.0(supports-color@10.2.2): dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.4.3 + '@tootallnate/once': 2.0.1 + agent-base: 6.0.2(supports-color@10.2.2) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color + optional: true - http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - https-proxy-agent@5.0.1: + https-proxy-agent@5.0.1(supports-color@10.2.2): dependencies: - agent-base: 6.0.2 - debug: 4.4.3 + agent-base: 6.0.2(supports-color@10.2.2) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.6: + https-proxy-agent@7.0.6(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color human-signals@2.1.0: {} - husky@9.1.7: {} - iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -17560,7 +13936,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.7.1: + iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 @@ -17574,9 +13950,9 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.5: {} + ignore@7.0.6: {} - immer@11.0.1: {} + immer@11.1.16: {} import-fresh@3.3.1: dependencies: @@ -17590,16 +13966,12 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - import-meta-resolve@4.1.0: {} - imurmurhash@0.1.4: {} indent-string@4.0.0: {} index-to-position@1.2.0: {} - infer-owner@1.0.4: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -17611,17 +13983,18 @@ snapshots: ini@2.0.0: {} - ini@4.1.1: {} + ini@6.0.0: + optional: true - inquirer@8.2.5: + inquirer@8.2.7(@types/node@24.13.3): dependencies: + '@inquirer/external-editor': 1.0.3(@types/node@24.13.3) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 cli-width: 3.0.0 - external-editor: 3.1.0 figures: 3.2.0 - lodash: 4.17.23 + lodash: 4.18.1 mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 @@ -17629,37 +14002,30 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 - wrap-ansi: 7.0.0 + wrap-ansi: 6.2.0 + transitivePeerDependencies: + - '@types/node' - install-artifact-from-github@1.4.0: + install-artifact-from-github@1.7.0: optional: true - interactjs@1.10.27: + interactjs@1.10.28: dependencies: - '@interactjs/types': 1.10.27 + '@interactjs/types': 1.10.28 internal-slot@1.1.0: dependencies: es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 + hasown: 2.0.4 + side-channel: 1.1.1 internmap@1.0.1: {} internmap@2.0.3: {} - intl-messageformat@10.7.18: - dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/fast-memoize': 2.2.7 - '@formatjs/icu-messageformat-parser': 2.11.4 - tslib: 2.8.1 - - ip-address@10.0.1: {} - - ip-address@10.1.0: {} + ip-address@10.5.0: {} - ip-regex@4.3.0: {} + ip-regex@2.1.0: {} ipaddr.js@1.9.1: {} @@ -17670,7 +14036,7 @@ snapshots: is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 get-intrinsic: 1.3.0 @@ -17705,9 +14071,9 @@ snapshots: dependencies: ci-info: 2.0.0 - is-core-module@2.16.1: + is-core-module@2.16.2: dependencies: - hasown: 2.0.2 + hasown: 2.0.4 is-data-view@1.0.2: dependencies: @@ -17722,6 +14088,10 @@ snapshots: is-docker@3.0.0: {} + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 + is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: @@ -17730,10 +14100,6 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-fullwidth-code-point@5.1.0: - dependencies: - get-east-asian-width: 1.4.0 - is-generator-fn@2.1.0: {} is-generator-function@1.1.2: @@ -17770,16 +14136,14 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-number@2.1.0: - dependencies: - kind-of: 3.2.2 - is-number@7.0.0: {} is-obj@2.0.0: {} is-path-inside@3.0.3: {} + is-path-inside@4.0.0: {} + is-plain-obj@4.1.0: {} is-promise@4.0.0: {} @@ -17789,7 +14153,7 @@ snapshots: call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.4 is-set@2.0.3: {} @@ -17814,12 +14178,15 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 is-typedarray@1.0.0: {} is-unicode-supported@0.1.0: {} + is-unsafe@2.0.0: + optional: true + is-url@1.2.4: {} is-utf8@0.2.1: {} @@ -17839,16 +14206,16 @@ snapshots: is-wsl@1.1.0: {} - is-wsl@3.1.0: + is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 is-yarn-global@0.3.0: {} - is2@2.0.9: + is2@2.0.1: dependencies: deep-is: 0.1.4 - ip-regex: 4.3.0 + ip-regex: 2.1.0 is-url: 1.2.4 isarray@0.0.1: {} @@ -17859,25 +14226,25 @@ snapshots: isexe@2.0.0: {} - isexe@3.1.1: + isexe@4.0.0: optional: true - isomorphic-fetch@3.0.0(encoding@0.1.13): + isomorphic-fetch@3.0.0: dependencies: - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 whatwg-fetch: 3.6.20 transitivePeerDependencies: - encoding istanbul-lib-coverage@3.2.2: {} - istanbul-lib-instrument@6.0.3: + istanbul-lib-instrument@6.0.3(supports-color@10.2.2): dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.0 - '@istanbuljs/schema': 0.1.3 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/parser': 7.29.8 + '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.7.4 + semver: 7.8.5 transitivePeerDependencies: - supports-color @@ -17887,10 +14254,10 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: + istanbul-lib-source-maps@5.0.6(supports-color@10.2.2): dependencies: '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -17903,7 +14270,7 @@ snapshots: iterator.prototype@1.1.5: dependencies: define-data-property: 1.1.4 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 get-proto: 1.0.1 has-symbols: 1.1.0 @@ -17915,36 +14282,31 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.2.3: - dependencies: - '@isaacs/cliui': 9.0.0 - optional: true - - jest-changed-files@30.0.2: + jest-changed-files@30.4.1: dependencies: execa: 5.1.1 - jest-util: 30.0.2 + jest-util: 30.4.1 p-limit: 3.1.0 - jest-circus@30.0.4(babel-plugin-macros@3.1.0): + jest-circus@30.4.2(babel-plugin-macros@3.1.0)(supports-color@10.2.2): dependencies: - '@jest/environment': 30.0.4 - '@jest/expect': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/environment': 30.4.1 + '@jest/expect': 30.4.1(supports-color@10.2.2) + '@jest/test-result': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 chalk: 4.1.2 co: 4.6.0 - dedent: 1.7.1(babel-plugin-macros@3.1.0) + dedent: 1.7.2(babel-plugin-macros@3.1.0) is-generator-fn: 2.1.0 - jest-each: 30.0.2 - jest-matcher-utils: 30.0.4 - jest-message-util: 30.0.2 - jest-runtime: 30.0.4 - jest-snapshot: 30.0.4 - jest-util: 30.0.2 + jest-each: 30.4.1 + jest-matcher-utils: 30.4.1 + jest-message-util: 30.4.1 + jest-runtime: 30.4.2(supports-color@10.2.2) + jest-snapshot: 30.4.1(supports-color@10.2.2) + jest-util: 30.4.1 p-limit: 3.1.0 - pretty-format: 30.0.2 + pretty-format: 30.4.1 pure-rand: 7.0.1 slash: 3.0.0 stack-utils: 2.0.6 @@ -17952,18 +14314,18 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)): + jest-cli@30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2): dependencies: - '@jest/core': 30.0.4(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)) - '@jest/test-result': 30.0.4 - '@jest/types': 30.0.1 + '@jest/core': 30.4.2(babel-plugin-macros@3.1.0)(supports-color@10.2.2) + '@jest/test-result': 30.4.1 + '@jest/types': 30.4.1 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)) - jest-util: 30.0.2 - jest-validate: 30.0.2 - yargs: 17.7.2 + jest-config: 30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2) + jest-util: 30.4.1 + jest-validate: 30.4.1 + yargs: 17.7.3 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -17971,261 +14333,259 @@ snapshots: - supports-color - ts-node - jest-config@30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)): + jest-config@30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2): dependencies: - '@babel/core': 7.29.0 - '@jest/get-type': 30.0.1 - '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.0.4 - '@jest/types': 30.0.1 - babel-jest: 30.0.4(@babel/core@7.29.0) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@jest/get-type': 30.1.0 + '@jest/pattern': 30.4.0 + '@jest/test-sequencer': 30.4.1 + '@jest/types': 30.4.1 + babel-jest: 30.4.1(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) chalk: 4.1.2 ci-info: 4.4.0 deepmerge: 4.3.1 glob: 10.5.0 graceful-fs: 4.2.11 - jest-circus: 30.0.4(babel-plugin-macros@3.1.0) - jest-docblock: 30.0.1 - jest-environment-node: 30.0.4 - jest-regex-util: 30.0.1 - jest-resolve: 30.0.2 - jest-runner: 30.0.4 - jest-util: 30.0.2 - jest-validate: 30.0.2 - micromatch: 4.0.8 + jest-circus: 30.4.2(babel-plugin-macros@3.1.0)(supports-color@10.2.2) + jest-docblock: 30.4.0 + jest-environment-node: 30.4.1 + jest-regex-util: 30.4.0 + jest-resolve: 30.4.1 + jest-runner: 30.4.2(supports-color@10.2.2) + jest-util: 30.4.1 + jest-validate: 30.4.1 parse-json: 5.2.0 - pretty-format: 30.0.2 + pretty-format: 30.4.1 slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 25.0.3 - esbuild-register: 3.6.0(esbuild@0.27.2) - ts-node: 10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3) + '@types/node': 24.13.3 transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-diff@30.0.4: + jest-diff@30.4.1: dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.0.1 + '@jest/diff-sequences': 30.4.0 + '@jest/get-type': 30.1.0 chalk: 4.1.2 - pretty-format: 30.0.2 + pretty-format: 30.4.1 - jest-docblock@30.0.1: + jest-docblock@30.4.0: dependencies: detect-newline: 3.1.0 - jest-each@30.0.2: + jest-each@30.4.1: dependencies: - '@jest/get-type': 30.0.1 - '@jest/types': 30.0.1 + '@jest/get-type': 30.1.0 + '@jest/types': 30.4.1 chalk: 4.1.2 - jest-util: 30.0.2 - pretty-format: 30.0.2 + jest-util: 30.4.1 + pretty-format: 30.4.1 - jest-environment-node@30.0.4: + jest-environment-node@30.4.1: dependencies: - '@jest/environment': 30.0.4 - '@jest/fake-timers': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 - jest-mock: 30.0.2 - jest-util: 30.0.2 - jest-validate: 30.0.2 + '@jest/environment': 30.4.1 + '@jest/fake-timers': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 + jest-mock: 30.4.1 + jest-util: 30.4.1 + jest-validate: 30.4.1 - jest-haste-map@30.0.2: + jest-haste-map@30.4.1: dependencies: - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 30.0.1 - jest-util: 30.0.2 - jest-worker: 30.0.2 - micromatch: 4.0.8 + jest-regex-util: 30.4.0 + jest-util: 30.4.1 + jest-worker: 30.4.1 + picomatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - jest-leak-detector@30.0.2: + jest-leak-detector@30.4.1: dependencies: - '@jest/get-type': 30.0.1 - pretty-format: 30.0.2 + '@jest/get-type': 30.1.0 + pretty-format: 30.4.1 - jest-matcher-utils@30.0.4: + jest-matcher-utils@30.4.1: dependencies: - '@jest/get-type': 30.0.1 + '@jest/get-type': 30.1.0 chalk: 4.1.2 - jest-diff: 30.0.4 - pretty-format: 30.0.2 + jest-diff: 30.4.1 + pretty-format: 30.4.1 - jest-message-util@30.0.2: + jest-message-util@30.4.1: dependencies: - '@babel/code-frame': 7.29.0 - '@jest/types': 30.0.1 + '@babel/code-frame': 7.29.7 + '@jest/types': 30.4.1 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 30.0.2 + jest-util: 30.4.1 + picomatch: 4.0.5 + pretty-format: 30.4.1 slash: 3.0.0 stack-utils: 2.0.6 - jest-mock@30.0.2: + jest-mock@30.4.1: dependencies: - '@jest/types': 30.0.1 - '@types/node': 25.0.3 - jest-util: 30.0.2 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 + jest-util: 30.4.1 - jest-pnp-resolver@1.2.3(jest-resolve@30.0.2): + jest-pnp-resolver@1.2.3(jest-resolve@30.4.1): optionalDependencies: - jest-resolve: 30.0.2 + jest-resolve: 30.4.1 - jest-regex-util@30.0.1: {} + jest-regex-util@30.4.0: {} - jest-resolve-dependencies@30.0.4: + jest-resolve-dependencies@30.4.2(supports-color@10.2.2): dependencies: - jest-regex-util: 30.0.1 - jest-snapshot: 30.0.4 + jest-regex-util: 30.4.0 + jest-snapshot: 30.4.1(supports-color@10.2.2) transitivePeerDependencies: - supports-color - jest-resolve@30.0.2: + jest-resolve@30.4.1: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 - jest-pnp-resolver: 1.2.3(jest-resolve@30.0.2) - jest-util: 30.0.2 - jest-validate: 30.0.2 + jest-haste-map: 30.4.1 + jest-pnp-resolver: 1.2.3(jest-resolve@30.4.1) + jest-util: 30.4.1 + jest-validate: 30.4.1 slash: 3.0.0 - unrs-resolver: 1.11.1 + unrs-resolver: 1.12.2 - jest-runner@30.0.4: + jest-runner@30.4.2(supports-color@10.2.2): dependencies: - '@jest/console': 30.0.4 - '@jest/environment': 30.0.4 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/console': 30.4.1 + '@jest/environment': 30.4.1 + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1(supports-color@10.2.2) + '@jest/types': 30.4.1 + '@types/node': 24.13.3 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 graceful-fs: 4.2.11 - jest-docblock: 30.0.1 - jest-environment-node: 30.0.4 - jest-haste-map: 30.0.2 - jest-leak-detector: 30.0.2 - jest-message-util: 30.0.2 - jest-resolve: 30.0.2 - jest-runtime: 30.0.4 - jest-util: 30.0.2 - jest-watcher: 30.0.4 - jest-worker: 30.0.2 + jest-docblock: 30.4.0 + jest-environment-node: 30.4.1 + jest-haste-map: 30.4.1 + jest-leak-detector: 30.4.1 + jest-message-util: 30.4.1 + jest-resolve: 30.4.1 + jest-runtime: 30.4.2(supports-color@10.2.2) + jest-util: 30.4.1 + jest-watcher: 30.4.1 + jest-worker: 30.4.1 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - jest-runtime@30.0.4: + jest-runtime@30.4.2(supports-color@10.2.2): dependencies: - '@jest/environment': 30.0.4 - '@jest/fake-timers': 30.0.4 - '@jest/globals': 30.0.4 + '@jest/environment': 30.4.1 + '@jest/fake-timers': 30.4.1 + '@jest/globals': 30.4.1(supports-color@10.2.2) '@jest/source-map': 30.0.1 - '@jest/test-result': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/test-result': 30.4.1 + '@jest/transform': 30.4.1(supports-color@10.2.2) + '@jest/types': 30.4.1 + '@types/node': 24.13.3 chalk: 4.1.2 cjs-module-lexer: 2.2.0 collect-v8-coverage: 1.0.3 glob: 10.5.0 graceful-fs: 4.2.11 - jest-haste-map: 30.0.2 - jest-message-util: 30.0.2 - jest-mock: 30.0.2 - jest-regex-util: 30.0.1 - jest-resolve: 30.0.2 - jest-snapshot: 30.0.4 - jest-util: 30.0.2 + jest-haste-map: 30.4.1 + jest-message-util: 30.4.1 + jest-mock: 30.4.1 + jest-regex-util: 30.4.0 + jest-resolve: 30.4.1 + jest-snapshot: 30.4.1(supports-color@10.2.2) + jest-util: 30.4.1 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - jest-snapshot@30.0.4: - dependencies: - '@babel/core': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/types': 7.29.0 - '@jest/expect-utils': 30.0.4 - '@jest/get-type': 30.0.1 - '@jest/snapshot-utils': 30.0.4 - '@jest/transform': 30.0.4 - '@jest/types': 30.0.1 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) + jest-snapshot@30.4.1(supports-color@10.2.2): + dependencies: + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/generator': 7.29.8 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/types': 7.29.8 + '@jest/expect-utils': 30.4.1 + '@jest/get-type': 30.1.0 + '@jest/snapshot-utils': 30.4.1 + '@jest/transform': 30.4.1(supports-color@10.2.2) + '@jest/types': 30.4.1 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7(supports-color@10.2.2)) chalk: 4.1.2 - expect: 30.0.4 + expect: 30.4.1 graceful-fs: 4.2.11 - jest-diff: 30.0.4 - jest-matcher-utils: 30.0.4 - jest-message-util: 30.0.2 - jest-util: 30.0.2 - pretty-format: 30.0.2 - semver: 7.7.4 - synckit: 0.11.12 + jest-diff: 30.4.1 + jest-matcher-utils: 30.4.1 + jest-message-util: 30.4.1 + jest-util: 30.4.1 + pretty-format: 30.4.1 + semver: 7.8.5 + synckit: 0.11.13 transitivePeerDependencies: - supports-color - jest-util@30.0.2: + jest-util@30.4.1: dependencies: - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 - picomatch: 4.0.3 + picomatch: 4.0.5 - jest-validate@30.0.2: + jest-validate@30.4.1: dependencies: - '@jest/get-type': 30.0.1 - '@jest/types': 30.0.1 + '@jest/get-type': 30.1.0 + '@jest/types': 30.4.1 camelcase: 6.3.0 chalk: 4.1.2 leven: 3.1.0 - pretty-format: 30.0.2 + pretty-format: 30.4.1 - jest-watcher@30.0.4: + jest-watcher@30.4.1: dependencies: - '@jest/test-result': 30.0.4 - '@jest/types': 30.0.1 - '@types/node': 25.0.3 + '@jest/test-result': 30.4.1 + '@jest/types': 30.4.1 + '@types/node': 24.13.3 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 30.0.2 + jest-util: 30.4.1 string-length: 4.0.2 - jest-worker@30.0.2: + jest-worker@30.4.1: dependencies: - '@types/node': 25.0.3 - '@ungap/structured-clone': 1.3.0 - jest-util: 30.0.2 + '@types/node': 24.13.3 + '@ungap/structured-clone': 1.3.3 + jest-util: 30.4.1 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)): + jest@30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2): dependencies: - '@jest/core': 30.0.4(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)) - '@jest/types': 30.0.1 + '@jest/core': 30.4.2(babel-plugin-macros@3.1.0)(supports-color@10.2.2) + '@jest/types': 30.4.1 import-local: 3.2.0 - jest-cli: 30.0.4(@types/node@25.0.3)(babel-plugin-macros@3.1.0)(esbuild-register@3.6.0(esbuild@0.27.2))(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3)) + jest-cli: 30.4.2(@types/node@24.13.3)(babel-plugin-macros@3.1.0)(supports-color@10.2.2) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -18233,19 +14593,20 @@ snapshots: - supports-color - ts-node - jiti@2.4.2: {} + jiti@2.6.1: + optional: true - jiti@2.6.1: {} + jiti@2.7.0: {} jju@1.4.0: {} - joi@18.0.2: + joi@18.2.3: dependencies: '@hapi/address': 5.1.1 '@hapi/formula': 3.0.2 '@hapi/hoek': 11.0.7 '@hapi/pinpoint': 2.0.1 - '@hapi/tlds': 1.1.5 + '@hapi/tlds': 1.1.7 '@hapi/topo': 6.0.2 '@standard-schema/spec': 1.1.0 @@ -18257,20 +14618,20 @@ snapshots: jose@4.15.9: {} - jose@6.1.3: {} + jose@6.2.8: {} - jpeg-exif@1.1.4: {} + js-md5@0.8.3: {} js-tokens@10.0.0: {} js-tokens@4.0.0: {} - js-yaml@3.14.2: + js-yaml@3.15.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.1: + js-yaml@4.3.1: dependencies: argparse: 2.0.1 @@ -18304,13 +14665,9 @@ snapshots: json5@2.2.3: {} - jsonfile@6.1.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 + jsonc-parser@3.3.1: {} - jsonfile@6.2.0: + jsonfile@6.2.1: dependencies: universalify: 2.0.1 optionalDependencies: @@ -18327,7 +14684,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.3 + semver: 7.8.5 jsx-ast-utils@3.3.5: dependencies: @@ -18344,17 +14701,27 @@ snapshots: ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jwks-rsa@3.2.0: + jwks-rsa@3.2.2(supports-color@10.2.2): dependencies: - '@types/express': 4.17.25 '@types/jsonwebtoken': 9.0.10 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) jose: 4.15.9 limiter: 1.1.5 lru-memoizer: 2.3.0 transitivePeerDependencies: - supports-color + jwks-rsa@4.1.0(supports-color@10.2.2): + dependencies: + '@types/jsonwebtoken': 9.0.10 + debug: 4.4.3(supports-color@10.2.2) + jose: 6.2.8 + limiter: 1.1.5 + lru-cache: 11.5.2 + lru-memoizer: 3.0.0 + transitivePeerDependencies: + - supports-color + jws@4.0.1: dependencies: jwa: 2.0.1 @@ -18364,13 +14731,9 @@ snapshots: dependencies: json-buffer: 3.0.1 - kind-of@3.2.2: - dependencies: - is-buffer: 1.1.6 - kuler@2.0.0: {} - ky@1.14.3: {} + ky@2.0.2: {} language-subtag-registry@0.3.23: {} @@ -18395,97 +14758,132 @@ snapshots: libsodium@0.7.16: {} - lightningcss-android-arm64@1.30.2: + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-android-arm64@1.33.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.33.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.33.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.33.0: optional: true - lightningcss-darwin-arm64@1.30.2: + lightningcss-linux-arm-gnueabihf@1.32.0: optional: true - lightningcss-darwin-x64@1.30.2: + lightningcss-linux-arm-gnueabihf@1.33.0: optional: true - lightningcss-freebsd-x64@1.30.2: + lightningcss-linux-arm64-gnu@1.32.0: optional: true - lightningcss-linux-arm-gnueabihf@1.30.2: + lightningcss-linux-arm64-gnu@1.33.0: optional: true - lightningcss-linux-arm64-gnu@1.30.2: + lightningcss-linux-arm64-musl@1.32.0: optional: true - lightningcss-linux-arm64-musl@1.30.2: + lightningcss-linux-arm64-musl@1.33.0: optional: true - lightningcss-linux-x64-gnu@1.30.2: + lightningcss-linux-x64-gnu@1.32.0: optional: true - lightningcss-linux-x64-musl@1.30.2: + lightningcss-linux-x64-gnu@1.33.0: optional: true - lightningcss-win32-arm64-msvc@1.30.2: + lightningcss-linux-x64-musl@1.32.0: optional: true - lightningcss-win32-x64-msvc@1.30.2: + lightningcss-linux-x64-musl@1.33.0: optional: true - lightningcss@1.30.2: + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.33.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.33.0: + optional: true + + lightningcss@1.32.0: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.30.2 - lightningcss-darwin-arm64: 1.30.2 - lightningcss-darwin-x64: 1.30.2 - lightningcss-freebsd-x64: 1.30.2 - lightningcss-linux-arm-gnueabihf: 1.30.2 - lightningcss-linux-arm64-gnu: 1.30.2 - lightningcss-linux-arm64-musl: 1.30.2 - lightningcss-linux-x64-gnu: 1.30.2 - lightningcss-linux-x64-musl: 1.30.2 - lightningcss-win32-arm64-msvc: 1.30.2 - lightningcss-win32-x64-msvc: 1.30.2 + 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 + + lightningcss@1.33.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 limiter@1.1.5: {} - lines-and-columns@1.2.4: {} - - lint-staged@16.2.7: + linebreak@1.1.0: dependencies: - commander: 14.0.2 - listr2: 9.0.5 - micromatch: 4.0.8 - nano-spawn: 2.0.0 - pidtree: 0.6.0 - string-argv: 0.3.2 - yaml: 2.8.2 + base64-js: 0.0.8 + unicode-trie: 2.0.0 - listr2@9.0.5: - dependencies: - cli-truncate: 5.1.1 - colorette: 2.0.20 - eventemitter3: 5.0.1 - log-update: 6.1.0 - rfdc: 1.4.1 - wrap-ansi: 9.0.2 + lines-and-columns@1.2.4: {} lit-element@4.2.2: dependencies: - '@lit-labs/ssr-dom-shim': 1.5.0 + '@lit-labs/ssr-dom-shim': 1.6.0 '@lit/reactive-element': 2.1.2 - lit-html: 3.3.2 + lit-html: 3.3.3 - lit-html@3.3.2: + lit-html@3.3.3: dependencies: '@types/trusted-types': 2.0.7 - lit@3.3.2: + lit@3.3.3: dependencies: '@lit/reactive-element': 2.1.2 lit-element: 4.2.2 - lit-html: 3.3.2 + lit-html: 3.3.3 - little-state-machine@4.8.1(react@19.2.4): + little-state-machine@4.8.1(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 locate-path@5.0.0: dependencies: @@ -18495,7 +14893,7 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash-es@4.17.23: {} + lodash-es@4.18.1: {} lodash._objecttypes@2.4.1: {} @@ -18519,42 +14917,21 @@ snapshots: lodash.isstring@4.0.1: {} - lodash.kebabcase@4.1.1: {} - lodash.map@4.6.0: {} - lodash.mapvalues@4.6.0: {} - lodash.merge@4.6.2: {} - lodash.mergewith@4.6.2: {} - lodash.once@4.1.1: {} lodash.snakecase@4.1.1: {} - lodash.startcase@4.4.0: {} - - lodash.uniq@4.5.0: - optional: true - - lodash.upperfirst@4.3.1: {} - - lodash@4.17.23: {} + lodash@4.18.1: {} log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - log-update@6.1.0: - dependencies: - ansi-escapes: 7.2.0 - cli-cursor: 5.0.0 - slice-ansi: 7.1.2 - strip-ansi: 7.1.2 - wrap-ansi: 9.0.2 - logform@2.7.0: dependencies: '@colors/colors': 1.6.0 @@ -18572,13 +14949,11 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.4: {} - loupe@3.2.1: {} lru-cache@10.4.3: {} - lru-cache@11.2.4: {} + lru-cache@11.5.2: {} lru-cache@5.1.1: dependencies: @@ -18595,14 +14970,16 @@ snapshots: lodash.clonedeep: 4.5.0 lru-cache: 6.0.0 - lsofi@1.0.0: + lru-memoizer@3.0.0: dependencies: - is-number: 2.1.0 - through2: 2.0.5 + lodash.clonedeep: 4.5.0 + lru-cache: 11.5.2 + + lsofi@2.0.0: {} - lucide-react@0.562.0(react@19.2.4): + lucide-react@1.31.0(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 luxon@3.7.2: {} @@ -18612,10 +14989,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.2: + magicast@0.5.4: dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 source-map-js: 1.2.1 make-dir@3.1.0: @@ -18624,26 +15001,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.3 - - make-error@1.3.6: {} - - make-fetch-happen@15.0.3: - dependencies: - '@npmcli/agent': 4.0.0 - cacache: 20.0.3 - http-cache-semantics: 4.2.0 - minipass: 7.1.2 - minipass-fetch: 5.0.0 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 1.0.0 - proc-log: 6.1.0 - promise-retry: 2.0.1 - ssri: 13.0.0 - transitivePeerDependencies: - - supports-color - optional: true + semver: 7.8.5 makeerror@1.0.12: dependencies: @@ -18653,7 +15011,7 @@ snapshots: marked-terminal@7.3.0(marked@13.0.3): dependencies: - ansi-escapes: 7.2.0 + ansi-escapes: 7.3.0 ansi-regex: 6.2.2 chalk: 5.6.2 cli-highlight: 2.1.11 @@ -18664,7 +15022,7 @@ snapshots: marked@13.0.3: {} - marked@16.3.0: {} + marked@18.0.9: {} markerjs2@2.32.7: {} @@ -18680,11 +15038,9 @@ snapshots: media-typer@0.3.0: {} - media-typer@1.1.0: {} - - meow@12.1.1: {} + media-typer@1.1.1: {} - meow@13.2.0: {} + meow@14.1.0: {} merge-descriptors@1.0.3: {} @@ -18701,7 +15057,7 @@ snapshots: micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 mime-db@1.52.0: {} @@ -18724,90 +15080,46 @@ snapshots: mimic-fn@2.1.0: {} - mimic-function@5.0.1: {} - min-indent@1.0.1: {} - minimatch@10.1.2: - dependencies: - '@isaacs/brace-expansion': 5.0.1 - - minimatch@10.2.0: + minimatch@10.2.6: dependencies: - brace-expansion: 5.0.2 - optional: true + brace-expansion: 5.0.9 - minimatch@3.1.2: + minimatch@3.1.5: dependencies: - brace-expansion: 1.1.12 + brace-expansion: 1.1.18 - minimatch@5.1.6: + minimatch@5.1.9: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 2.1.4 - minimatch@6.2.0: + minimatch@6.2.3: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 2.1.4 - minimatch@9.0.5: + minimatch@9.0.9: dependencies: - brace-expansion: 2.0.2 - - minimist@1.2.7: {} + brace-expansion: 2.1.4 minimist@1.2.8: {} - minipass-collect@2.0.1: - dependencies: - minipass: 7.1.2 - optional: true - - minipass-fetch@5.0.0: - dependencies: - minipass: 7.1.2 - minipass-sized: 1.0.3 - minizlib: 3.1.0 - optionalDependencies: - encoding: 0.1.13 - optional: true - - minipass-flush@1.0.5: - dependencies: - minipass: 3.3.6 - optional: true - - minipass-pipeline@1.2.4: - dependencies: - minipass: 3.3.6 - optional: true - - minipass-sized@1.0.3: - dependencies: - minipass: 3.3.6 - optional: true - - minipass@3.3.6: - dependencies: - yallist: 4.0.0 - optional: true - - minipass@7.1.2: {} + minipass@7.1.3: {} minizlib@3.1.0: dependencies: - minipass: 7.1.2 - optional: true + minipass: 7.1.3 mitt@3.0.1: {} - moo@0.5.2: {} + moo@0.5.3: {} - morgan@1.10.1: + morgan@1.11.0(supports-color@10.2.2): dependencies: basic-auth: 2.0.1 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 - on-finished: 2.3.0 + on-finished: 2.4.1 on-headers: 1.1.0 transitivePeerDependencies: - supports-color @@ -18830,23 +15142,21 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nan@2.24.0: + nan@2.28.0: optional: true - nano-spawn@2.0.0: {} - - nanoid@3.3.11: {} + nanoid@3.3.18: {} napi-postinstall@0.3.4: {} - natural-compare-lite@1.4.0: {} - natural-compare@1.4.0: {} + natural-orderby@5.0.0: {} + nearley@2.20.1: dependencies: commander: 2.20.3 - moo: 0.5.2 + moo: 0.5.3 railroad-diagrams: 1.0.0 randexp: 0.4.6 @@ -18856,7 +15166,7 @@ snapshots: negotiator@1.0.0: {} - netmask@2.0.2: {} + netmask@2.1.1: {} node-domexception@1.0.0: {} @@ -18867,11 +15177,16 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-fetch@2.7.0(encoding@0.1.13): + node-exports-info@1.6.2: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 node-fetch@3.3.2: dependencies: @@ -18879,67 +15194,43 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - node-forge@1.3.3: {} - - node-gyp@12.1.0: + node-gyp@13.0.1: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.3 graceful-fs: 4.2.11 - make-fetch-happen: 15.0.3 - nopt: 9.0.0 - proc-log: 6.1.0 - semver: 7.7.3 - tar: 7.5.7 - tinyglobby: 0.2.15 - which: 6.0.0 - transitivePeerDependencies: - - supports-color + nopt: 10.0.1 + proc-log: 7.0.0 + semver: 7.8.5 + tar: 7.5.22 + tinyglobby: 0.2.17 + undici: 8.10.0 + which: 7.0.0 optional: true node-int64@0.4.0: {} - node-releases@2.0.27: {} + node-releases@2.0.53: {} - nopt@9.0.0: + nopt@10.0.1: dependencies: - abbrev: 4.0.0 + abbrev: 5.0.0 optional: true normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.3 + semver: 7.8.5 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} - npm-install-checks@6.3.0: - dependencies: - semver: 7.7.3 - - npm-normalize-package-bin@3.0.1: {} - - npm-package-arg@11.0.3: - dependencies: - hosted-git-info: 7.0.2 - proc-log: 4.2.0 - semver: 7.7.3 - validate-npm-package-name: 5.0.1 - - npm-pick-manifest@9.1.0: - dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.3 - semver: 7.7.3 - npm-run-all@1.4.0: dependencies: babel-polyfill: 6.26.0 - minimatch: 3.1.2 + minimatch: 3.1.5 ps-tree: 1.2.0 - shell-quote: 1.8.3 + shell-quote: 1.10.0 which: 1.3.1 npm-run-path@4.0.1: @@ -18952,50 +15243,45 @@ snapshots: object-inspect@1.13.4: {} - object-is@1.1.6: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - object-keys@1.1.1: {} object.assign@4.1.7: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-symbols: 1.1.0 object-keys: 1.1.1 object.entries@1.1.9: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 object.fromentries@2.0.8: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 object.groupby@1.0.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 object.values@1.2.1: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 - obug@2.1.1: {} + obug@2.1.4: {} on-finished@2.3.0: dependencies: @@ -19019,10 +15305,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 - open@10.2.0: dependencies: default-browser: 5.5.0 @@ -19036,7 +15318,7 @@ snapshots: openapi3-ts@3.2.0: dependencies: - yaml: 2.8.2 + yaml: 2.9.0 optionator@0.9.4: dependencies: @@ -19059,12 +15341,60 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - own-keys@1.0.1: + own-keys@1.0.2: dependencies: + call-bound: 1.0.4 get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 + oxc-parser@0.127.0: + dependencies: + '@oxc-project/types': 0.127.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.127.0 + '@oxc-parser/binding-android-arm64': 0.127.0 + '@oxc-parser/binding-darwin-arm64': 0.127.0 + '@oxc-parser/binding-darwin-x64': 0.127.0 + '@oxc-parser/binding-freebsd-x64': 0.127.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.127.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.127.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.127.0 + '@oxc-parser/binding-linux-arm64-musl': 0.127.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.127.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.127.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.127.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.127.0 + '@oxc-parser/binding-linux-x64-gnu': 0.127.0 + '@oxc-parser/binding-linux-x64-musl': 0.127.0 + '@oxc-parser/binding-openharmony-arm64': 0.127.0 + '@oxc-parser/binding-wasm32-wasi': 0.127.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.127.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.127.0 + '@oxc-parser/binding-win32-x64-msvc': 0.127.0 + + oxc-resolver@11.24.2: + optionalDependencies: + '@oxc-resolver/binding-android-arm-eabi': 11.24.2 + '@oxc-resolver/binding-android-arm64': 11.24.2 + '@oxc-resolver/binding-darwin-arm64': 11.24.2 + '@oxc-resolver/binding-darwin-x64': 11.24.2 + '@oxc-resolver/binding-freebsd-x64': 11.24.2 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.24.2 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.24.2 + '@oxc-resolver/binding-linux-arm64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-arm64-musl': 11.24.2 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-riscv64-musl': 11.24.2 + '@oxc-resolver/binding-linux-s390x-gnu': 11.24.2 + '@oxc-resolver/binding-linux-x64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-x64-musl': 11.24.2 + '@oxc-resolver/binding-openharmony-arm64': 11.24.2 + '@oxc-resolver/binding-wasm32-wasi': 11.24.2 + '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2 + '@oxc-resolver/binding-win32-x64-msvc': 11.24.2 + p-defer@3.0.0: {} p-event@6.0.1: @@ -19073,7 +15403,7 @@ snapshots: p-filter@4.1.0: dependencies: - p-map: 7.0.4 + p-map: 7.0.6 p-limit@2.3.0: dependencies: @@ -19091,31 +15421,31 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@7.0.4: {} + p-map@7.0.6: {} - p-throttle@7.0.0: {} + p-throttle@8.1.0: {} p-timeout@6.1.4: {} p-try@2.2.0: {} - pac-proxy-agent@7.2.0: + pac-proxy-agent@7.2.0(supports-color@10.2.2): dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.3 - get-uri: 6.0.5 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + debug: 4.4.3(supports-color@10.2.2) + get-uri: 6.0.5(supports-color@10.2.2) + http-proxy-agent: 7.0.2(supports-color@10.2.2) + https-proxy-agent: 7.0.6(supports-color@10.2.2) pac-resolver: 7.0.1 - socks-proxy-agent: 8.0.5 + socks-proxy-agent: 8.0.5(supports-color@10.2.2) transitivePeerDependencies: - supports-color pac-resolver@7.0.1: dependencies: degenerator: 5.0.1 - netmask: 2.0.2 + netmask: 2.1.1 package-json-from-dist@1.0.1: {} @@ -19129,14 +15459,14 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.27.1 - error-ex: 1.3.2 + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 parse-json@8.3.0: dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.7 index-to-position: 1.2.0 type-fest: 4.41.0 @@ -19154,6 +15484,9 @@ snapshots: path-exists@4.0.0: {} + path-expression-matcher@1.6.2: + optional: true + path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -19163,25 +15496,23 @@ snapshots: path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 - minipass: 7.1.2 + minipass: 7.1.3 - path-scurry@2.0.1: + path-scurry@2.0.2: dependencies: - lru-cache: 11.2.4 - minipass: 7.1.2 + lru-cache: 11.5.2 + minipass: 7.1.3 - path-to-regexp@0.1.12: {} + path-to-regexp@0.1.13: {} path-to-regexp@1.9.0: dependencies: isarray: 0.0.1 - path-to-regexp@8.3.0: {} + path-to-regexp@8.4.2: {} path-type@4.0.0: {} - path-type@6.0.0: {} - pathe@2.0.3: {} pathval@2.0.1: {} @@ -19197,27 +15528,35 @@ snapshots: pako: 1.0.11 tslib: 1.14.1 - pdfmake@0.2.21: + pdfkit@0.19.1: + dependencies: + '@noble/ciphers': 1.3.0 + '@noble/hashes': 1.8.0 + fontkit: 2.0.4 + js-md5: 0.8.3 + linebreak: 1.1.0 + png-js: 1.1.0 + + pdfmake@0.3.11: dependencies: - '@foliojs-fork/linebreak': 1.1.2 - '@foliojs-fork/pdfkit': 0.15.3 - iconv-lite: 0.7.1 + linebreak: 1.1.0 + pdfkit: 0.19.1 xmldoc: 2.0.3 - pg-cloudflare@1.2.7: + pg-cloudflare@1.4.0: optional: true - pg-connection-string@2.9.1: {} + pg-connection-string@2.14.0: {} pg-gateway@0.3.0-beta.4: {} pg-int8@1.0.1: {} - pg-pool@3.10.1(pg@8.16.3): + pg-pool@3.14.0(pg@8.23.0): dependencies: - pg: 8.16.3 + pg: 8.23.0 - pg-protocol@1.10.3: {} + pg-protocol@1.16.0: {} pg-types@2.2.0: dependencies: @@ -19227,15 +15566,15 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - pg@8.16.3: + pg@8.23.0: dependencies: - pg-connection-string: 2.9.1 - pg-pool: 3.10.1(pg@8.16.3) - pg-protocol: 1.10.3 + pg-connection-string: 2.14.0 + pg-pool: 3.14.0(pg@8.23.0) + pg-protocol: 1.16.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: - pg-cloudflare: 1.2.7 + pg-cloudflare: 1.4.0 pgpass@1.0.5: dependencies: @@ -19243,11 +15582,9 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.1: {} - - picomatch@4.0.3: {} + picomatch@2.3.2: {} - pidtree@0.6.0: {} + picomatch@4.0.5: {} pirates@4.0.7: {} @@ -19257,24 +15594,26 @@ snapshots: dependencies: find-up: 4.1.0 - png-js@1.0.0: {} + png-js@1.1.0: + dependencies: + browserify-zlib: 0.2.0 polylabel@1.1.0: dependencies: tinyqueue: 2.0.3 - portfinder@1.0.38: + portfinder@1.0.38(supports-color@10.2.2): dependencies: async: 3.2.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color possible-typed-array-names@1.1.0: {} - postcss@8.5.6: + postcss@8.5.26: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.18 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -19290,24 +15629,24 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.8.3): + prettier-plugin-organize-imports@4.3.0(prettier@3.9.6)(typescript@6.0.3): dependencies: - prettier: 3.8.1 - typescript: 5.8.3 + prettier: 3.9.6 + typescript: 6.0.3 - prettier-plugin-packagejson@3.0.0(prettier@3.8.1): + prettier-plugin-packagejson@3.0.2(prettier@3.9.6): dependencies: - sort-package-json: 3.6.0 + sort-package-json: 3.7.1 optionalDependencies: - prettier: 3.8.1 + prettier: 3.9.6 - prettier-plugin-tailwindcss@0.7.2(prettier-plugin-organize-imports@4.3.0(prettier@3.8.1)(typescript@5.8.3))(prettier@3.8.1): + prettier-plugin-tailwindcss@0.8.1(prettier-plugin-organize-imports@4.3.0(prettier@3.9.6)(typescript@6.0.3))(prettier@3.9.6): dependencies: - prettier: 3.8.1 + prettier: 3.9.6 optionalDependencies: - prettier-plugin-organize-imports: 4.3.0(prettier@3.8.1)(typescript@5.8.3) + prettier-plugin-organize-imports: 4.3.0(prettier@3.9.6)(typescript@6.0.3) - prettier@3.8.1: {} + prettier@3.9.6: {} pretty-format@27.5.1: dependencies: @@ -19315,15 +15654,14 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - pretty-format@30.0.2: + pretty-format@30.4.1: dependencies: - '@jest/schemas': 30.0.1 + '@jest/schemas': 30.4.1 ansi-styles: 5.2.0 - react-is: 18.3.1 + react-is-18: react-is@18.3.1 + react-is-19: react-is@19.2.8 - proc-log@4.2.0: {} - - proc-log@6.1.0: + proc-log@7.0.0: optional: true process-nextick-args@2.0.1: {} @@ -19334,12 +15672,6 @@ snapshots: promise-breaker@6.0.0: {} - promise-retry@2.0.1: - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - optional: true - prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -19352,26 +15684,25 @@ snapshots: proto3-json-serializer@2.0.2: dependencies: - protobufjs: 7.5.4 + protobufjs: 7.6.5 optional: true proto3-json-serializer@3.0.4: dependencies: - protobufjs: 7.5.4 + protobufjs: 7.6.5 - protobufjs@7.5.4: + protobufjs@7.6.5: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 + '@protobufjs/codegen': 2.0.5 + '@protobufjs/eventemitter': 1.1.1 + '@protobufjs/fetch': 1.1.1 '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 25.0.3 + '@protobufjs/utf8': 1.1.2 + '@types/node': 24.13.3 long: 5.3.2 proxy-addr@2.0.7: @@ -19379,21 +15710,23 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - proxy-agent@6.5.0: + proxy-agent@6.5.0(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + debug: 4.4.3(supports-color@10.2.2) + http-proxy-agent: 7.0.2(supports-color@10.2.2) + https-proxy-agent: 7.0.6(supports-color@10.2.2) lru-cache: 7.18.3 - pac-proxy-agent: 7.2.0 + pac-proxy-agent: 7.2.0(supports-color@10.2.2) proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.5 + socks-proxy-agent: 8.0.5(supports-color@10.2.2) transitivePeerDependencies: - supports-color proxy-from-env@1.1.0: {} + proxy-from-env@2.1.0: {} + ps-tree@1.2.0: dependencies: event-stream: 3.3.4 @@ -19406,13 +15739,10 @@ snapshots: pure-rand@7.0.1: {} - qs@6.14.1: + qs@6.15.3: dependencies: - side-channel: 1.1.0 - - qs@6.14.2: - dependencies: - side-channel: 1.1.0 + es-define-property: 1.0.1 + side-channel: 1.1.1 queue-microtask@1.2.3: {} @@ -19425,6 +15755,8 @@ snapshots: range-parser@1.2.1: {} + range-parser@1.3.0: {} + raw-body@2.5.3: dependencies: bytes: 3.1.2 @@ -19436,7 +15768,7 @@ snapshots: dependencies: bytes: 3.1.2 http-errors: 2.0.1 - iconv-lite: 0.7.1 + iconv-lite: 0.7.3 unpipe: 1.0.0 rc@1.2.8: @@ -19446,138 +15778,83 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - re2@1.23.0: + re2@1.26.1: dependencies: - install-artifact-from-github: 1.4.0 - nan: 2.24.0 - node-gyp: 12.1.0 - transitivePeerDependencies: - - supports-color + install-artifact-from-github: 1.7.0 + nan: 2.28.0 + node-gyp: 13.0.1 optional: true - react-aria-components@1.14.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - '@internationalized/date': 3.10.1 - '@internationalized/string': 3.2.7 - '@react-aria/autocomplete': 3.0.0-rc.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/collections': 3.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/dnd': 3.11.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/overlays': 3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/toolbar': 3.0.0-beta.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/virtualizer': 4.1.11(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/autocomplete': 3.0.0-beta.4(react@19.2.4) - '@react-stately/layout': 4.5.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/table': 3.15.2(react@19.2.4) - '@react-stately/utils': 3.11.0(react@19.2.4) - '@react-stately/virtualizer': 4.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/form': 3.7.16(react@19.2.4) - '@react-types/grid': 3.3.6(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - '@react-types/table': 3.13.4(react@19.2.4) - '@swc/helpers': 0.5.18 + re2js@2.8.6: {} + + react-aria-components@1.20.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + dependencies: + '@internationalized/date': 3.12.3 + '@internationalized/string': 3.2.10 + '@react-types/shared': 3.36.1(react@19.2.8) + '@swc/helpers': 0.5.23 client-only: 0.0.1 - react: 19.2.4 - react-aria: 3.45.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react-dom: 19.2.4(react@19.2.4) - react-stately: 3.43.0(react@19.2.4) - use-sync-external-store: 1.6.0(react@19.2.4) - - react-aria@3.45.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - '@internationalized/string': 3.2.7 - '@react-aria/breadcrumbs': 3.5.30(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/button': 3.14.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/calendar': 3.9.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/checkbox': 3.16.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/color': 3.1.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/combobox': 3.14.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/datepicker': 3.15.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/dialog': 3.5.32(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/disclosure': 3.1.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/dnd': 3.11.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/focus': 3.21.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/gridlist': 3.14.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/i18n': 3.12.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/interactions': 3.26.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/label': 3.7.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/landmark': 3.0.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/link': 3.8.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/listbox': 3.15.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/menu': 3.19.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/meter': 3.4.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/numberfield': 3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/overlays': 3.31.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/progress': 3.4.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/radio': 3.12.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/searchfield': 3.8.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/select': 3.17.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/selection': 3.27.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/separator': 3.4.14(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/slider': 3.8.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/ssr': 3.9.10(react@19.2.4) - '@react-aria/switch': 3.7.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/table': 3.17.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/tabs': 3.10.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/tag': 3.7.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/textfield': 3.18.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/toast': 3.0.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/tooltip': 3.9.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/tree': 3.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/utils': 3.32.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-aria/visually-hidden': 3.8.29(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - react-color@2.19.3(react@19.2.4): - dependencies: - '@icons/material': 0.2.4(react@19.2.4) - lodash: 4.17.23 - lodash-es: 4.17.23 + react: 19.2.8 + react-aria: 3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react-dom: 19.2.8(react@19.2.8) + react-stately: 3.49.0(react@19.2.8) + + react-aria@3.51.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + dependencies: + '@internationalized/date': 3.12.3 + '@internationalized/number': 3.6.7 + '@internationalized/string': 3.2.10 + '@react-types/shared': 3.36.1(react@19.2.8) + '@swc/helpers': 0.5.23 + aria-hidden: 1.2.6 + clsx: 2.1.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-stately: 3.49.0(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) + + react-color@2.19.3(react@19.2.8): + dependencies: + '@icons/material': 0.2.4(react@19.2.8) + lodash: 4.18.1 + lodash-es: 4.18.1 material-colors: 1.2.6 prop-types: 15.8.1 - react: 19.2.4 - reactcss: 1.2.3(react@19.2.4) + react: 19.2.8 + reactcss: 1.2.3(react@19.2.8) tinycolor2: 1.6.0 - react-docgen-typescript@2.4.0(typescript@5.8.3): + react-docgen-typescript@2.4.0(typescript@6.0.3): dependencies: - typescript: 5.8.3 + typescript: 6.0.3 - react-docgen@8.0.2: + react-docgen@8.0.3(supports-color@10.2.2): dependencies: - '@babel/core': 7.28.5 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/traverse': 7.29.8(supports-color@10.2.2) + '@babel/types': 7.29.8 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 - resolve: 1.22.11 + resolve: 1.22.12 strip-indent: 4.1.1 transitivePeerDependencies: - supports-color - react-dom@19.2.4(react@19.2.4): + react-dom@19.2.8(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 scheduler: 0.27.0 - react-error-boundary@6.1.0(react@19.2.4): + react-error-boundary@6.1.2(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 - react-hook-form@7.71.1(react@19.2.4): + react-hook-form@7.85.0(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 react-is@16.13.1: {} @@ -19585,76 +15862,28 @@ snapshots: react-is@18.3.1: {} - react-simple-animate@3.5.3(react-dom@19.2.4(react@19.2.4)): - dependencies: - react-dom: 19.2.4(react@19.2.4) - - react-stately@3.42.0(react@19.2.4): - dependencies: - '@react-stately/calendar': 3.9.1(react@19.2.4) - '@react-stately/checkbox': 3.7.3(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/color': 3.9.3(react@19.2.4) - '@react-stately/combobox': 3.12.1(react@19.2.4) - '@react-stately/data': 3.15.0(react@19.2.4) - '@react-stately/datepicker': 3.15.3(react@19.2.4) - '@react-stately/disclosure': 3.0.9(react@19.2.4) - '@react-stately/dnd': 3.7.2(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-stately/menu': 3.9.9(react@19.2.4) - '@react-stately/numberfield': 3.10.3(react@19.2.4) - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-stately/radio': 3.11.3(react@19.2.4) - '@react-stately/searchfield': 3.5.17(react@19.2.4) - '@react-stately/select': 3.9.0(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/slider': 3.7.3(react@19.2.4) - '@react-stately/table': 3.15.2(react@19.2.4) - '@react-stately/tabs': 3.8.7(react@19.2.4) - '@react-stately/toast': 3.1.2(react@19.2.4) - '@react-stately/toggle': 3.9.3(react@19.2.4) - '@react-stately/tooltip': 3.5.9(react@19.2.4) - '@react-stately/tree': 3.9.4(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 - - react-stately@3.43.0(react@19.2.4): - dependencies: - '@react-stately/calendar': 3.9.1(react@19.2.4) - '@react-stately/checkbox': 3.7.3(react@19.2.4) - '@react-stately/collections': 3.12.8(react@19.2.4) - '@react-stately/color': 3.9.3(react@19.2.4) - '@react-stately/combobox': 3.12.1(react@19.2.4) - '@react-stately/data': 3.15.0(react@19.2.4) - '@react-stately/datepicker': 3.15.3(react@19.2.4) - '@react-stately/disclosure': 3.0.9(react@19.2.4) - '@react-stately/dnd': 3.7.2(react@19.2.4) - '@react-stately/form': 3.2.2(react@19.2.4) - '@react-stately/list': 3.13.2(react@19.2.4) - '@react-stately/menu': 3.9.9(react@19.2.4) - '@react-stately/numberfield': 3.10.3(react@19.2.4) - '@react-stately/overlays': 3.6.21(react@19.2.4) - '@react-stately/radio': 3.11.3(react@19.2.4) - '@react-stately/searchfield': 3.5.17(react@19.2.4) - '@react-stately/select': 3.9.0(react@19.2.4) - '@react-stately/selection': 3.20.7(react@19.2.4) - '@react-stately/slider': 3.7.3(react@19.2.4) - '@react-stately/table': 3.15.2(react@19.2.4) - '@react-stately/tabs': 3.8.7(react@19.2.4) - '@react-stately/toast': 3.1.2(react@19.2.4) - '@react-stately/toggle': 3.9.3(react@19.2.4) - '@react-stately/tooltip': 3.5.9(react@19.2.4) - '@react-stately/tree': 3.9.4(react@19.2.4) - '@react-types/shared': 3.32.1(react@19.2.4) - react: 19.2.4 - - react@19.2.4: {} - - reactcss@1.2.3(react@19.2.4): - dependencies: - lodash: 4.17.23 - react: 19.2.4 + react-is@19.2.8: {} + + react-simple-animate@3.5.3(react-dom@19.2.8(react@19.2.8)): + dependencies: + react-dom: 19.2.8(react@19.2.8) + + react-stately@3.49.0(react@19.2.8): + dependencies: + '@internationalized/date': 3.12.3 + '@internationalized/number': 3.6.7 + '@internationalized/string': 3.2.10 + '@react-types/shared': 3.36.1(react@19.2.8) + '@swc/helpers': 0.5.23 + react: 19.2.8 + use-sync-external-store: 1.6.0(react@19.2.8) + + react@19.2.8: {} + + reactcss@1.2.3(react@19.2.8): + dependencies: + lodash: 4.18.1 + react: 19.2.8 read-package-up@11.0.0: dependencies: @@ -19696,13 +15925,13 @@ snapshots: readdir-glob@1.1.3: dependencies: - minimatch: 5.1.6 + minimatch: 5.1.9 readdirp@3.6.0: dependencies: - picomatch: 2.3.1 + picomatch: 2.3.2 - recast@0.23.11: + recast@0.23.21: dependencies: ast-types: 0.16.1 esprima: 4.0.1 @@ -19717,11 +15946,11 @@ snapshots: reflect.getprototypeof@1.0.10: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -19732,16 +15961,16 @@ snapshots: regexp.prototype.flags@1.5.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 es-errors: 1.3.0 get-proto: 1.0.1 gopd: 1.2.0 set-function-name: 2.0.2 - registry-auth-token@5.1.0: + registry-auth-token@5.1.1: dependencies: - '@pnpm/npm-conf': 2.3.1 + '@pnpm/npm-conf': 3.0.3 registry-url@5.1.0: dependencies: @@ -19764,15 +15993,19 @@ snapshots: resolve-from@5.0.0: {} - resolve@1.22.11: + resolve@1.22.12: dependencies: - is-core-module: 2.16.1 + es-errors: 1.3.0 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: + resolve@2.0.0-next.7: dependencies: - is-core-module: 2.16.1 + es-errors: 1.3.0 + is-core-module: 2.16.2 + node-exports-info: 1.6.2 + object-keys: 1.1.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -19781,84 +16014,68 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 - restore-cursor@5.1.0: - dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 + restructure@3.0.2: {} ret@0.1.15: {} - retry-request@7.0.2(encoding@0.1.13): + retry-request@7.0.2(supports-color@10.2.2): dependencies: '@types/request': 2.48.13 extend: 3.0.2 - teeny-request: 9.0.0(encoding@0.1.13) + teeny-request: 9.0.0(supports-color@10.2.2) transitivePeerDependencies: - encoding - supports-color optional: true - retry-request@8.0.2: + retry-request@8.0.4(supports-color@10.2.2): dependencies: extend: 3.0.2 - teeny-request: 10.1.0 + teeny-request: 10.1.4(supports-color@10.2.2) transitivePeerDependencies: - supports-color - retry@0.12.0: - optional: true - retry@0.13.1: {} reusify@1.1.0: {} - rfdc@1.4.1: {} - rimraf@5.0.10: dependencies: glob: 10.5.0 - robust-predicates@3.0.2: {} - - rollup@2.79.2: - optionalDependencies: - fsevents: 2.3.3 + robust-predicates@3.0.3: {} - rollup@4.54.0: + rolldown@1.2.3: dependencies: - '@types/estree': 1.0.8 + '@oxc-project/types': 0.143.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.2.3 + '@rolldown/binding-darwin-arm64': 1.2.3 + '@rolldown/binding-darwin-x64': 1.2.3 + '@rolldown/binding-freebsd-x64': 1.2.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.3 + '@rolldown/binding-linux-arm64-gnu': 1.2.3 + '@rolldown/binding-linux-arm64-musl': 1.2.3 + '@rolldown/binding-linux-ppc64-gnu': 1.2.3 + '@rolldown/binding-linux-s390x-gnu': 1.2.3 + '@rolldown/binding-linux-x64-gnu': 1.2.3 + '@rolldown/binding-linux-x64-musl': 1.2.3 + '@rolldown/binding-openharmony-arm64': 1.2.3 + '@rolldown/binding-win32-arm64-msvc': 1.2.3 + '@rolldown/binding-win32-x64-msvc': 1.2.3 + + rollup@2.80.0: optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.54.0 - '@rollup/rollup-android-arm64': 4.54.0 - '@rollup/rollup-darwin-arm64': 4.54.0 - '@rollup/rollup-darwin-x64': 4.54.0 - '@rollup/rollup-freebsd-arm64': 4.54.0 - '@rollup/rollup-freebsd-x64': 4.54.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.54.0 - '@rollup/rollup-linux-arm-musleabihf': 4.54.0 - '@rollup/rollup-linux-arm64-gnu': 4.54.0 - '@rollup/rollup-linux-arm64-musl': 4.54.0 - '@rollup/rollup-linux-loong64-gnu': 4.54.0 - '@rollup/rollup-linux-ppc64-gnu': 4.54.0 - '@rollup/rollup-linux-riscv64-gnu': 4.54.0 - '@rollup/rollup-linux-riscv64-musl': 4.54.0 - '@rollup/rollup-linux-s390x-gnu': 4.54.0 - '@rollup/rollup-linux-x64-gnu': 4.54.0 - '@rollup/rollup-linux-x64-musl': 4.54.0 - '@rollup/rollup-openharmony-arm64': 4.54.0 - '@rollup/rollup-win32-arm64-msvc': 4.54.0 - '@rollup/rollup-win32-ia32-msvc': 4.54.0 - '@rollup/rollup-win32-x64-gnu': 4.54.0 - '@rollup/rollup-win32-x64-msvc': 4.54.0 fsevents: 2.3.3 - router@2.2.0: + router@2.2.0(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 - path-to-regexp: 8.3.0 + path-to-regexp: 8.4.2 transitivePeerDependencies: - supports-color @@ -19876,9 +16093,9 @@ snapshots: dependencies: tslib: 2.8.1 - safe-array-concat@1.1.3: + safe-array-concat@1.1.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 get-intrinsic: 1.3.0 has-symbols: 1.1.0 @@ -19903,7 +16120,7 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.4.3: {} + sax@1.6.1: {} scheduler@0.27.0: {} @@ -19915,13 +16132,11 @@ snapshots: semver@6.3.1: {} - semver@7.7.3: {} - - semver@7.7.4: {} + semver@7.8.5: {} - send@0.19.2: + send@0.19.2(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 destroy: 1.2.0 encodeurl: 2.0.0 @@ -19937,9 +16152,9 @@ snapshots: transitivePeerDependencies: - supports-color - send@1.2.1: + send@1.2.1(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -19948,26 +16163,26 @@ snapshots: mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 - range-parser: 1.2.1 + range-parser: 1.3.0 statuses: 2.0.2 transitivePeerDependencies: - supports-color - serve-static@1.16.3: + serve-static@1.16.3(supports-color@10.2.2): dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.19.2 + send: 0.19.2(supports-color@10.2.2) transitivePeerDependencies: - supports-color - serve-static@2.2.1: + serve-static@2.2.1(supports-color@10.2.2): dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 1.2.1 + send: 1.2.1(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -19991,7 +16206,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 setprototypeof@1.2.0: {} @@ -20001,9 +16216,11 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.3: {} + shell-quote@1.10.0: {} + + shell-quote@1.9.0: {} - side-channel-list@1.0.0: + side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -20023,11 +16240,11 @@ snapshots: object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.1.0: + side-channel@1.1.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - side-channel-list: 1.0.0 + side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -20051,43 +16268,34 @@ snapshots: slash@5.1.0: {} - slice-ansi@7.1.2: - dependencies: - ansi-styles: 6.2.3 - is-fullwidth-code-point: 5.1.0 - smart-buffer@4.2.0: {} - socks-proxy-agent@8.0.5: + socks-proxy-agent@8.0.5(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 - socks: 2.8.7 + debug: 4.4.3(supports-color@10.2.2) + socks: 2.8.9 transitivePeerDependencies: - supports-color - socks@2.8.7: + socks@2.8.9: dependencies: - ip-address: 10.1.0 + ip-address: 10.5.0 smart-buffer: 4.2.0 - sort-any@2.0.0: - dependencies: - lodash: 4.17.23 - - sort-object-keys@2.0.1: {} + sort-object-keys@2.1.0: {} - sort-package-json@3.6.0: + sort-package-json@3.7.1: dependencies: detect-indent: 7.0.2 detect-newline: 4.0.1 - git-hooks-list: 4.1.1 + git-hooks-list: 4.2.1 is-plain-obj: 4.1.0 - semver: 7.7.3 - sort-object-keys: 2.0.1 - tinyglobby: 0.2.15 + semver: 7.8.5 + sort-object-keys: 2.1.0 + tinyglobby: 0.2.17 - sortablejs@1.15.6: {} + sortablejs@1.15.7: {} source-map-js@1.2.1: {} @@ -20103,16 +16311,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 + spdx-license-ids: 3.0.23 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 + spdx-license-ids: 3.0.23 - spdx-license-ids@3.0.22: {} + spdx-license-ids@3.0.23: {} split2@4.2.0: {} @@ -20122,16 +16330,11 @@ snapshots: sprintf-js@1.0.3: {} - sql-formatter@15.6.12: + sql-formatter@15.8.2: dependencies: argparse: 2.0.1 nearley: 2.20.1 - ssri@13.0.0: - dependencies: - minipass: 7.1.2 - optional: true - stack-trace@0.0.10: {} stack-utils@2.0.6: @@ -20144,34 +16347,38 @@ snapshots: statuses@2.0.2: {} - std-env@3.10.0: {} + std-env@4.2.0: {} stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 internal-slot: 1.1.0 - storybook@10.2.8(@testing-library/dom@10.4.0)(prettier@3.8.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + storybook@10.5.7(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8): dependencies: '@storybook/global': 5.0.0 - '@storybook/icons': 2.0.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@storybook/icons': 2.1.0(react@19.2.8) + '@testing-library/dom': 10.4.1 '@testing-library/jest-dom': 6.9.1 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) + '@testing-library/user-event': 14.6.3(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 '@vitest/spy': 3.2.4 - esbuild: 0.27.2 + '@webcontainer/env': 1.1.1 + esbuild: 0.28.2 + jsonc-parser: 3.3.1 open: 10.2.0 - recast: 0.23.11 - semver: 7.7.3 - use-sync-external-store: 1.6.0(react@19.2.4) - ws: 8.18.3 + oxc-parser: 0.127.0 + oxc-resolver: 11.24.2 + recast: 0.23.21 + semver: 7.8.5 + use-sync-external-store: 1.6.0(react@19.2.8) + ws: 8.21.3 optionalDependencies: - prettier: 3.8.1 + '@types/react': 19.2.18 + prettier: 3.9.6 transitivePeerDependencies: - - '@testing-library/dom' - bufferutil - react - - react-dom - utf-8-validate stream-chain@2.2.5: {} @@ -20190,17 +16397,15 @@ snapshots: stream-shift@1.0.3: {} - streamx@2.23.0: + streamx@2.28.0: dependencies: events-universal: 1.0.1 fast-fifo: 1.3.2 - text-decoder: 1.2.3 + text-decoder: 1.2.7 transitivePeerDependencies: - bare-abort-controller - react-native-b4a - string-argv@0.3.2: {} - string-length@4.0.2: dependencies: char-regex: 1.0.2 @@ -20216,68 +16421,64 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 - - string-width@8.1.0: - dependencies: - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 string.prototype.includes@2.0.1: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 string.prototype.matchall@4.0.12: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 gopd: 1.2.0 has-symbols: 1.1.0 internal-slot: 1.1.0 regexp.prototype.flags: 1.5.4 set-function-name: 2.0.2 - side-channel: 1.1.0 + side-channel: 1.1.1 string.prototype.repeat@1.0.0: dependencies: define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 - string.prototype.trim@1.2.10: + string.prototype.trim@1.2.11: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 - string.prototype.trimend@1.0.9: + string.prototype.trimend@1.0.10: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string_decoder@1.1.1: dependencies: @@ -20291,7 +16492,7 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.2: + strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 @@ -20311,40 +16512,42 @@ snapshots: strip-json-comments@3.1.1: {} - strnum@1.1.2: + strnum@2.4.1: + dependencies: + anynum: 1.0.1 optional: true stubs@3.0.0: {} - style-observer@0.0.8: {} - stylis@4.2.0: {} - superstatic@10.0.0(encoding@0.1.13): + superstatic@10.0.0(supports-color@10.2.2): dependencies: basic-auth-connect: 1.1.0 commander: 10.0.1 - compression: 1.8.1 - connect: 3.7.0 + compression: 1.8.1(supports-color@10.2.2) + connect: 3.7.0(supports-color@10.2.2) destroy: 1.2.0 glob-slasher: 1.0.1 is-url: 1.2.4 join-path: 1.1.1 - lodash: 4.17.23 + lodash: 4.18.1 mime-types: 2.1.35 - minimatch: 6.2.0 - morgan: 1.10.1 + minimatch: 6.2.3 + morgan: 1.11.0(supports-color@10.2.2) on-finished: 2.4.1 on-headers: 1.1.0 path-to-regexp: 1.9.0 - router: 2.2.0 - update-notifier-cjs: 5.1.7(encoding@0.1.13) + router: 2.2.0(supports-color@10.2.2) + update-notifier-cjs: 5.1.7 optionalDependencies: - re2: 1.23.0 + re2: 1.26.1 transitivePeerDependencies: - encoding - supports-color + supports-color@10.2.2: {} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -20366,64 +16569,63 @@ snapshots: svg-arc-to-cubic-bezier@3.2.0: {} - synckit@0.11.12: + synckit@0.11.13: dependencies: - '@pkgr/core': 0.2.9 + '@pkgr/core': 0.3.6 - tabbable@6.3.0: {} + tabbable@6.5.0: {} - tabbable@6.4.0: {} + tailwind-merge@3.6.0: {} - tailwind-merge@2.6.0: {} - - tailwind-variants@0.3.0(tailwindcss@4.1.18): - dependencies: - tailwind-merge: 2.6.0 - tailwindcss: 4.1.18 + tailwind-variants@3.3.1(tailwind-merge@3.6.0)(tailwindcss@4.3.3): + optionalDependencies: + tailwind-merge: 3.6.0 + tailwindcss: 4.3.3 - tailwindcss@4.1.18: {} + tailwindcss@4.3.3: {} - tapable@2.3.0: {} + tapable@2.3.3: {} - tar-stream@3.1.7: + tar-stream@3.2.0: dependencies: - b4a: 1.7.3 + b4a: 1.8.1 + bare-fs: 4.8.0 fast-fifo: 1.3.2 - streamx: 2.23.0 + streamx: 2.28.0 transitivePeerDependencies: - bare-abort-controller + - bare-buffer - react-native-b4a - tar@7.5.7: + tar@7.5.22: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 - minipass: 7.1.2 + minipass: 7.1.3 minizlib: 3.1.0 yallist: 5.0.0 - optional: true - tcp-port-used@1.0.2: + tcp-port-used@1.0.3(supports-color@10.2.2): dependencies: - debug: 4.3.1 - is2: 2.0.9 + debug: 4.3.1(supports-color@10.2.2) + is2: 2.0.1 transitivePeerDependencies: - supports-color - teeny-request@10.1.0: + teeny-request@10.1.4(supports-color@10.2.2): dependencies: - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 + http-proxy-agent: 7.0.2(supports-color@10.2.2) + https-proxy-agent: 7.0.6(supports-color@10.2.2) node-fetch: 3.3.2 stream-events: 1.0.5 transitivePeerDependencies: - supports-color - teeny-request@9.0.0(encoding@0.1.13): + teeny-request@9.0.0(supports-color@10.2.2): dependencies: - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0(encoding@0.1.13) + http-proxy-agent: 5.0.0(supports-color@10.2.2) + https-proxy-agent: 5.0.1(supports-color@10.2.2) + node-fetch: 2.7.0 stream-events: 1.0.5 uuid: 9.0.1 transitivePeerDependencies: @@ -20431,15 +16633,22 @@ snapshots: - supports-color optional: true + teex@1.0.1: + dependencies: + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + test-exclude@6.0.0: dependencies: - '@istanbuljs/schema': 0.1.3 + '@istanbuljs/schema': 0.1.6 glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 3.1.5 - text-decoder@1.2.3: + text-decoder@1.2.7: dependencies: - b4a: 1.7.3 + b4a: 1.8.1 transitivePeerDependencies: - react-native-b4a @@ -20453,11 +16662,6 @@ snapshots: dependencies: any-promise: 1.3.0 - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - through@2.3.8: {} timezone-groups@0.10.4: {} @@ -20472,24 +16676,22 @@ snapshots: tinycolor2@1.6.0: {} - tinyexec@1.0.1: {} - - tinyexec@1.0.2: {} + tinyexec@1.3.0: {} - tinyglobby@0.2.15: + tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 tinyqueue@2.0.3: {} tinyrainbow@2.0.0: {} - tinyrainbow@3.0.3: {} + tinyrainbow@3.1.1: {} tinyspy@4.0.4: {} - tmp@0.2.5: {} + tmp@0.2.7: {} tmpl@1.0.5: {} @@ -20505,7 +16707,7 @@ snapshots: toxic@1.0.1: dependencies: - lodash: 4.17.23 + lodash: 4.18.1 tr46@0.0.3: {} @@ -20513,36 +16715,16 @@ snapshots: triple-beam@1.4.1: {} - ts-api-utils@2.1.0(typescript@5.8.3): + ts-api-utils@2.5.0(typescript@6.0.3): dependencies: - typescript: 5.8.3 + typescript: 6.0.3 - ts-dedent@2.2.0: {} + ts-dedent@2.3.0: {} ts-deepmerge@2.0.7: {} ts-md5@2.0.1: {} - ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.18))(@types/node@25.0.3)(typescript@5.8.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 25.0.3 - acorn: 8.15.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 8.0.3 - make-error: 1.3.6 - typescript: 5.8.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.15.11(@swc/helpers@0.5.18) - tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -20581,10 +16763,10 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 + content-type: 2.0.0 + media-typer: 1.1.1 mime-types: 3.0.2 typed-array-buffer@1.0.3: @@ -20595,7 +16777,7 @@ snapshots: typed-array-byte-length@1.0.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 @@ -20604,16 +16786,16 @@ snapshots: typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.7: + typed-array-length@1.0.8: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 for-each: 0.3.5 gopd: 1.2.0 is-typed-array: 1.1.15 @@ -20624,17 +16806,18 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3): + typescript-eslint@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0(jiti@2.6.1))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.6.1) - typescript: 5.8.3 + '@typescript-eslint/eslint-plugin': 8.67.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/parser': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.67.0(supports-color@10.2.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.67.0(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - typescript@5.8.3: {} + typescript@6.0.3: {} unbox-primitive@1.1.0: dependencies: @@ -20643,9 +16826,12 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@6.21.0: {} + undici-types@7.18.2: {} + + undici@6.28.0: {} - undici-types@7.16.0: {} + undici@8.10.0: + optional: true unicode-emoji-modifier-base@1.0.0: {} @@ -20661,26 +16847,16 @@ snapshots: unicorn-magic@0.1.0: {} - unicorn-magic@0.3.0: {} - - unique-filename@5.0.0: - dependencies: - unique-slug: 6.0.0 - optional: true - - unique-slug@6.0.0: - dependencies: - imurmurhash: 0.1.4 - optional: true + unicorn-magic@0.4.0: {} unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 - universal-analytics@0.5.3: + universal-analytics@0.5.4(supports-color@10.2.2): dependencies: - debug: 4.4.3 - uuid: 8.3.2 + debug: 4.4.3(supports-color@10.2.2) + uuid: 14.0.1 transitivePeerDependencies: - supports-color @@ -20691,47 +16867,44 @@ snapshots: unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.15.0 - picomatch: 4.0.3 + acorn: 8.18.0 + picomatch: 4.0.5 webpack-virtual-modules: 0.6.2 - unrs-resolver@1.11.1: + unrs-resolver@1.12.2: dependencies: napi-postinstall: 0.3.4 optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.11.1 - '@unrs/resolver-binding-android-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-x64': 1.11.1 - '@unrs/resolver-binding-freebsd-x64': 1.11.1 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 - '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-musl': 1.11.1 - '@unrs/resolver-binding-wasm32-wasi': 1.11.1 - '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 - '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 - '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - - update-browserslist-db@1.1.4(browserslist@4.28.0): - dependencies: - browserslist: 4.28.0 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.2.3(browserslist@4.28.1): - dependencies: - browserslist: 4.28.1 + '@unrs/resolver-binding-android-arm-eabi': 1.12.2 + '@unrs/resolver-binding-android-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-x64': 1.12.2 + '@unrs/resolver-binding-freebsd-x64': 1.12.2 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-arm64-musl': 1.12.2 + '@unrs/resolver-binding-linux-loong64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-loong64-musl': 1.12.2 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-musl': 1.12.2 + '@unrs/resolver-binding-linux-s390x-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-musl': 1.12.2 + '@unrs/resolver-binding-openharmony-arm64': 1.12.2 + '@unrs/resolver-binding-wasm32-wasi': 1.12.2 + '@unrs/resolver-binding-win32-arm64-msvc': 1.12.2 + '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 + '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 + + update-browserslist-db@1.3.1(browserslist@4.28.8): + dependencies: + browserslist: 4.28.8 escalade: 3.2.0 picocolors: 1.1.1 - update-notifier-cjs@5.1.7(encoding@0.1.13): + update-notifier-cjs@5.1.7: dependencies: boxen: 5.1.2 chalk: 4.1.2 @@ -20742,11 +16915,11 @@ snapshots: is-installed-globally: 0.4.0 is-npm: 5.0.0 is-yarn-global: 0.3.0 - isomorphic-fetch: 3.0.0(encoding@0.1.13) + isomorphic-fetch: 3.0.0 pupa: 2.1.1 - registry-auth-token: 5.1.0 + registry-auth-token: 5.1.1 registry-url: 5.1.0 - semver: 7.7.3 + semver: 7.8.5 semver-diff: 3.1.1 xdg-basedir: 4.0.0 transitivePeerDependencies: @@ -20760,30 +16933,26 @@ snapshots: url-template@2.0.8: {} - use-deep-compare-effect@1.8.1(react@19.2.4): + use-deep-compare-effect@1.8.1(react@19.2.8): dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.29.7 dequal: 2.0.3 - react: 19.2.4 + react: 19.2.8 - use-immer@0.11.0(immer@11.0.1)(react@19.2.4): + use-immer@0.11.0(immer@11.1.16)(react@19.2.8): dependencies: - immer: 11.0.1 - react: 19.2.4 + immer: 11.1.16 + react: 19.2.8 - use-isomorphic-layout-effect@1.2.1(@types/react@19.2.7)(react@19.2.4): + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.18)(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.7 - - use-sync-external-store@1.5.0(react@19.2.4): - dependencies: - react: 19.2.4 + '@types/react': 19.2.18 - use-sync-external-store@1.6.0(react@19.2.4): + use-sync-external-store@1.6.0(react@19.2.8): dependencies: - react: 19.2.4 + react: 19.2.8 util-deprecate@1.0.2: {} @@ -20793,20 +16962,16 @@ snapshots: is-arguments: 1.2.0 is-generator-function: 1.1.2 is-typed-array: 1.1.15 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 utils-merge@1.0.1: {} - uuid@11.1.0: {} - - uuid@13.0.0: {} + uuid@14.0.1: {} uuid@8.3.2: {} uuid@9.0.1: {} - v8-compile-cache-lib@3.0.1: {} - v8-to-istanbul@9.3.0: dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -20820,85 +16985,74 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} - vary@1.1.2: {} - vite-plugin-eslint@1.8.1(eslint@9.31.0(jiti@2.6.1))(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)): + vite-plugin-eslint@1.8.1(eslint@9.39.5(jiti@2.7.0)(supports-color@10.2.2))(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)): dependencies: '@rollup/pluginutils': 4.2.1 '@types/eslint': 8.56.12 - eslint: 9.31.0(jiti@2.6.1) - rollup: 2.79.2 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + eslint: 9.39.5(jiti@2.7.0)(supports-color@10.2.2) + rollup: 2.80.0 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) - vite-plugin-package-version@1.1.0(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)): + vite-plugin-package-version@1.1.0(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)): dependencies: - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) - vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2): + vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0): dependencies: - esbuild: 0.27.2 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.54.0 - tinyglobby: 0.2.15 + lightningcss: 1.33.0 + picomatch: 4.0.5 + postcss: 8.5.26 + rolldown: 1.2.3 + tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 25.0.3 + '@types/node': 24.13.3 + esbuild: 0.28.2 fsevents: 2.3.3 - jiti: 2.6.1 - lightningcss: 1.30.2 - yaml: 2.8.2 - - vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(@vitest/ui@4.0.18)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2): - dependencies: - '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) - '@vitest/pretty-format': 4.0.18 - '@vitest/runner': 4.0.18 - '@vitest/snapshot': 4.0.18 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 - es-module-lexer: 1.7.0 - expect-type: 1.2.2 + jiti: 2.7.0 + yaml: 2.9.0 + + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(vite@8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 magic-string: 0.30.21 - obug: 2.1.1 + obug: 2.1.4 pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.10.0 + picomatch: 4.0.5 + std-env: 4.2.0 tinybench: 2.9.0 - tinyexec: 1.0.2 - tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.1 + vite: 8.2.1(@types/node@24.13.3)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@opentelemetry/api': 1.9.0 - '@types/node': 25.0.3 - '@vitest/ui': 4.0.18(vitest@4.0.18) + '@opentelemetry/api': 1.9.1 + '@types/node': 24.13.3 + '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) + '@vitest/ui': 4.1.10(vitest@4.1.10) transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml - - wait-on@9.0.3: - dependencies: - axios: 1.13.5 - joi: 18.0.2 - lodash: 4.17.23 + + wait-on@9.1.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2): + dependencies: + axios: 1.19.0(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) + joi: 18.2.3 + lodash: 4.18.1 minimist: 1.2.8 rxjs: 7.8.2 transitivePeerDependencies: - debug + - supports-color walker@1.0.8: dependencies: @@ -20918,7 +17072,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - websocket-driver@0.7.4: + websocket-driver@0.7.5: dependencies: http-parser-js: 0.5.10 safe-buffer: 5.2.1 @@ -20944,7 +17098,7 @@ snapshots: which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 - function.prototype.name: 1.1.8 + function.prototype.name: 1.2.0 has-tostringtag: 1.0.2 is-async-function: 2.1.1 is-date-object: 1.1.0 @@ -20955,7 +17109,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 which-collection@1.0.2: dependencies: @@ -20964,10 +17118,10 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 - which-typed-array@1.1.19: + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 for-each: 0.3.5 get-proto: 1.0.1 @@ -20982,9 +17136,9 @@ snapshots: dependencies: isexe: 2.0.0 - which@6.0.0: + which@7.0.0: dependencies: - isexe: 3.1.1 + isexe: 4.0.0 optional: true why-is-node-running@2.3.0: @@ -21034,13 +17188,13 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrappy@1.0.2: {} @@ -21056,26 +17210,27 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 - ws@7.5.10: {} - - ws@8.18.3: {} + ws@8.21.3: {} wsl-utils@0.1.0: dependencies: - is-wsl: 3.1.0 + is-wsl: 3.1.1 xdg-basedir@4.0.0: {} + xml-naming@0.3.0: + optional: true + xmldoc@2.0.3: dependencies: - sax: 1.4.3 + sax: 1.6.1 xss@1.0.13: dependencies: commander: 2.20.3 cssfilter: 0.0.10 - xstate@5.25.0: {} + xstate@5.32.5: {} xtend@4.0.2: {} @@ -21085,18 +17240,19 @@ snapshots: yallist@4.0.0: {} - yallist@5.0.0: - optional: true + yallist@5.0.0: {} - yaml@1.10.2: {} + yaml@1.10.3: {} - yaml@2.8.2: {} + yaml@2.9.0: {} yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} - yargs@16.2.0: + yargs-parser@22.0.0: {} + + yargs@16.2.2: dependencies: cliui: 7.0.4 escalade: 3.2.0 @@ -21106,7 +17262,7 @@ snapshots: y18n: 5.0.8 yargs-parser: 20.2.9 - yargs@17.7.2: + yargs@17.7.3: dependencies: cliui: 8.0.1 escalade: 3.2.0 @@ -21116,7 +17272,14 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: {} + yargs@18.0.0: + dependencies: + cliui: 9.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + string-width: 7.2.0 + y18n: 5.0.8 + yargs-parser: 22.0.0 yocto-queue@0.1.0: {} @@ -21135,8 +17298,12 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.7.0 - zod-to-json-schema@3.25.1(zod@3.25.76): + zod-to-json-schema@3.25.2(zod@4.4.3): + dependencies: + zod: 4.4.3 + + zod-validation-error@4.0.2(zod@4.4.3): dependencies: - zod: 3.25.76 + zod: 4.4.3 - zod@3.25.76: {} + zod@4.4.3: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 39ddd8d2..5def5ddb 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,25 @@ packages: - functions + - functions/shared + +minimumReleaseAge: 10080 +minimumReleaseAgeStrict: true +minimumReleaseAgeExclude: + - '@ugrc/*' + - uuid@11.1.1 + - '@opentelemetry/core@2.8.0' + - ts-deepmerge@8.0.0 + - nanoid@3.3.18 + +allowBuilds: + '@firebase/util': true + '@swc/core': true + '@vaadin/vaadin-usage-statistics': true + core-js: true + esbuild: true + protobufjs: true + re2: true + unrs-resolver: true onlyBuiltDependencies: - '@firebase/util' - esbuild diff --git a/src/arcgis-elements.d.ts b/src/arcgis-elements.d.ts new file mode 100644 index 00000000..037f90f0 --- /dev/null +++ b/src/arcgis-elements.d.ts @@ -0,0 +1,34 @@ +import type EsriMap from '@arcgis/core/Map'; +import type MapView from '@arcgis/core/views/MapView'; +import type { DetailedHTMLProps, HTMLAttributes } from 'react'; + +declare global { + interface ArcgisMapElement extends HTMLElement { + extent: { + spatialReference: { wkid: number }; + type: 'extent'; + xmax: number; + xmin: number; + ymax: number; + ymin: number; + }; + map: EsriMap; + view: MapView; + viewOnReady: () => Promise; + } +} + +declare module 'react/jsx-runtime' { + namespace JSX { + interface IntrinsicElements { + 'arcgis-map': DetailedHTMLProps, ArcgisMapElement>; + 'arcgis-expand': Record; + 'calcite-checkbox': Record; + 'calcite-label': Record; + 'calcite-radio-button': Record; + 'calcite-radio-button-group': Record; + } + } +} + +export {}; diff --git a/src/components/app/App.jsx b/src/components/app/App.tsx similarity index 62% rename from src/components/app/App.jsx rename to src/components/app/App.tsx index 285d2b37..41394c08 100644 --- a/src/components/app/App.jsx +++ b/src/components/app/App.tsx @@ -1,14 +1,14 @@ import { useImmerReducer } from 'use-immer'; -import Drawer from '../layoutElements/Drawer.jsx'; -import Menu from '../layoutElements/Menu.jsx'; -import Map from '../pageElements/Map.jsx'; -import reduce, { defaults } from '../reducers/AppReducer'; +import Drawer from '../layoutElements/Drawer.tsx'; +import Menu from '../layoutElements/Menu.tsx'; +import Map from '../pageElements/Map.tsx'; +import reduce, { defaults } from '../reducers/AppReducer.ts'; export default function App() { const [state, dispatch] = useImmerReducer(reduce, defaults); return ( -
+
menu diff --git a/src/components/contexts/SubmissionContext.jsx b/src/components/contexts/SubmissionContext.jsx deleted file mode 100644 index 486da239..00000000 --- a/src/components/contexts/SubmissionContext.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import { useMachine } from '@xstate/react'; -import { createContext } from 'react'; -import { submissionMachine } from '../machines'; - -export const SubmissionContext = createContext({}); - -/** - * @typedef {Object} SubmissionProviderProps - * @property {React.ReactNode} children - * @property {Object} [context] - */ - -/** - * @type {React.FC} - */ -export const SubmissionProvider = ({ children, context }) => { - const [state, send] = useMachine(submissionMachine, { - input: { ...context }, - }); - - return {children}; -}; diff --git a/src/components/contexts/SubmissionContext.tsx b/src/components/contexts/SubmissionContext.tsx new file mode 100644 index 00000000..780c10d9 --- /dev/null +++ b/src/components/contexts/SubmissionContext.tsx @@ -0,0 +1,34 @@ +import { useMachine } from '@xstate/react'; +import { createContext, type ReactNode, useContext } from 'react'; +import type { ActorRefFrom, SnapshotFrom } from 'xstate'; +import { submissionMachine, type SubmissionMachineContext } from '../machines/index.js'; + +export type SubmissionContextValue = [ + SnapshotFrom, + ActorRefFrom['send'], +]; + +export const SubmissionContext = createContext(undefined); + +export const useSubmissionContext = (): SubmissionContextValue => { + const value = useContext(SubmissionContext); + + if (!value) { + throw new Error('useSubmissionContext must be used within a SubmissionProvider'); + } + + return value; +}; + +type SubmissionProviderProps = { + children: ReactNode; + context?: SubmissionMachineContext; +}; + +export const SubmissionProvider = ({ children, context = {} }: SubmissionProviderProps) => { + const [state, send] = useMachine(submissionMachine, { + input: { ...context }, + }); + + return {children}; +}; diff --git a/src/components/formElements/Button.stories.jsx b/src/components/formElements/Button.stories.tsx similarity index 97% rename from src/components/formElements/Button.stories.jsx rename to src/components/formElements/Button.stories.tsx index 70717ef7..3735e7d5 100644 --- a/src/components/formElements/Button.stories.jsx +++ b/src/components/formElements/Button.stories.tsx @@ -1,4 +1,4 @@ -import { Button } from './Buttons.jsx'; +import { Button } from './Buttons.tsx'; // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export export default { diff --git a/src/components/formElements/Buttons.jsx b/src/components/formElements/Buttons.tsx similarity index 86% rename from src/components/formElements/Buttons.jsx rename to src/components/formElements/Buttons.tsx index c1d12787..53b20c5e 100644 --- a/src/components/formElements/Buttons.jsx +++ b/src/components/formElements/Buttons.tsx @@ -1,6 +1,7 @@ import { ExclamationCircleIcon } from '@heroicons/react/20/solid'; -import { useFirebaseAuth } from '@ugrc/utah-design-system'; +import { useFirebaseAuth } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; import { clsx } from 'clsx'; +import type { AnchorHTMLAttributes, ButtonHTMLAttributes, MouseEventHandler, ReactNode, Ref } from 'react'; /** * @typedef {Object} LogInButtonProps @@ -117,7 +118,16 @@ const buttonGroupLeft = 'border-r-0 rounded-l-full'; const buttonGroupRight = 'border-l-0 rounded-r-full'; const buttonGroupMiddle = 'border-x-0'; -const buttonClasses = (style, buttonGroup) => { +export type ButtonStyle = 'primary' | 'secondary' | 'alternate' | 'link'; +export type ButtonState = 'idle' | 'disabled' | 'pending' | 'success' | 'error'; + +type ButtonGroup = { + left?: boolean; + middle?: boolean; + right?: boolean; +}; + +const buttonClasses = (style: ButtonStyle, buttonGroup?: ButtonGroup): string => { return clsx( style !== 'link' && 'flex min-h-8 w-fit cursor-pointer items-center justify-center border-2 px-7 py-1 transition-all duration-200 ease-in-out focus:ring-2 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50', @@ -132,22 +142,15 @@ const buttonClasses = (style, buttonGroup) => { ); }; -/** - * @typedef {Object} ButtonProps - * @property {string} [name] - The property name used by react hook form - * @property {React.ReactNode} children - The children to display on the button - * @property {'primary'|'secondary'|'alternate'|'link'} [style] - The style of button - * @property {'idle'|'disabled'|'pending'|'success'|'error'} [state] - The state of button - * @property {'button'|'submit'|'reset'} [type] - The property name used by react hook form - * @property {function} [inputRef] - The ref property for use with registering with react hook form - * @property {function} [onClick] - The function to execute when the button is clicked - * @property {boolean} [dark] - * @property {Object} [buttonGroup] - */ +type ButtonProps = Omit, 'children' | 'style' | 'ref'> & { + children: ReactNode; + style?: ButtonStyle; + state?: ButtonState; + inputRef?: Ref; + onClick?: MouseEventHandler; + buttonGroup?: ButtonGroup; +}; -/** - * @type {React.FC} - */ export const Button = ({ children, name, @@ -157,13 +160,13 @@ export const Button = ({ inputRef, onClick, buttonGroup, -}) => { +}: ButtonProps) => { return ( - - - - )} - + @@ -116,7 +113,7 @@ const CoordinatePicker = () => { { - + { send({ type: 'RESTART' }); @@ -132,23 +148,24 @@ export const Latitude = () => { export const Longitude = () => { const meta = 'geographic'; - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); usePageView('screen-geographic-coordinates-longitude'); - let defaultValues = { - easting: state.context?.geographic?.easting ?? defaults, + const defaultValues: LongitudeFormValues = { + easting: (state.context.geographic?.easting as LongitudeValues['easting']) ?? defaults, }; - const { formState, handleSubmit, register, reset, setFocus } = useForm({ - resolver: yupResolver(longitudeSchema), + const { formState, handleSubmit, register, reset, setFocus } = useForm({ + resolver: yupResolver(longitudeSchema) as Resolver, defaultValues, }); + const typedHandleSubmit = handleSubmit as UseFormHandleSubmit; useEffect(() => { setFocus('easting.degrees'); }, [setFocus]); - const onSubmit = (payload) => { + const onSubmit = (payload: LongitudeFormValues) => { send({ type: 'NEXT', meta, payload }); }; @@ -162,7 +179,7 @@ export const Longitude = () => {

Location Information

Geographic Easting for {formatDatum(state.context.datum)}

- +
{
- + send({ type: 'BACK' })} next={true} clear={onReset} />
@@ -211,36 +228,32 @@ export const Longitude = () => { ); }; -const geographicHeightDefaults = { +const geographicHeightDefaults: GeographicHeightFormValues = { elevation: '', unit: 'm', }; export const GeographicHeight = () => { const meta = 'geographic'; - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); usePageView('screen-geographic-coordinates-height'); - let geographic = state.context?.geographic; - - let defaultValues = { - unit: geographic.unit, - elevation: geographic.elevation, + const geographic = state.context.geographic; + const defaultValues: GeographicHeightFormValues = { + unit: geographic?.unit as GeographicHeightFormValues['unit'], + elevation: geographic?.elevation ?? '', }; - - if (!defaultValues.unit) { - defaultValues = geographicHeightDefaults; - } if (!defaultValues.unit) { defaultValues.unit = 'm'; } const selectedUnit = units.find((x) => x.value === defaultValues.unit); - const { control, formState, handleSubmit, register, reset, setFocus } = useForm({ - resolver: yupResolver(geographicHeightSchema), + const { control, formState, handleSubmit, register, reset, setFocus } = useForm({ + resolver: yupResolver(geographicHeightSchema) as Resolver, defaultValues, }); + const typedHandleSubmit = handleSubmit as UseFormHandleSubmit; useEffect(() => { setFocus('elevation'); @@ -248,7 +261,7 @@ export const GeographicHeight = () => { const [selected, setSelected] = useState(selectedUnit); - const onSubmit = (payload) => { + const onSubmit = (payload: GeographicHeightFormValues) => { send({ type: 'NEXT', meta, payload }); }; @@ -262,7 +275,7 @@ export const GeographicHeight = () => {

Location Information

Geographic height for {formatDatum(state.context.datum)}

- + - + send({ type: 'BACK' })} next={true} clear={onReset} /> diff --git a/src/components/pageElements/CornerSubmission/GridCoordinates.jsx b/src/components/pageElements/CornerSubmission/GridCoordinates.tsx similarity index 63% rename from src/components/pageElements/CornerSubmission/GridCoordinates.jsx rename to src/components/pageElements/CornerSubmission/GridCoordinates.tsx index 93991856..744b5048 100644 --- a/src/components/pageElements/CornerSubmission/GridCoordinates.jsx +++ b/src/components/pageElements/CornerSubmission/GridCoordinates.tsx @@ -1,21 +1,36 @@ import { ErrorMessage } from '@hookform/error-message'; import { yupResolver } from '@hookform/resolvers/yup'; -import { useContext, useEffect } from 'react'; -import { Controller, useForm } from 'react-hook-form'; -import { statePlaneZones, units, verticalDatums } from '../../../../functions/shared/cornerSubmission/Options.js'; -import { gridCoordinatesSchema } from '../../../../functions/shared/cornerSubmission/Schema.js'; -import { formatDatum } from '../../../../functions/shared/index.js'; -import { SubmissionContext } from '../../contexts/SubmissionContext.jsx'; -import { Button } from '../../formElements/Buttons.jsx'; -import { NumberedForm, NumberedFormSection } from '../../formElements/Form.jsx'; -import { Input } from '../../formElements/Inputs.jsx'; -import { Select } from '../../formElements/Select.jsx'; -import Spacer from '../../formElements/Spacer.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import ErrorMessageTag from '../../pageElements/ErrorMessage.jsx'; -import Wizard from './Wizard.jsx'; +import { formatDatum } from '@ugrc/plss-shared'; +import { statePlaneZones, units, verticalDatums } from '@ugrc/plss-shared/corner-submission/options'; +import { + type GridCoordinates as GridCoordinateValues, + gridCoordinatesSchema, +} from '@ugrc/plss-shared/corner-submission/schema'; +import { useEffect } from 'react'; +import { Controller, type Resolver, type UseFormHandleSubmit, useForm } from 'react-hook-form'; +import { useSubmissionContext } from '../../contexts/SubmissionContext.tsx'; +import { Button } from '../../formElements/Buttons.tsx'; +import { NumberedForm, NumberedFormSection } from '../../formElements/Form.tsx'; +import { Input } from '../../formElements/Inputs.tsx'; +import { Select } from '../../formElements/Select.tsx'; +import Spacer from '../../formElements/Spacer.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import ErrorMessageTag from '../../pageElements/ErrorMessage.tsx'; +import Wizard from './Wizard.tsx'; -const defaults = { +type GridFormValues = Omit< + GridCoordinateValues, + 'easting' | 'elevation' | 'northing' | 'unit' | 'verticalDatum' | 'zone' +> & { + easting: GridCoordinateValues['easting'] | ''; + elevation: GridCoordinateValues['elevation'] | ''; + northing: GridCoordinateValues['northing'] | ''; + unit: GridCoordinateValues['unit'] | ''; + verticalDatum: GridCoordinateValues['verticalDatum'] | ''; + zone: GridCoordinateValues['zone'] | ''; +}; + +const defaults: GridFormValues = { zone: '', unit: '', northing: '', @@ -26,37 +41,36 @@ const defaults = { const GridCoordinates = () => { const meta = 'grid'; - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); usePageView('screen-submission-grid-coordinates'); - let defaultValues = state.context.grid; - if (!defaultValues) { - defaultValues = defaults; - } + const savedGrid = state.context.grid as Partial | undefined; + const defaultValues: GridFormValues = { ...defaults, ...savedGrid }; - const { control, formState, handleSubmit, register, reset, setFocus } = useForm({ - resolver: yupResolver(gridCoordinatesSchema), + const { control, formState, handleSubmit, register, reset, setFocus } = useForm({ + resolver: yupResolver(gridCoordinatesSchema) as Resolver, defaultValues, }); + const typedHandleSubmit = handleSubmit as UseFormHandleSubmit; useEffect(() => { setFocus('zone'); }, [setFocus]); useEffect(() => { - if (state.matches('form.entering alternate grid coordinates')) { + if (state.matches({ form: 'entering alternate grid coordinates' })) { send({ type: 'SET_COORDINATES' }); } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); useEffect(() => { - if (state.matches('form.entering alternate grid coordinates') && state.matches('projecting.done')) { - reset({ ...state.context?.grid }); + if (state.matches({ form: 'entering alternate grid coordinates' }) && state.matches({ projecting: 'done' })) { + reset({ ...defaults, ...(state.context.grid as Partial) }); } }, [state, reset]); - const onSubmit = (payload) => { + const onSubmit = (payload: GridFormValues) => { send({ type: 'NEXT', meta, payload }); }; @@ -70,16 +84,16 @@ const GridCoordinates = () => {

Location Information

Grid coordinates for {formatDatum(state.context.datum)}

- {state.matches('projecting.rejected') && ( + {state.matches({ projecting: 'rejected' }) && ( <>
Error calculating state plane coordinates
)} - {state.matches('form.entering alternate grid coordinates') && !state.matches('projecting.done') ? ( + {state.matches({ form: 'entering alternate grid coordinates' }) && !state.matches({ projecting: 'done' }) ? (
Projecting Grid Coordinates...
) : ( - +
{
- + send({ type: 'BACK' })} next={true} clear={onReset} />
diff --git a/src/components/pageElements/CornerSubmission/Images.jsx b/src/components/pageElements/CornerSubmission/Images.tsx similarity index 65% rename from src/components/pageElements/CornerSubmission/Images.jsx rename to src/components/pageElements/CornerSubmission/Images.tsx index 95839257..889b6086 100644 --- a/src/components/pageElements/CornerSubmission/Images.jsx +++ b/src/components/pageElements/CornerSubmission/Images.tsx @@ -1,20 +1,37 @@ import { ErrorMessage } from '@hookform/error-message'; import { yupResolver } from '@hookform/resolvers/yup'; -import { useFirebaseAuth } from '@ugrc/utah-design-system'; -import { Fragment, useContext, useState } from 'react'; -import { Controller, useForm, useWatch } from 'react-hook-form'; -import { imagesSchema as schema } from '../../../../functions/shared/cornerSubmission/Schema.js'; -import { SubmissionContext } from '../../contexts/SubmissionContext.jsx'; -import { Button } from '../../formElements/Buttons.jsx'; -import FileUpload from '../../formElements/FileUpload.jsx'; -import { NumberedForm, NumberedFormSection } from '../../formElements/Form.jsx'; -import Spacer from '../../formElements/Spacer.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import ErrorMessageTag from '../../pageElements/ErrorMessage.jsx'; -import Wizard from './Wizard.jsx'; +import { type Images as ImagesValues, imagesSchema as schema } from '@ugrc/plss-shared/corner-submission/schema'; +import { useFirebaseAuth } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { Fragment, useState } from 'react'; +import { Controller, type Resolver, type UseFormHandleSubmit, useForm, useWatch } from 'react-hook-form'; +import { useSubmissionContext } from '../../contexts/SubmissionContext.tsx'; +import { Button } from '../../formElements/Buttons.tsx'; +import FileUpload from '../../formElements/FileUpload.tsx'; +import { NumberedForm, NumberedFormSection } from '../../formElements/Form.tsx'; +import Spacer from '../../formElements/Spacer.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import ErrorMessageTag from '../../pageElements/ErrorMessage.tsx'; +import Wizard from './Wizard.tsx'; const limit = 10; -const defaults = { +const extraFields = [ + 'extra1', + 'extra2', + 'extra3', + 'extra4', + 'extra5', + 'extra6', + 'extra7', + 'extra8', + 'extra9', + 'extra10', +] as const; + +type ImagesFormValues = { + [Key in keyof ImagesValues]: ImagesValues[Key] | ''; +}; + +const defaults: ImagesFormValues = { map: '', monument: '', closeUp: '', @@ -32,33 +49,27 @@ const defaults = { export default function MonumentImages() { const { currentUser } = useFirebaseAuth(); - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); usePageView('screen-submission-images'); - let defaultValues = state.context?.images; - if (!defaultValues) { - defaultValues = defaults; - } + const savedImages = state.context.images as Partial | undefined; + const defaultValues: ImagesFormValues = { ...defaults, ...savedImages }; const [extraPageCount, setExtraPageCount] = useState(() => { - let largestExtraPage = 1; - for (let i = 1; i <= limit; i++) { - if (defaultValues[`extra${i}`]) { - largestExtraPage = i; - } - } - - return largestExtraPage; + return extraFields.reduce((largestExtraPage, field, index) => { + return defaultValues[field] ? index + 1 : largestExtraPage; + }, 1); }); - const { handleSubmit, control, formState } = useForm({ - resolver: yupResolver(schema), + const { handleSubmit, control, formState } = useForm({ + resolver: yupResolver(schema) as Resolver, defaultValues, }); + const typedHandleSubmit = handleSubmit as UseFormHandleSubmit; const fields = useWatch({ control }); - const onSubmit = (payload) => { + const onSubmit = (payload: ImagesFormValues) => { send({ type: 'NEXT', meta: 'images', payload }); }; @@ -71,7 +82,7 @@ export default function MonumentImages() { Acceptable file types are jpg, png, plus pdf for the Extra Pages.

- + - {new Array(extraPageCount).fill().map((_, i) => ( - - - + send({ type: 'BACK' })} next={true} /> diff --git a/src/components/pageElements/CornerSubmission/Metadata.jsx b/src/components/pageElements/CornerSubmission/Metadata.tsx similarity index 73% rename from src/components/pageElements/CornerSubmission/Metadata.jsx rename to src/components/pageElements/CornerSubmission/Metadata.tsx index e114349a..0e5f3cc5 100644 --- a/src/components/pageElements/CornerSubmission/Metadata.jsx +++ b/src/components/pageElements/CornerSubmission/Metadata.tsx @@ -2,23 +2,37 @@ import { Field, Label as HeadlessLabel } from '@headlessui/react'; import { ArrowTopRightOnSquareIcon } from '@heroicons/react/20/solid'; import { ErrorMessage } from '@hookform/error-message'; import { yupResolver } from '@hookform/resolvers/yup'; -import { useContext, useEffect } from 'react'; -import { Controller, useForm } from 'react-hook-form'; -import { accuracy, corner, status } from '../../../../functions/shared/cornerSubmission/Options.js'; -import { metadataSchema as schema } from '../../../../functions/shared/cornerSubmission/Schema.js'; -import { SubmissionContext } from '../../contexts/SubmissionContext.jsx'; -import { Link } from '../../formElements/Buttons.jsx'; -import { NumberedForm, NumberedFormSection } from '../../formElements/Form.jsx'; -import { Input, Label } from '../../formElements/Inputs.jsx'; -import { LimitedTextarea } from '../../formElements/LimitedTextarea.jsx'; -import { Select } from '../../formElements/Select.jsx'; -import Spacer from '../../formElements/Spacer.jsx'; -import { Switch } from '../../formElements/Switch.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import ErrorMessageTag from '../../pageElements/ErrorMessage.jsx'; -import Wizard from './Wizard.jsx'; +import { accuracy, corner, status } from '@ugrc/plss-shared/corner-submission/options'; +import { type Metadata as MetadataValues, metadataSchema as schema } from '@ugrc/plss-shared/corner-submission/schema'; +import { useEffect } from 'react'; +import { Controller, type Resolver, type UseFormHandleSubmit, useForm } from 'react-hook-form'; +import { useSubmissionContext } from '../../contexts/SubmissionContext.tsx'; +import { Link } from '../../formElements/Buttons.tsx'; +import { NumberedForm, NumberedFormSection } from '../../formElements/Form.tsx'; +import { Input, Label } from '../../formElements/Inputs.tsx'; +import { LimitedTextarea } from '../../formElements/LimitedTextarea.tsx'; +import { Select } from '../../formElements/Select.tsx'; +import Spacer from '../../formElements/Spacer.tsx'; +import { Switch } from '../../formElements/Switch.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import ErrorMessageTag from '../../pageElements/ErrorMessage.tsx'; +import type { AppAction } from '../../reducers/AppReducer.ts'; +import Wizard from './Wizard.tsx'; -const defaults = { +type MetadataFormValues = Omit< + MetadataValues, + 'accuracy' | 'collected' | 'corner' | 'description' | 'notes' | 'section' | 'status' +> & { + accuracy: MetadataValues['accuracy'] | ''; + collected: MetadataValues['collected'] | ''; + corner: MetadataValues['corner'] | ''; + description: MetadataValues['description'] | ''; + notes: MetadataValues['notes'] | ''; + section: MetadataValues['section'] | ''; + status: MetadataValues['status'] | ''; +}; + +const defaults: MetadataFormValues = { section: '', corner: '', notes: '', @@ -26,42 +40,39 @@ const defaults = { status: '', collected: '', accuracy: '', - mrrc: false, + mrrc: true, }; const dateFormatter = new Intl.DateTimeFormat('sv-SE'); -/** - * @typedef {Object} MetadataProps - * @property {function} dispatch - */ +type MetadataProps = { + dispatch: (action: AppAction) => void; +}; -/** - * @type {React.FC} - */ -const Metadata = ({ dispatch }) => { +const Metadata = ({ dispatch }: MetadataProps) => { const meta = 'metadata'; - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); usePageView('screen-submission-metadata'); - let defaultValues = state.context?.metadata; - if (!defaultValues) { - defaultValues = defaults; - } - - if (typeof defaultValues?.mrrc !== 'boolean') { - defaultValues.mrrc = false; - } + const savedMetadata = state.context.metadata as Partial | undefined; + const defaultValues: MetadataFormValues = { + ...defaults, + ...savedMetadata, + mrrc: typeof savedMetadata?.mrrc === 'boolean' ? savedMetadata.mrrc : true, + }; - const { control, formState, handleSubmit, register, reset, setFocus } = useForm({ - resolver: yupResolver(schema), + const { control, formState, handleSubmit, register, reset, setFocus } = useForm({ + resolver: yupResolver(schema) as Resolver, defaultValues, }); + const typedHandleSubmit = handleSubmit as UseFormHandleSubmit; - const onSubmit = (payload) => { - payload.collected = dateFormatter.format(payload.collected); + const onSubmit = (payload: MetadataFormValues) => { + if (!(payload.collected instanceof Date)) { + return; + } - send({ type: 'NEXT', meta, payload }); + send({ type: 'NEXT', meta, payload: { ...payload, collected: dateFormatter.format(payload.collected) } }); }; const onReset = () => { @@ -77,7 +88,7 @@ const Metadata = ({ dispatch }) => { <>

Monument Metadata

- +
{ { { />
- + dispatch({ type: 'menu/toggle', payload: 'identify' })} clear={onReset} />
diff --git a/src/components/pageElements/CornerSubmission/Pdf.jsx b/src/components/pageElements/CornerSubmission/Pdf.tsx similarity index 59% rename from src/components/pageElements/CornerSubmission/Pdf.jsx rename to src/components/pageElements/CornerSubmission/Pdf.tsx index 630d780e..9619acec 100644 --- a/src/components/pageElements/CornerSubmission/Pdf.jsx +++ b/src/components/pageElements/CornerSubmission/Pdf.tsx @@ -2,55 +2,59 @@ import { Field, Label as HeadlessLabel } from '@headlessui/react'; import { ArrowTopRightOnSquareIcon } from '@heroicons/react/20/solid'; import { ErrorMessage } from '@hookform/error-message'; import { yupResolver } from '@hookform/resolvers/yup'; -import { useFirebaseAuth } from '@ugrc/utah-design-system'; -import { useContext } from 'react'; -import { Controller, useForm, useWatch } from 'react-hook-form'; -import { existingSheetSchema } from '../../../../functions/shared/cornerSubmission/Schema.js'; -import { SubmissionContext } from '../../contexts/SubmissionContext.jsx'; -import { Link } from '../../formElements/Buttons.jsx'; -import FileUpload from '../../formElements/FileUpload.jsx'; -import { NumberedForm, NumberedFormSection } from '../../formElements/Form.jsx'; -import Spacer from '../../formElements/Spacer.jsx'; -import { Switch } from '../../formElements/Switch.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import ErrorMessageTag from '../../pageElements/ErrorMessage.jsx'; -import Wizard from './Wizard.jsx'; +import { type ExistingSheet, existingSheetSchema } from '@ugrc/plss-shared/corner-submission/schema'; +import { useFirebaseAuth } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { Controller, type Resolver, type UseFormHandleSubmit, useForm, useWatch } from 'react-hook-form'; +import { useSubmissionContext } from '../../contexts/SubmissionContext.tsx'; +import { Link } from '../../formElements/Buttons.tsx'; +import FileUpload from '../../formElements/FileUpload.tsx'; +import { NumberedForm, NumberedFormSection } from '../../formElements/Form.tsx'; +import Spacer from '../../formElements/Spacer.tsx'; +import { Switch } from '../../formElements/Switch.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import ErrorMessageTag from '../../pageElements/ErrorMessage.tsx'; +import type { AppAction } from '../../reducers/AppReducer.ts'; +import Wizard from './Wizard.tsx'; -const defaults = { +type ExistingSheetFormValues = { + mrrc: ExistingSheet['mrrc']; + pdf: ExistingSheet['pdf'] | ''; +}; + +const defaults: ExistingSheetFormValues = { pdf: '', - mrrc: false, + mrrc: true, }; -/** - * @typedef {Object} MonumentPdfProps - * @property {function} [dispatch] - */ +type MonumentPdfProps = { + dispatch: (action: AppAction) => void; +}; -/** - * @type {React.FC} - */ -export default function MonumentPdf({ dispatch }) { +export default function MonumentPdf({ dispatch }: MonumentPdfProps) { const { currentUser } = useFirebaseAuth(); - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); usePageView('screen-submission-pdf'); - let defaultValues = state.context.existing; - if (!defaultValues) { - defaultValues = defaults; - } - - if (typeof defaultValues?.mrrc !== 'boolean') { - defaultValues.mrrc = false; - } + const savedSheet = state.context.existing as Partial | undefined; + const defaultValues: ExistingSheetFormValues = { + ...defaults, + ...savedSheet, + mrrc: typeof savedSheet?.mrrc === 'boolean' ? savedSheet.mrrc : true, + }; - const { handleSubmit, control, formState } = useForm({ - resolver: yupResolver(existingSheetSchema), + const { handleSubmit, control, formState } = useForm({ + resolver: yupResolver(existingSheetSchema) as Resolver, defaultValues, }); + const typedHandleSubmit = handleSubmit as UseFormHandleSubmit; const value = useWatch({ control, name: 'pdf' }); - const onSubmit = (payload) => { + const onSubmit = (payload: ExistingSheetFormValues) => { + if (!payload.pdf) { + return; + } + send({ type: 'NEXT', meta: 'existing', payload }); }; @@ -58,7 +62,7 @@ export default function MonumentPdf({ dispatch }) { <>

Monument Sheet

- + - + dispatch({ type: 'menu/toggle', payload: 'identify' })} /> diff --git a/src/components/pageElements/CornerSubmission/SubmissionNotice.jsx b/src/components/pageElements/CornerSubmission/SubmissionNotice.tsx similarity index 61% rename from src/components/pageElements/CornerSubmission/SubmissionNotice.jsx rename to src/components/pageElements/CornerSubmission/SubmissionNotice.tsx index 16ee335b..7a0e7eae 100644 --- a/src/components/pageElements/CornerSubmission/SubmissionNotice.jsx +++ b/src/components/pageElements/CornerSubmission/SubmissionNotice.tsx @@ -1,46 +1,46 @@ import { useQuery } from '@tanstack/react-query'; -import { useFirebaseAuth, useFirebaseFunctions } from '@ugrc/utah-design-system'; +import extractTownshipInformation from '@ugrc/plss-shared/corner-submission/blm-point-id'; +import type { Profile } from '@ugrc/plss-shared/corner-submission/schema'; +import { useFirebaseAuth } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { useFirebaseFunctions } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; import { httpsCallable } from 'firebase/functions'; import { useMemo } from 'react'; -import extractTownshipInformation from '../../../../functions/shared/cornerSubmission/blmPointId.js'; -import { Button } from '../../formElements/Buttons.jsx'; -import Card from '../../formElements/Card.jsx'; -import Note from '../../formElements/Note.jsx'; +import { Button } from '../../formElements/Buttons.js'; +import Card from '../../formElements/Card.js'; +import Note from '../../formElements/Note.js'; -/** - * @typedef {Object} SubmissionNoticeProps - * @property {string} pointId - * @property {string} county - * @property {function} toggle - */ +type SubmissionNoticeProps = { + pointId: string; + county?: string; + toggle: () => void; +}; -/** - * @type {React.FC} - */ -export default function SubmissionNotice({ pointId, county, toggle }) { +export default function SubmissionNotice({ pointId, county, toggle }: SubmissionNoticeProps) { const { currentUser } = useFirebaseAuth(); const townshipInformation = useMemo(() => extractTownshipInformation(pointId), [pointId]); const { functions } = useFirebaseFunctions(); - const getProfile = httpsCallable(functions, 'getProfile'); + const getProfile = httpsCallable>(functions, 'getProfile'); + const fallbackProfile: Partial = { + displayName: currentUser?.displayName ?? '', + email: currentUser?.email ?? '', + license: '', + }; const { data } = useQuery({ - queryKey: ['profile', currentUser.uid], - enabled: currentUser !== undefined, - queryFn: getProfile, + queryKey: ['profile', currentUser?.uid], + enabled: Boolean(currentUser), + queryFn: () => getProfile(), placeholderData: { - data: { - displayName: currentUser?.displayName ?? '', - email: currentUser?.email ?? '', - license: '', - }, + data: fallbackProfile, }, staleTime: Infinity, }); + const profile = data?.data ?? fallbackProfile; const location = { - county: county, + county: county ?? 'Unknown', meridian: townshipInformation.meridian.abbr, township: townshipInformation.township, range: townshipInformation.range, @@ -55,11 +55,11 @@ export default function SubmissionNotice({ pointId, county, toggle }) {
Submitted By - {data.data.displayName} + {profile.displayName}
Surveyor License - {data.data.license} + {profile.license}
BLM Point # diff --git a/src/components/pageElements/CornerSubmission/SubmissionReview.stories.jsx b/src/components/pageElements/CornerSubmission/SubmissionReview.stories.tsx similarity index 87% rename from src/components/pageElements/CornerSubmission/SubmissionReview.stories.jsx rename to src/components/pageElements/CornerSubmission/SubmissionReview.stories.tsx index 930db1d6..6c7753d0 100644 --- a/src/components/pageElements/CornerSubmission/SubmissionReview.stories.jsx +++ b/src/components/pageElements/CornerSubmission/SubmissionReview.stories.tsx @@ -1,12 +1,10 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { - FirebaseAnalyticsProvider, - FirebaseAppProvider, - FirebaseFunctionsProvider, - FirebaseStorageProvider, -} from '@ugrc/utah-design-system'; -import { SubmissionProvider } from '../../contexts/SubmissionContext.jsx'; -import Review from './SubmissionReview.jsx'; +import { FirebaseAnalyticsProvider } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import { FirebaseFunctionsProvider } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { FirebaseStorageProvider } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; +import { SubmissionProvider } from '../../contexts/SubmissionContext.tsx'; +import Review from './SubmissionReview.tsx'; let config = { apiKey: '', diff --git a/src/components/pageElements/CornerSubmission/SubmissionReview.jsx b/src/components/pageElements/CornerSubmission/SubmissionReview.tsx similarity index 69% rename from src/components/pageElements/CornerSubmission/SubmissionReview.jsx rename to src/components/pageElements/CornerSubmission/SubmissionReview.tsx index 2c24595c..2e6059d9 100644 --- a/src/components/pageElements/CornerSubmission/SubmissionReview.jsx +++ b/src/components/pageElements/CornerSubmission/SubmissionReview.tsx @@ -1,23 +1,31 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; -import { useFirebaseFunctions, useFirebaseStorage } from '@ugrc/utah-design-system'; +import { formatDatum, keyMap } from '@ugrc/plss-shared'; +import { geographic as geographicOptions, grid as gridOptions } from '@ugrc/plss-shared/corner-submission/options'; +import type { ExistingSheet, Metadata, Images as SubmissionImages } from '@ugrc/plss-shared/corner-submission/schema'; +import { useFirebaseFunctions } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { useFirebaseStorage } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; import { httpsCallable } from 'firebase/functions'; import { getDownloadURL, ref } from 'firebase/storage'; -import { useContext, useState } from 'react'; +import { type ReactNode, useEffect, useState } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; -import { - geographic as geographicOptions, - grid as gridOptions, -} from '../../../../functions/shared/cornerSubmission/Options.js'; -import { formatDatum, keyMap } from '../../../../functions/shared/index.js'; -import { SubmissionContext } from '../../contexts/SubmissionContext.jsx'; -import { Link } from '../../formElements/Buttons.jsx'; -import Card from '../../formElements/Card.jsx'; -import { ObjectPreview } from '../../formElements/FileUpload.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import Wizard from './Wizard.jsx'; +import { useSubmissionContext } from '../../contexts/SubmissionContext.tsx'; +import { Link } from '../../formElements/Buttons.tsx'; +import Card from '../../formElements/Card.tsx'; +import { ObjectPreview } from '../../formElements/FileUpload.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import type { GeographicCoordinates, GridCoordinates, SubmissionMachineContext } from '../../machines/index.ts'; +import Wizard from './Wizard.tsx'; + +type ReviewContext = SubmissionMachineContext & { + blmPointId?: string; + existing?: ExistingSheet; + images?: SubmissionImages; + metadata?: Metadata; +}; const Review = () => { - const [state, send] = useContext(SubmissionContext); + const [state, send] = useSubmissionContext(); + const context = state.context as ReviewContext; usePageView('screen-submission-review'); @@ -27,14 +35,14 @@ const Review = () => { const queryClient = useQueryClient(); const { data, status } = useQuery({ - enabled: state.context.type === 'new', - queryKey: ['monument record sheet', state.context.blmPointId, { preview: true }, state.context], - queryFn: () => generatePreview(state.context), + enabled: context.type === 'new', + queryKey: ['monument record sheet', context.blmPointId, { preview: true }, context], + queryFn: () => generatePreview(context), staleTime: 5000, // 5 seconds, }); const { mutate, status: mutationStatus } = useMutation({ - mutationKey: ['submit corner', state.context.blmPointId], - mutationFn: (data) => saveCorner(data), + mutationKey: ['submit corner', context.blmPointId], + mutationFn: (submission: ReviewContext) => saveCorner(submission), onSuccess: async (response) => { console.log('success', response); await queryClient.cancelQueries(); @@ -43,11 +51,10 @@ const Review = () => { queryClient.removeQueries({ queryKey: ['monument record sheet'] }); send({ type: 'NEXT' }); - state.context = undefined; }, onError: (error) => { console.warn('error', error); - send({ type: 'NEXT' }); + send({ type: 'ERROR' }); }, }); @@ -56,36 +63,40 @@ const Review = () => {

Corner Submission Review

-

{state.context.blmPointId}

+

{context.blmPointId}

- {state.context.type !== 'existing' && } - - {state.context.type === 'existing' && state.context.existing.mrrc && ( + {context.type !== 'existing' && context.metadata && } + + {context.type === 'existing' && context.existing?.mrrc && (
MRRC
)} - {state.context.type === 'existing' ? ( - + {context.type === 'existing' ? ( + ) : ( - + )} - {state.context.type === 'new' && ( + {context.type === 'new' && ( - + )}
- send({ type: 'BACK' })} status={mutationStatus} finish={() => mutate(state.context)} /> + send({ type: 'BACK' })} + status={mutationStatus === 'idle' ? undefined : mutationStatus} + finish={() => mutate(context)} + />
); }; -const MetadataReview = ({ accuracy, collected, corner, description, mrrc, notes, section, status }) => { +const MetadataReview = ({ accuracy, collected, corner, description, mrrc, notes, section, status }: Metadata) => { return (

@@ -102,7 +113,7 @@ const MetadataReview = ({ accuracy, collected, corner, description, mrrc, notes,

Collected on - {collected} + {String(collected)}
Accuracy @@ -136,7 +147,13 @@ const MetadataReview = ({ accuracy, collected, corner, description, mrrc, notes, * @property {boolean} [mrrc] */ -const CoordinateReview = ({ datum, grid, geographic }) => { +type CoordinateReviewProps = { + datum?: string; + geographic?: GeographicCoordinates; + grid?: GridCoordinates; +}; + +const CoordinateReview = ({ datum, grid, geographic }: CoordinateReviewProps) => { if (!datum) { return ( @@ -146,7 +163,7 @@ const CoordinateReview = ({ datum, grid, geographic }) => { ); } - let calculated = geographicOptions[0].label; + let calculated: string = geographicOptions[0].label; const [type] = datum.split('-'); if (type === 'geographic') { @@ -204,15 +221,15 @@ const CoordinateReview = ({ datum, grid, geographic }) => { * @property {string} [geographic.unit] */ -const GridCoordinateReview = ({ grid }) => ( +const GridCoordinateReview = ({ grid }: Pick) => ( <>
Zone - {keyMap.zone(grid?.zone)} + {keyMap.zone(grid?.zone ?? '')}
Unit - {keyMap.unit(grid?.unit)} + {keyMap.unit(grid?.unit ?? '')}
Coordinates @@ -238,7 +255,7 @@ const GridCoordinateReview = ({ grid }) => ( * @property {string} [grid.verticalDatum] */ -const GeographicCoordinateReview = ({ geographic }) => ( +const GeographicCoordinateReview = ({ geographic }: Pick) => ( <>
Coordinates @@ -249,7 +266,7 @@ const GeographicCoordinateReview = ({ geographic }) => (
Ellipsoid Height - {`${geographic?.elevation} ${keyMap.unit(geographic?.unit)}`} + {`${geographic?.elevation} ${keyMap.unit(geographic?.unit ?? '')}`}
); @@ -269,15 +286,14 @@ const GeographicCoordinateReview = ({ geographic }) => ( * @property {string} [geographic.unit] */ -const ImagesReview = ({ images }) => { +const ImagesReview = ({ images }: { images?: SubmissionImages }) => { return (

Images and Extra Pages

- {Object.values(images).filter((x) => x).length > 0 ? ( - Object.entries(images).map((image) => { - const [key, value] = image; + {Object.values(images ?? {}).filter((image) => image).length > 0 ? ( + Object.entries(images ?? {}).map(([key, value]) => { if (!value) { - return; + return null; } return ; @@ -294,10 +310,26 @@ const ImagesReview = ({ images }) => { * @property {Object} [images] */ -const Image = ({ path }) => { +const useStorageUrl = (path?: string): string | undefined => { const { storage } = useFirebaseStorage(); - const [data, setData] = useState(); - getDownloadURL(ref(storage, path)).then(setData); + const [url, setUrl] = useState(); + + useEffect(() => { + if (!path) { + setUrl(undefined); + return; + } + + getDownloadURL(ref(storage, path)) + .then(setUrl) + .catch(() => setUrl(undefined)); + }, [path, storage]); + + return url; +}; + +const Image = ({ path }: { path: string }) => { + const data = useStorageUrl(path); return (
@@ -311,16 +343,13 @@ const Image = ({ path }) => { * @property {string} [path] */ -const AttachmentReview = ({ path }) => { - const { storage } = useFirebaseStorage(); - const [data, setData] = useState(); - - getDownloadURL(ref(storage, path)).then(setData); +const AttachmentReview = ({ path }: { path?: string }) => { + const data = useStorageUrl(path); return (

Existing Monument Record Sheet

-
+
Uploaded Tiesheet @@ -335,13 +364,18 @@ const AttachmentReview = ({ path }) => { * @property {string} [path] */ -const MonumentPreview = ({ status, children }) => { +type MonumentPreviewProps = { + children?: ReactNode; + status: 'pending' | 'error' | 'success'; +}; + +const MonumentPreview = ({ status, children }: MonumentPreviewProps) => { return (

Monument Record Sheet Preview

{status === 'pending' && 'generating preview...'} {status === 'success' && ( -
+
The preview could not be accessed.
}>{children}
)} @@ -356,10 +390,8 @@ const MonumentPreview = ({ status, children }) => { * @property {React.ReactNode} [children] */ -const PdfPreview = ({ path }) => { - const { storage } = useFirebaseStorage(); - const [data, setData] = useState(); - getDownloadURL(ref(storage, path)).then(setData); +const PdfPreview = ({ path }: { path?: string }) => { + const data = useStorageUrl(path); if (!data) { return
Loading...
; diff --git a/src/components/pageElements/CornerSubmission/SubmissionSuccess.jsx b/src/components/pageElements/CornerSubmission/SubmissionSuccess.tsx similarity index 79% rename from src/components/pageElements/CornerSubmission/SubmissionSuccess.jsx rename to src/components/pageElements/CornerSubmission/SubmissionSuccess.tsx index 7f607aac..27755adc 100644 --- a/src/components/pageElements/CornerSubmission/SubmissionSuccess.jsx +++ b/src/components/pageElements/CornerSubmission/SubmissionSuccess.tsx @@ -1,15 +1,13 @@ -import { Button } from '../../formElements/Buttons.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; +import type { Dispatch } from 'react'; +import { Button } from '../../formElements/Buttons.js'; +import usePageView from '../../hooks/usePageView.js'; +import type { AppAction } from '../../reducers/AppReducer.js'; -/** - * @typedef {Object} SubmissionSuccessProps - * @property {function} [dispatch] - */ +type SubmissionSuccessProps = { + dispatch: Dispatch; +}; -/** - * @type {React.FC} - */ -export default function SubmissionSuccess({ dispatch }) { +export default function SubmissionSuccess({ dispatch }: SubmissionSuccessProps) { usePageView('screen-submission-success'); return ( diff --git a/src/components/pageElements/CornerSubmission/Wizard.stories.jsx b/src/components/pageElements/CornerSubmission/Wizard.stories.tsx similarity index 94% rename from src/components/pageElements/CornerSubmission/Wizard.stories.jsx rename to src/components/pageElements/CornerSubmission/Wizard.stories.tsx index a7992185..38f993ca 100644 --- a/src/components/pageElements/CornerSubmission/Wizard.stories.jsx +++ b/src/components/pageElements/CornerSubmission/Wizard.stories.tsx @@ -1,4 +1,4 @@ -import Wizard from './Wizard.jsx'; +import Wizard from './Wizard.tsx'; export default { title: 'Form Items/Wizard', diff --git a/src/components/pageElements/CornerSubmission/Wizard.jsx b/src/components/pageElements/CornerSubmission/Wizard.tsx similarity index 70% rename from src/components/pageElements/CornerSubmission/Wizard.jsx rename to src/components/pageElements/CornerSubmission/Wizard.tsx index e3b21dc5..631c72ff 100644 --- a/src/components/pageElements/CornerSubmission/Wizard.jsx +++ b/src/components/pageElements/CornerSubmission/Wizard.tsx @@ -1,18 +1,16 @@ -import { Button } from '../../formElements/Buttons.jsx'; +import { Button } from '../../formElements/Buttons.js'; -/** - * @typedef {Object} WizardProps - * @property {function|boolean} [back] - * @property {boolean} [next] - * @property {function} [finish] - * @property {function} [clear] - * @property {string} [status] - */ +type SubmissionStatus = 'pending' | 'success' | 'error'; -/** - * @type {React.FC} - */ -export default function Wizard({ back = false, next = false, finish, clear, status }) { +type WizardProps = { + back?: (() => void) | false; + next?: boolean; + finish?: () => void; + clear?: () => void; + status?: SubmissionStatus; +}; + +export default function Wizard({ back = false, next = false, finish, clear, status }: WizardProps) { return (
{back && ( @@ -24,7 +22,7 @@ export default function Wizard({ back = false, next = false, finish, clear, stat
diff --git a/src/components/pageElements/ErrorMessage.jsx b/src/components/pageElements/ErrorMessage.jsx deleted file mode 100644 index 7156d420..00000000 --- a/src/components/pageElements/ErrorMessage.jsx +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @typedef {Object} ErrorMessageTagProps - * @property {string} [children] - */ - -/** - * @type {React.FC} - */ -export default function ErrorMessageTag({ children }) { - return ( -

- {children} -

- ); -} diff --git a/src/components/pageElements/ErrorMessage.tsx b/src/components/pageElements/ErrorMessage.tsx new file mode 100644 index 00000000..079f9681 --- /dev/null +++ b/src/components/pageElements/ErrorMessage.tsx @@ -0,0 +1,13 @@ +import type { ReactNode } from 'react'; + +type ErrorMessageTagProps = { + children?: ReactNode; +}; + +export default function ErrorMessageTag({ children }: ErrorMessageTagProps) { + return ( +

+ {children} +

+ ); +} diff --git a/src/components/pageElements/Identify.stories.jsx b/src/components/pageElements/Identify.stories.tsx similarity index 87% rename from src/components/pageElements/Identify.stories.jsx rename to src/components/pageElements/Identify.stories.tsx index 90b5706a..1d11ec6a 100644 --- a/src/components/pageElements/Identify.stories.jsx +++ b/src/components/pageElements/Identify.stories.tsx @@ -1,9 +1,11 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { FirebaseAppProvider, FirebaseAuthProvider, FirebaseStorageProvider } from '@ugrc/utah-design-system'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import { FirebaseAuthProvider } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { FirebaseStorageProvider } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; import { initializeApp } from 'firebase/app'; import { getAuth } from 'firebase/auth'; import { getStorage } from 'firebase/storage'; -import Identify from './Identify.jsx'; +import Identify from './Identify.tsx'; let config = { apiKey: '', diff --git a/src/components/pageElements/Identify.jsx b/src/components/pageElements/Identify.tsx similarity index 82% rename from src/components/pageElements/Identify.jsx rename to src/components/pageElements/Identify.tsx index 560c6870..c8f425a0 100644 --- a/src/components/pageElements/Identify.jsx +++ b/src/components/pageElements/Identify.tsx @@ -1,12 +1,13 @@ import { ArrowDownCircleIcon } from '@heroicons/react/20/solid'; import { CheckIcon, ExclamationCircleIcon, XMarkIcon } from '@heroicons/react/24/outline'; -import { getDefault } from '../../../functions/shared/index.js'; -import { Button, Link } from '../formElements/Buttons.jsx'; -import Card from '../formElements/Card.jsx'; -import Spacer from '../formElements/Spacer.jsx'; -import TieSheetList from './TieSheetList.jsx'; +import { getDefault } from '@ugrc/plss-shared'; +import { Button, Link } from '../formElements/Buttons.tsx'; +import Card from '../formElements/Card.tsx'; +import Spacer from '../formElements/Spacer.tsx'; +import type { AppDispatch } from './contentTypes.ts'; +import TieSheetList from './TieSheetList.tsx'; -const managed_counties = { +const managedCounties = { UTAH: 'https://maps.utahcounty.gov/TieSheets/TieSheet.htm', WASATCH: 'https://wasatch.maps.arcgis.com/apps/webappviewer/index.html?id=103db0251a5342f7bbd1462eb7a47440', DAVIS: 'http://www.co.davis.ut.us/surveyor/default.cfm', @@ -15,19 +16,36 @@ const managed_counties = { DUCHESNE: 'https://duchesne.utah.gov/surveyor/base&meridian.html', UINTAH: 'https://www.co.uintah.ut.us/surveyor/UCTieSheet.htm', CACHE: 'https://www.cachecounty.org/surveyor/find-a-survey.html', +} as const; + +type IdentifyAttributes = { + control?: string | number | null; + county?: string; + elevation?: string | number | null; + label?: string; + latitude?: string | number; + longitude?: string | number; + managed_by?: keyof typeof managedCounties; + monument?: string | number | null; + mrrc?: string | number | null; + plss_id?: string; + point_category?: string; + point_id?: string; + steward?: string; + steward_second?: string; +}; + +type IdentifyGraphic = { + attributes: IdentifyAttributes; }; -/** - * @typedef {Object} IdentifyProps - * @property {boolean} [authenticated] - * @property {Object} [graphic] - * @property {function} [dispatch] - */ +type IdentifyProps = { + authenticated?: boolean; + dispatch?: AppDispatch; + graphic?: IdentifyGraphic | null; +}; -/** - * @type {React.FC} - */ -export default function Identify({ authenticated, graphic, dispatch }) { +export default function Identify({ authenticated, graphic, dispatch }: IdentifyProps) { if (!graphic) { return ; } @@ -133,7 +151,7 @@ export default function Identify({ authenticated, graphic, dispatch }) {
County managed - + {getDefault(graphic.attributes.managed_by)} county surveyor website @@ -145,7 +163,7 @@ export default function Identify({ authenticated, graphic, dispatch }) { +
); }; -/** - * @typedef {Object} GravatarProps - * @property {string} email - */ - -/** - * @type {React.FC} - */ -const Gravatar = ({ email }) => { +const Gravatar = ({ email }: { email: string }) => { const gravatar = `https://www.gravatar.com/avatar/${md5(email.toLowerCase())}?r=pg&size=${size}&default=${fallback}`; return Gravatar; diff --git a/src/components/pageElements/Logo.jsx b/src/components/pageElements/Logo.tsx similarity index 96% rename from src/components/pageElements/Logo.jsx rename to src/components/pageElements/Logo.tsx index 73821586..7206c2a3 100644 --- a/src/components/pageElements/Logo.jsx +++ b/src/components/pageElements/Logo.tsx @@ -1,12 +1,8 @@ -/** - * @typedef {Object} LogoProps - * @property {string} [version] - */ +type LogoProps = { + version?: string; +}; -/** - * @type {React.FC} - */ -export default function Logo({ version }) { +export default function Logo({ version }: LogoProps) { return (
diff --git a/src/components/pageElements/Map.jsx b/src/components/pageElements/Map.tsx similarity index 52% rename from src/components/pageElements/Map.jsx rename to src/components/pageElements/Map.tsx index b6d2fee9..cf7b323a 100644 --- a/src/components/pageElements/Map.jsx +++ b/src/components/pageElements/Map.tsx @@ -10,24 +10,33 @@ import PictureMarkerSymbol from '@arcgis/core/symbols/PictureMarkerSymbol.js'; import SimpleMarkerSymbol from '@arcgis/core/symbols/SimpleMarkerSymbol.js'; import Viewpoint from '@arcgis/core/Viewpoint'; import MapView from '@arcgis/core/views/MapView'; +import '@arcgis/map-components/components/arcgis-map'; import { Tab, TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react'; import { useWindowWidth } from '@react-hook/window-size'; import { useQuery } from '@tanstack/react-query'; -import { LayerSelector, useFirebaseAnalytics, useFirebaseAuth, useFirebaseFunctions } from '@ugrc/utah-design-system'; -import { getUrlParameter, setUrlParameter } from '@ugrc/utilities'; -import { useGraphicManager, useViewLoading, useViewPointZooming } from '@ugrc/utilities/hooks'; +import { LayerSelector } from '@ugrc/utah-design-system/components/LayerSelector'; +import { BusyBar } from '@ugrc/utah-design-system/components/Spinner'; +import { useFirebaseAnalytics } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { useFirebaseAuth } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { useFirebaseFunctions } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import useGraphicManager from '@ugrc/utilities/hooks/useGraphicManager'; +import useViewLoading from '@ugrc/utilities/hooks/useViewLoading'; +import useViewPointZooming from '@ugrc/utilities/hooks/useViewPointZooming'; +import { getUrlParameter, setUrlParameter } from '@ugrc/utilities/url'; import { clsx } from 'clsx'; import { contrastColor } from 'contrast-color'; import { httpsCallable } from 'firebase/functions'; import { useEffect, useRef, useState } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; -import DefaultFallback from './ErrorBoundary.jsx'; -import { normalizePointId } from './utils.js'; -import GroupButton from './mapElements/GroupButton.jsx'; -import HomeButton from './mapElements/HomeButton.jsx'; -import MonumentRecord from './mapElements/MonumentRecord.jsx'; -import MyLocation from './mapElements/MyLocation.jsx'; -import Township from './mapElements/Township.jsx'; +import type { AppState } from '../reducers/AppReducer.ts'; +import type { AppDispatch } from './contentTypes.ts'; +import DefaultFallback from './ErrorBoundary.tsx'; +import GroupButton from './mapElements/GroupButton.tsx'; +import HomeButton from './mapElements/HomeButton.tsx'; +import MonumentRecord from './mapElements/MonumentRecord.tsx'; +import MyLocation from './mapElements/MyLocation.tsx'; +import Township from './mapElements/Township.tsx'; +import { normalizePointId } from './utils.ts'; esriConfig.assetsPath = '/assets'; @@ -39,9 +48,6 @@ const urls = { points: 'https://services1.arcgis.com/99lidPhWCzftIe9K/arcgis/rest/services/PLSS_Monuments/FeatureServer/0', }; -const loadingCss = - 'z-1 transition-all duration-700 ease-in-out absolute top-0 h-2 w-screen animate-gradient-x bg-linear-to-r from-cyan-700/90 via-teal-100/90 to-purple-600/90'; - const white = [0, 0, 0, 255]; const outline = { color: white, @@ -183,47 +189,67 @@ const extent = { xmin: -13074391.513731329, ymax: 5225035.106177688, ymin: 4373832.359194187, - spatialReference: 3857, -}; + spatialReference: { wkid: 3857 }, +} as const; const tabs = ['Section Finder', 'Monument Finder']; const level14 = 72223; const plssPointsLayerId = 'PLSS Points'; -/** - * @typedef {Object} PlssMapProps - * @property {string} color - * @property {function} dispatch - * @property {boolean} drawerOpen - * @property {Object} state - */ - -/** - * @type {React.FC} - */ -export default function PlssMap({ color, dispatch, drawerOpen, state }) { - const node = useRef(null); - const mapView = useRef(); +type MapContent = { + points: Array[0]>>; +}; + +type LayerSelectorOptions = { + basemaps: string[]; + operationalLayers: Array< + | string + | { + defaultSelected?: boolean; + function: () => FeatureLayer | VectorTileLayer; + label: string; + } + >; + quadWord: string; +}; + +type CenterTarget = NonNullable[0]>['targetGeometry']>; + +const isGraphic = (value: unknown): value is Graphic => value instanceof Graphic; + +const isCenterTarget = (value: unknown): value is CenterTarget => + typeof value === 'object' && value !== null && 'type' in value; + +type PlssMapProps = { + color: string; + dispatch: AppDispatch; + drawerOpen: boolean; + state: AppState['map']; +}; + +export default function PlssMap({ color, dispatch, drawerOpen, state }: PlssMapProps) { + const node = useRef(null); const pointFromUrlLoaded = useRef(false); - const [selectorOptions, setSelectorOptions] = useState(); + const [selectorOptions, setSelectorOptions] = useState(); const [mapState, setMapState] = useState('idle'); + const [view, setView] = useState(); const onlyWidth = useWindowWidth(); const { currentUser } = useFirebaseAuth(); const logEvent = useFirebaseAnalytics(); - const isLoading = useViewLoading(mapView.current); - const { graphic, setGraphic } = useGraphicManager(mapView.current); - const { setGraphic: setUserGraphics } = useGraphicManager(mapView.current); - const { setGraphic: setGpsGraphic } = useGraphicManager(mapView.current); - const { setViewPoint } = useViewPointZooming(mapView.current); + const isLoading = useViewLoading(view); + const { graphic, setGraphic } = useGraphicManager(view ?? null); + const { setGraphic: setUserGraphics } = useGraphicManager(view ?? null); + const { setGraphic: setGpsGraphic } = useGraphicManager(view ?? null); + const { setViewPoint } = useViewPointZooming(view as MapView); const { functions } = useFirebaseFunctions(); - const myContent = httpsCallable(functions, 'getMyContent'); + const myContent = httpsCallable(functions, 'getMyContent'); const { data: content, status } = useQuery({ queryKey: ['my content'], - queryFn: myContent, + queryFn: () => myContent(), enabled: currentUser !== undefined, staleTime: Infinity, }); @@ -236,122 +262,119 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { return; } - const esriMap = new EsriMap(); - - mapView.current = new MapView({ - container: node.current, - map: esriMap, - extent, - ui: { - components: ['zoom'], - }, - }); - + const mapElement = node.current; + mapElement.map = new EsriMap(); + mapElement.extent = extent; setSelectorOptions({ - options: { - view: mapView.current, - quadWord: import.meta.env.VITE_DISCOVER_KEY, - basemaps: ['Hybrid', 'Lite', 'Terrain', 'Topo', 'Color IR', 'High Contrast'], - operationalLayers: [ - 'Address Points', - { - label: 'Land Ownership', - function: () => { - return new VectorTileLayer({ - url: urls.landownership, - opacity: 0.3, - }); - }, + quadWord: import.meta.env.VITE_DISCOVER_KEY, + basemaps: ['Hybrid', 'Lite', 'Terrain', 'Topo', 'Color IR', 'High Contrast'], + operationalLayers: [ + 'Address Points', + { + label: 'Land Ownership', + function: () => { + return new VectorTileLayer({ + url: urls.landownership, + opacity: 0.3, + }); }, - { - label: 'Parcels', - function: () => { - return new FeatureLayer({ - url: urls.parcels, - opacity: 0.5, - minScale: 55000, - }); - }, + }, + { + label: 'Parcels', + function: () => { + return new FeatureLayer({ + url: urls.parcels, + opacity: 0.5, + minScale: 55000, + }); }, - { - label: 'PLSS', - defaultSelected: true, - function: () => { - return new VectorTileLayer({ - url: urls.plss, - opacity: 0.5, - minScale: 2000000, - }); - }, + }, + { + label: 'PLSS', + defaultSelected: true, + function: () => { + return new VectorTileLayer({ + url: urls.plss, + opacity: 0.5, + minScale: 2000000, + }); }, - { - label: plssPointsLayerId, - defaultSelected: true, - function: () => { - return new FeatureLayer({ - id: plssPointsLayerId, - url: urls.points, - outFields: [ - 'point_id', - 'plss_id', - 'label', - 'control', - 'longitude', - 'latitude', - 'county', - 'elevation', - 'steward', - 'steward_second', - 'managed_by', - 'mrrc', - 'monument', - 'point_category', - ], - renderer, - labelingInfo: [ - { - labelPlacement: 'above-right', - minScale: 20000, - labelExpressionInfo: { - expression: '$feature.point_id', - }, - where: 'primary_corner=1 or mrrc=1 or monument=1', + }, + { + label: plssPointsLayerId, + defaultSelected: true, + function: () => { + return new FeatureLayer({ + id: plssPointsLayerId, + url: urls.points, + outFields: [ + 'point_id', + 'plss_id', + 'label', + 'control', + 'longitude', + 'latitude', + 'county', + 'elevation', + 'steward', + 'steward_second', + 'managed_by', + 'mrrc', + 'monument', + 'point_category', + ], + renderer, + labelingInfo: [ + { + labelPlacement: 'above-right', + minScale: 20000, + labelExpressionInfo: { + expression: '$feature.point_id', + }, + where: 'primary_corner=1 or mrrc=1 or monument=1', + symbol: { + type: 'text', + color: '#1e293b', + haloColor: [255, 255, 255, 0.8], + haloSize: 3, font: { family: 'Helvetica', size: 14, weight: 'bold', }, - symbol: { - type: 'text', - color: '#1e293b', - haloColor: [255, 255, 255, 0.8], - haloSize: 3, - }, }, - ], - minScale: level14 + 10000, - }); - }, + }, + ], + minScale: level14 + 10000, + }); }, - ], - position: 'top-right', - }, + }, + ], + }); + + let cancelled = false; + + void mapElement.viewOnReady().then(() => { + if (cancelled) { + return; + } + + const mapView = mapElement.view; + mapView.ui.components = ['zoom']; + setView(mapView); }); return () => { - mapView.current.destroy(); - esriMap.destroy(); + cancelled = true; }; }, []); // move zoom widget to bottom right on larger screens useEffect(() => { - mapView.current.when(() => { - if (onlyWidth > 640) { - mapView.current.ui.move(['zoom'], 'bottom-right', 0); - } - }); - }, [onlyWidth]); + if (view && onlyWidth > 640) { + view.ui.move(['zoom'], 'bottom-right'); + } + }, [onlyWidth, view]); // set view padding depending on screen size useEffect(() => { @@ -359,32 +382,33 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { return; } - if (mapView.current) { + if (view) { if (onlyWidth > 640) { - mapView.current.padding = { left: drawerOpen ? 400 : 0, bottom: 0 }; + view.padding = { left: drawerOpen ? 400 : 0, bottom: 0, right: 0, top: 0 }; } else { - mapView.current.padding = { bottom: drawerOpen ? 580 : 70, left: 0 }; + view.padding = { bottom: drawerOpen ? 580 : 70, left: 0, right: 0, top: 0 }; } } - }, [onlyWidth, drawerOpen]); + }, [onlyWidth, drawerOpen, view]); // manage highlighted graphic useEffect(() => { - if (!mapView.current.ready) { + if (!view?.ready) { return; } - const plssPoints = mapView.current.map.findLayerById(plssPointsLayerId); + const plssPoints = view.map?.findLayerById(plssPointsLayerId); + const pointLayer = plssPoints instanceof FeatureLayer ? plssPoints : undefined; - if (!identifyGraphic) { - if (plssPoints) { - plssPoints.featureEffect = null; + if (!isGraphic(identifyGraphic)) { + if (pointLayer) { + pointLayer.featureEffect = null; } return; } - mapView.current.goTo( + view.goTo( new Viewpoint({ targetGeometry: identifyGraphic.geometry, scale: 4500, @@ -392,24 +416,24 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { { duration: 1000 }, ); - if (plssPoints) { - plssPoints.featureEffect = { + if (pointLayer) { + pointLayer.featureEffect = { filter: { - objectIds: [identifyGraphic.attributes.OBJECTID], + objectIds: [identifyGraphic.attributes.OBJECTID as number], }, includedEffect: 'drop-shadow(0px 0px 10px white) saturate(200%) brightness(400%) opacity(100%)', excludedEffect: 'grayscale(70%) opacity(70%) invert(10%)', }; } - }, [identifyGraphic]); + }, [identifyGraphic, view]); // handle clicks useEffect(() => { - if (!mapView.current) { + if (!view) { return; } - const clickHandler = mapView.current.on('click', async (event) => { + const clickHandler = view.on('click', async (event) => { switch (state.activeTool) { case 'add-point': { const point = { ...event.mapPoint.toJSON(), type: 'point' }; @@ -433,16 +457,16 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { break; } default: { - const response = await mapView.current.hitTest(event); - - const hits = response?.results?.filter((result) => result.layer?.id === plssPointsLayerId); + const response = await view.hitTest(event); + const hits = response.results.filter((result) => result.layer?.id === plssPointsLayerId); - let payload = null; - if (hits.length > 0) { - payload = hits[0].graphic; + let payload: Graphic | null = null; + const firstHit = hits[0]; + if (firstHit && 'graphic' in firstHit) { + payload = firstHit.graphic; } else { - if (mapView.current.scale > level14 + 1) { - mapView.current.goTo( + if (view.scale > level14 + 1) { + view.goTo( new Viewpoint({ targetGeometry: event.mapPoint, scale: level14, @@ -454,10 +478,10 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { logEvent('identify', { hits: hits.length, - scale: mapView.current.scale, + scale: view.scale, }); - setUrlParameter('POINT_ID', payload?.attributes?.point_id ?? null); + setUrlParameter('POINT_ID' as never, (payload?.attributes?.point_id as string | undefined) ?? null); dispatch({ type: 'map/identify', payload }); dispatch({ type: 'menu/toggle', payload: 'identify' }); } @@ -465,12 +489,12 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { }); return () => clickHandler?.remove(); - }, [state, dispatch, color, setGraphic, logEvent]); + }, [state, dispatch, color, setGraphic, logEvent, view]); useEffect(() => { - const pointId = normalizePointId(getUrlParameter('POINT_ID', 'string')); + const pointId = normalizePointId(getUrlParameter('POINT_ID' as never, 'string') ?? undefined); - if (!mapView.current || pointFromUrlLoaded.current || pointId.length < 1) { + if (!view || pointFromUrlLoaded.current || pointId.length < 1) { return; } @@ -479,17 +503,18 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { let cancelled = false; const identifyPointFromUrl = async () => { - await mapView.current.when(); + await view.when(); if (cancelled) { return; } - let features = []; + let features: Graphic[]; try { + const existingLayer = view.map?.findLayerById(plssPointsLayerId); const pointLayer = - mapView.current?.map.findLayerById(plssPointsLayerId) ?? + (existingLayer instanceof FeatureLayer ? existingLayer : undefined) ?? new FeatureLayer({ url: urls.points, }); @@ -518,7 +543,7 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { logEvent('identify', { hits: features.length, - scale: mapView.current.scale, + scale: view.scale, source: 'url', }); @@ -535,7 +560,7 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { return () => { cancelled = true; }; - }, [dispatch, logEvent]); + }, [dispatch, logEvent, view]); // update graphic on color change useEffect(() => { @@ -549,8 +574,12 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { if (color === '') { // hex reset on completion, remove the graphic - setGraphic(); + setGraphic(undefined as never); } else { + if (Array.isArray(graphic)) { + return; + } + setGraphic( new Graphic({ geometry: graphic.geometry, @@ -573,10 +602,14 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { // add and remove points on login and logout useEffect(() => { setMapState(status); - const points = []; + const points: Graphic[] = []; if (currentUser !== undefined && status === 'success') { for (const point of content?.data?.points ?? []) { + if (!point) { + continue; + } + points.push( new Graphic({ geometry: point.geometry, @@ -592,48 +625,58 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { } if (currentUser === undefined) { - setUserGraphics(); + setUserGraphics(undefined as never); dispatch({ type: 'map/userPoints', payload: [] }); } - }, [dispatch, setUserGraphics, content?.data?.points, status, currentUser]); + }, [dispatch, setUserGraphics, content?.data?.points, status, currentUser, view]); // add and zoom to gps location useEffect(() => { - if (!gpsGraphic) { + const gpsLocation = gpsGraphic?.graphic; + if (!gpsGraphic || !isGraphic(gpsLocation)) { return; } logEvent('gps-on'); - mapView.current.when(async () => { - await mapView.current.goTo( + view?.when(async () => { + await view.goTo( new Viewpoint({ - targetGeometry: gpsGraphic.graphic.geometry, - scale: gpsGraphic.scale ?? mapView.current.scale, + targetGeometry: gpsLocation.geometry, + scale: gpsGraphic.scale ?? view.scale, }), { duration: 1000 }, ); - setGpsGraphic(gpsGraphic.graphic); + setGpsGraphic(gpsLocation); }); - }, [gpsGraphic, setGpsGraphic, logEvent]); + }, [gpsGraphic, setGpsGraphic, logEvent, view]); // zoom to the center state object useEffect(() => { - if (state.center) { - let targetGeometry = state.center.geometry; + if (state.center && isCenterTarget(state.center.geometry)) { + const centerGeometry = state.center.geometry; + let targetGeometry = centerGeometry; logEvent('zooming', { - type: state.center.geometry?.type, + type: centerGeometry.type, }); - switch (state.center.geometry?.type) { - case 'polygon': - targetGeometry = new Polygon(state.center.geometry).extent.center; + switch (centerGeometry.type) { + case 'polygon': { + const polygonExtent = new Polygon(centerGeometry as ConstructorParameters[0]).extent; + if (polygonExtent) { + targetGeometry = polygonExtent.center; + } break; - case 'polyline': - targetGeometry = new Polyline(state.center.geometry).extent.center; + } + case 'polyline': { + const polylineExtent = new Polyline(centerGeometry as ConstructorParameters[0]).extent; + if (polylineExtent) { + targetGeometry = polylineExtent.center; + } break; + } default: break; } @@ -649,51 +692,61 @@ export default function PlssMap({ color, dispatch, drawerOpen, state }) { setViewPoint(vp); } - }, [state.center, setViewPoint, logEvent]); + }, [state.center, setViewPoint, logEvent, view]); return ( <>
-
-
+ + + {selectorOptions ? ( + [0])} slot="top-right" /> + ) : null} + {view ? ( +
640 ? 'bottom-right' : 'top-left'} + className="mt-18 flex flex-col gap-1 sm:mt-0 sm:mr-10 sm:flex-row" + > + +
+

Quick finder tools

+ + + {tabs.map((item) => ( + + clsx( + 'w-full rounded-lg py-2.5 leading-5 font-medium', + 'ring-white/60 ring-offset-2 ring-offset-sky-400 focus:ring-2 focus:outline-hidden', + selected + ? 'border border-sky-600 bg-sky-500 text-white shadow-sm hover:border-sky-700 hover:bg-sky-600 focus:border-sky-500 focus:ring-sky-600 active:bg-sky-700' + : 'text-sky-700 hover:bg-sky-600/20', + ) + } + > + {item} + + ))} + + + + + + + + + + +
+
+ + +
+ ) : null} +
- {selectorOptions ? : null} - - - -
-

Quick finder tools

- - - {tabs.map((item) => ( - - clsx( - 'w-full rounded-lg py-2.5 leading-5 font-medium', - 'ring-white/60 ring-offset-2 ring-offset-sky-400 focus:ring-2 focus:outline-hidden', - selected - ? 'border border-sky-600 bg-sky-500 text-white shadow-sm hover:border-sky-700 hover:bg-sky-600 focus:border-sky-500 focus:ring-sky-600 active:bg-sky-700' - : 'text-sky-700 hover:bg-sky-600/20', - ) - } - > - {item} - - ))} - - - - - - - - - - -
-
); diff --git a/src/components/pageElements/MyContent.stories.jsx b/src/components/pageElements/MyContent.stories.tsx similarity index 78% rename from src/components/pageElements/MyContent.stories.jsx rename to src/components/pageElements/MyContent.stories.tsx index eb97e841..3585f0bb 100644 --- a/src/components/pageElements/MyContent.stories.jsx +++ b/src/components/pageElements/MyContent.stories.tsx @@ -1,17 +1,15 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { - FirebaseAnalyticsProvider, - FirebaseAppProvider, - FirebaseAuthProvider, - FirebaseFunctionsProvider, - FirebaseStorageProvider, -} from '@ugrc/utah-design-system'; +import { FirebaseAnalyticsProvider } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import { FirebaseAuthProvider } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { FirebaseFunctionsProvider } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { FirebaseStorageProvider } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; import { initializeApp } from 'firebase/app'; import { getAuth } from 'firebase/auth'; import { getFunctions } from 'firebase/functions'; import { getStorage } from 'firebase/storage'; import './../../index.css'; -import MyContent from './MyContent.jsx'; +import MyContent from './MyContent.tsx'; let config = { apiKey: '', diff --git a/src/components/pageElements/MyContent.jsx b/src/components/pageElements/MyContent.tsx similarity index 69% rename from src/components/pageElements/MyContent.jsx rename to src/components/pageElements/MyContent.tsx index 330fe604..27abb4ee 100644 --- a/src/components/pageElements/MyContent.jsx +++ b/src/components/pageElements/MyContent.tsx @@ -1,44 +1,44 @@ import { Tab, TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import { useFirebaseAuth, useFirebaseFunctions, useFirebaseStorage, useFirestore } from '@ugrc/utah-design-system'; -import { useOpenClosed } from '@ugrc/utilities/hooks'; +import { timeSince } from '@ugrc/plss-shared'; +import { useFirebaseAuth } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { useFirebaseFunctions } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { useFirebaseStorage } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; +import { useFirestore } from '@ugrc/utah-design-system/contexts/FirestoreProvider'; +import useOpenClosed from '@ugrc/utilities/hooks/useOpenClosed'; import { clsx } from 'clsx'; import { deleteDoc, doc } from 'firebase/firestore'; import { httpsCallable } from 'firebase/functions'; import { getDownloadURL, ref } from 'firebase/storage'; -import { useState } from 'react'; -import { timeSince } from '../../../functions/shared/index.js'; -import { Button } from '../formElements/Buttons.jsx'; -import Card from '../formElements/Card.jsx'; -import { ObjectPreview } from '../formElements/FileUpload.jsx'; -import { Select } from '../formElements/Select.jsx'; -import Spacer from '../formElements/Spacer.jsx'; -import usePageView from '../hooks/usePageView.jsx'; -import { Submissions } from './Submissions.jsx'; -import { dateFormatter, sortFunction } from './utils.js'; +import { useEffect, useState } from 'react'; +import { Button, type ButtonState } from '../formElements/Buttons.tsx'; +import Card from '../formElements/Card.tsx'; +import { ObjectPreview } from '../formElements/FileUpload.tsx'; +import { Select } from '../formElements/Select.tsx'; +import Spacer from '../formElements/Spacer.tsx'; +import usePageView from '../hooks/usePageView.ts'; +import type { AppDispatch, MyContentData, ReferencePointItem } from './contentTypes.ts'; +import { Submissions } from './Submissions.tsx'; +import { dateFormatter, sortFunction, type SortOrder } from './utils.ts'; const tabs = ['Submissions', 'Reference Points']; -const sortOrders = ['New to Old', 'Old to New', 'Ascending (0-9 A-Z)', 'Descending (Z-A 0-9)']; +const sortOrders: SortOrder[] = ['New to Old', 'Old to New', 'Ascending (0-9 A-Z)', 'Descending (Z-A 0-9)']; -/** - * @typedef {Object} MyContentProps - * @property {function} [dispatch] - */ +type MyContentProps = { + dispatch?: AppDispatch; +}; -/** - * @type {React.FC} - */ -const MyContent = ({ dispatch }) => { +const MyContent = ({ dispatch }: MyContentProps) => { const { currentUser } = useFirebaseAuth(); - const [selectedTab, setSelectedTab] = useState(); + const [selectedTab, setSelectedTab] = useState(); const { analytics, logEvent } = usePageView('screen-my-content'); const { functions } = useFirebaseFunctions(); - const myPoints = httpsCallable(functions, 'getMyContent'); + const myPoints = httpsCallable(functions, 'getMyContent'); const { data, status } = useQuery({ queryKey: ['my content'], - queryFn: myPoints, + queryFn: () => myPoints(), enabled: currentUser !== undefined, staleTime: Infinity, }); @@ -112,10 +112,10 @@ const MyContent = ({ dispatch }) => { )} {status === 'success' && name === 'Submissions' && ( - + )} {status === 'success' && name === 'Reference Points' && ( - + )} ))} @@ -126,14 +126,13 @@ const MyContent = ({ dispatch }) => { ); }; -/** - * @typedef {Object} ReferencePointsProps - * @property {Array} [items] - * @property {function} [dispatch] - */ +type ReferencePointsProps = { + dispatch?: AppDispatch; + items?: ReferencePointItem[]; +}; -const ReferencePoints = ({ items, dispatch }) => { - const [sortOrder, setSortOrder] = useState(sortOrders[0]); +const ReferencePoints = ({ items, dispatch }: ReferencePointsProps) => { + const [sortOrder, setSortOrder] = useState(sortOrders[0]!); if ((items?.length ?? 0) < 1) { return ( @@ -141,7 +140,7 @@ const ReferencePoints = ({ items, dispatch }) => {

Your reference point list is empty

You can create reference points in the{' '} - {' '} section @@ -153,24 +152,28 @@ const ReferencePoints = ({ items, dispatch }) => { return (

- + - + @@ -111,7 +130,7 @@ export default function Profile({ dispatch }) { dispatch({ type: 'menu/toggle', payload: 'login' })} + onClick={() => dispatch?.({ type: 'menu/toggle', payload: 'login' })} > Back diff --git a/src/components/pageElements/SubmissionStatus.stories.jsx b/src/components/pageElements/SubmissionStatus.stories.tsx similarity index 90% rename from src/components/pageElements/SubmissionStatus.stories.jsx rename to src/components/pageElements/SubmissionStatus.stories.tsx index 96fe5140..507743d6 100644 --- a/src/components/pageElements/SubmissionStatus.stories.jsx +++ b/src/components/pageElements/SubmissionStatus.stories.tsx @@ -1,17 +1,15 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { - FirebaseAnalyticsProvider, - FirebaseAppProvider, - FirebaseAuthProvider, - FirebaseFunctionsProvider, - FirebaseStorageProvider, -} from '@ugrc/utah-design-system'; +import { getStatus } from '@ugrc/plss-shared'; +import { FirebaseAnalyticsProvider } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import { FirebaseAuthProvider } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { FirebaseFunctionsProvider } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { FirebaseStorageProvider } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; import { initializeApp } from 'firebase/app'; import { getAuth } from 'firebase/auth'; import { getFunctions } from 'firebase/functions'; import { getStorage } from 'firebase/storage'; -import { getStatus } from '../../../functions/shared/index.js'; -import { Submissions } from './Submissions.jsx'; +import { Submissions } from './Submissions.tsx'; let config = { apiKey: '', diff --git a/src/components/pageElements/Submissions.jsx b/src/components/pageElements/Submissions.tsx similarity index 62% rename from src/components/pageElements/Submissions.jsx rename to src/components/pageElements/Submissions.tsx index d397da4d..56a7c65b 100644 --- a/src/components/pageElements/Submissions.jsx +++ b/src/components/pageElements/Submissions.tsx @@ -1,25 +1,24 @@ import { ChevronRightIcon } from '@heroicons/react/20/solid'; import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { useFirebaseAnalytics, useFirebaseFunctions, useFirebaseStorage } from '@ugrc/utah-design-system'; +import { timeSince } from '@ugrc/plss-shared'; +import { useFirebaseAnalytics } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { useFirebaseFunctions } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { useFirebaseStorage } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; import { httpsCallable } from 'firebase/functions'; import { getDownloadURL, ref } from 'firebase/storage'; import { useEffect, useState } from 'react'; -import { timeSince } from '../../../functions/shared/index.js'; -import { Button, Link } from '../formElements/Buttons.jsx'; -import Card from '../formElements/Card.jsx'; -import { dateFormatter, sortFunction } from './utils.js'; - -/** - * @typedef {Object} SubmissionsProps - * @property {Array} [items] - * @property {function} [dispatch] - */ - -/** - * @type {React.FC} - */ -export const Submissions = ({ items, dispatch }) => { - if (items?.length < 1) { +import { Button, type ButtonState, Link } from '../formElements/Buttons.tsx'; +import Card from '../formElements/Card.tsx'; +import type { AppDispatch, SubmissionItem } from './contentTypes.ts'; +import { dateFormatter, sortFunction } from './utils.ts'; + +type SubmissionsProps = { + dispatch?: AppDispatch; + items?: SubmissionItem[]; +}; + +export const Submissions = ({ items, dispatch }: SubmissionsProps) => { + if (!items || items.length < 1) { return (

Your submission list is empty

@@ -34,7 +33,7 @@ export const Submissions = ({ items, dispatch }) => { return (
    - {items + {[...items] .sort( sortFunction('New to Old', (a, b) => { return { a: a.submitted, b: b.submitted }; @@ -50,23 +49,22 @@ export const Submissions = ({ items, dispatch }) => { ); }; -/** - * @typedef {Object} SubmissionProps - * @property {Object} [item] - * @property {function} [dispatch] - */ +type SubmissionProps = { + dispatch?: AppDispatch; + item: SubmissionItem; +}; -const Submission = ({ item, dispatch }) => { +const Submission = ({ item, dispatch }: SubmissionProps) => { const logEvent = useFirebaseAnalytics(); const { storage } = useFirebaseStorage(); - const [url, setUrl] = useState(''); + const [url, setUrl] = useState(); const { functions } = useFirebaseFunctions(); - const cancelSubmission = httpsCallable(functions, 'postCancelCorner'); + const cancelSubmission = httpsCallable<{ key: string }, unknown>(functions, 'postCancelCorner'); const queryClient = useQueryClient(); const { mutate, status: mutationStatus } = useMutation({ - mutationFn: (data) => cancelSubmission(data), + mutationFn: (data: { key: string }) => cancelSubmission(data), onSuccess: async (response) => { console.log('success', response); await queryClient.cancelQueries(); @@ -81,35 +79,42 @@ const Submission = ({ item, dispatch }) => { const { label, submitted, id, status, geometry, attributes } = item; const submission = Date.parse(submitted); + const storagePath = attributes.ref; + const terminalReviewStatus = status.reviewed === 'approved' || status.reviewed === 'rejected'; + const cancelState: ButtonState | undefined = terminalReviewStatus + ? 'disabled' + : mutationStatus === 'idle' + ? undefined + : mutationStatus; useEffect(() => { - console.log('getting storage download URL for', attributes?.ref); - if (attributes?.ref) { - getDownloadURL(ref(storage, attributes.ref)) - .then(setUrl) - .catch((error) => { - console.error('error getting download URL for', error, attributes.ref); - logEvent('download-submission-error', { - document: item.key, - }); - }); + if (!storagePath) { + setUrl(undefined); + return; } - }, [attributes.ref, item.key, logEvent, storage]); - console.log('submission', { status, label, attributes }); + getDownloadURL(ref(storage, storagePath)) + .then(setUrl) + .catch((error) => { + console.error('error getting download URL for', error, storagePath); + logEvent('download-submission-error', { + document: item.key, + }); + }); + }, [item.key, logEvent, storage, storagePath]); return (
    {id}
    - + submitted {timeSince(submission)}
    - {(url?.length ?? 0) > 0 ? ( + {url ? ( Download @@ -121,21 +126,15 @@ const Submission = ({ item, dispatch }) => { @@ -144,13 +143,12 @@ const Submission = ({ item, dispatch }) => { ); }; -/** - * @typedef {Object} SubmissionStatusProps - * @property {Object} [status] - * @property {string} [label] - */ +type SubmissionStatusProps = { + label: string; + status: SubmissionItem['status']; +}; -const SubmissionStatus = ({ status, label }) => ( +const SubmissionStatus = ({ status, label }: SubmissionStatusProps) => ( <> {label}
    @@ -165,7 +163,7 @@ const SubmissionStatus = ({ status, label }) => ( ); -const getClassesForStatus = (status) => { +const getClassesForStatus = (status: string | undefined): string => { switch (status) { case 'yes': case 'approved': @@ -180,7 +178,7 @@ const getClassesForStatus = (status) => { } }; -const getReviewStatus = (status) => { +const getReviewStatus = (status: string | undefined): string | undefined => { switch (status) { case 'pending': case 'waiting': diff --git a/src/components/pageElements/TieSheetList.jsx b/src/components/pageElements/TieSheetList.tsx similarity index 81% rename from src/components/pageElements/TieSheetList.jsx rename to src/components/pageElements/TieSheetList.tsx index def288d6..e233a5f9 100644 --- a/src/components/pageElements/TieSheetList.jsx +++ b/src/components/pageElements/TieSheetList.tsx @@ -1,30 +1,32 @@ import { ArrowDownOnSquareIcon } from '@heroicons/react/20/solid'; import { useQuery } from '@tanstack/react-query'; -import { useFirebaseStorage } from '@ugrc/utah-design-system'; +import { useFirebaseStorage } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; import { getDownloadURL, listAll, ref } from 'firebase/storage'; -import { Link } from '../formElements/Buttons.jsx'; -import Card from '../formElements/Card.jsx'; -import Note from '../formElements/Note.jsx'; +import type { ReactNode } from 'react'; +import { Link } from '../formElements/Buttons.tsx'; +import Card from '../formElements/Card.tsx'; +import Note from '../formElements/Note.tsx'; const accessibleDisclaimerPrefix = 'This site serves as a repository for County Monument Record Sheets. While copies are available here for reference, the County remains the official steward and custodian of the monument records. An accessible version of the Monument Record Sheet may be obtained directly from the County or by sending a request to '; -/** - * @typedef {Object} TieSheetListProps - * @property {string} blmPointId - * @property {React.ReactNode} [children] - */ +type TieSheet = { + name: string; + url: string; +}; + +type TieSheetListProps = { + blmPointId: string; + children?: ReactNode; +}; -/** - * @type {React.FC} - */ -const TieSheetList = ({ blmPointId, children }) => { +const TieSheetList = ({ blmPointId, children }: TieSheetListProps) => { const { storage } = useFirebaseStorage(); const path = `tiesheets/${blmPointId}`; const fileRef = ref(storage, path); - const { data, status } = useQuery({ + const { data, status } = useQuery({ enabled: blmPointId != null, queryKey: ['identify', blmPointId, fileRef], queryFn: async () => { @@ -58,8 +60,7 @@ const TieSheetList = ({ blmPointId, children }) => {
    {accessibleDisclaimerPrefix} - ugrc-plss-administrators@utah.gov - . + ugrc-plss-administrators@utah.gov.
    )} diff --git a/src/components/pageElements/Welcome.jsx b/src/components/pageElements/Welcome.tsx similarity index 84% rename from src/components/pageElements/Welcome.jsx rename to src/components/pageElements/Welcome.tsx index 7b919542..65a8edec 100644 --- a/src/components/pageElements/Welcome.jsx +++ b/src/components/pageElements/Welcome.tsx @@ -1,15 +1,13 @@ -import { Button, Link } from '../formElements/Buttons.jsx'; -import usePageView from '../hooks/usePageView.jsx'; +import type { Dispatch } from 'react'; +import { Button, Link } from '../formElements/Buttons.tsx'; +import usePageView from '../hooks/usePageView.ts'; +import type { AppAction } from '../reducers/AppReducer.ts'; -/** - * @typedef {Object} WelcomeProps - * @property {function} [dispatch] - */ +type WelcomeProps = { + dispatch?: Dispatch; +}; -/** - * @type {React.FC} - */ -export default function Welcome({ dispatch }) { +export default function Welcome({ dispatch }: WelcomeProps) { usePageView('screen-home'); return ( @@ -34,7 +32,7 @@ export default function Welcome({ dispatch }) { You can use this website to view the location of the monuments and the information about them. Navigate around the map and click on the PLSS points to see more information or to submit a monument record for that location. You will need to{' '} - {' '} to submit a monument record. diff --git a/src/components/pageElements/contentTypes.ts b/src/components/pageElements/contentTypes.ts new file mode 100644 index 00000000..4b215123 --- /dev/null +++ b/src/components/pageElements/contentTypes.ts @@ -0,0 +1,46 @@ +import type { SubmissionStatus } from '@ugrc/plss-shared'; +import type { Dispatch } from 'react'; +import type { AppAction } from '../reducers/AppReducer.ts'; + +export type AppDispatch = Dispatch; + +export type PointGeometry = { + spatialReference: { + wkid: 3857 | 4326; + }; + type: 'point'; + x: number; + y: number; +}; + +export type SubmissionItem = { + attributes: { + id: string; + ref?: string; + status: string; + when: string; + }; + geometry?: PointGeometry; + id: string; + key: string; + label: string; + status: SubmissionStatus; + submitted: string; +}; + +export type ReferencePointItem = { + attributes: { + id: string; + name: string; + notes: string; + when: string; + }; + geometry: PointGeometry; + key: string; + photos: string[]; +}; + +export type MyContentData = { + points: ReferencePointItem[]; + submissions: SubmissionItem[]; +}; diff --git a/src/components/pageElements/mapElements/GroupButton.stories.jsx b/src/components/pageElements/mapElements/GroupButton.stories.tsx similarity index 91% rename from src/components/pageElements/mapElements/GroupButton.stories.jsx rename to src/components/pageElements/mapElements/GroupButton.stories.tsx index 0970947f..8eab178d 100644 --- a/src/components/pageElements/mapElements/GroupButton.stories.jsx +++ b/src/components/pageElements/mapElements/GroupButton.stories.tsx @@ -1,4 +1,4 @@ -import GroupButton from './GroupButton.jsx'; +import GroupButton from './GroupButton.tsx'; // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export export default { diff --git a/src/components/pageElements/mapElements/GroupButton.jsx b/src/components/pageElements/mapElements/GroupButton.tsx similarity index 64% rename from src/components/pageElements/mapElements/GroupButton.jsx rename to src/components/pageElements/mapElements/GroupButton.tsx index b0887188..6fd4c180 100644 --- a/src/components/pageElements/mapElements/GroupButton.jsx +++ b/src/components/pageElements/mapElements/GroupButton.tsx @@ -1,36 +1,19 @@ import { Dialog, DialogPanel, Transition, TransitionChild } from '@headlessui/react'; import { MagnifyingGlassIcon } from '@heroicons/react/24/outline'; -import { useMapReady, useOpenClosed } from '@ugrc/utilities/hooks'; -import { Fragment, useEffect, useRef } from 'react'; -import { Button } from '../../formElements/Buttons.jsx'; +import useOpenClosed from '@ugrc/utilities/hooks/useOpenClosed'; +import { type ReactNode, Fragment } from 'react'; +import { Button } from '../../formElements/Buttons.tsx'; -/** - * @typedef {Object} GroupButtonProps - * @property {Object} [view] - * @property {number} [width] - * @property {React.ReactNode} [children] - */ +type GroupButtonProps = { + children?: ReactNode; +}; -/** - * @type {React.FC} - */ -export default function GroupButton({ view, width, children }) { - const node = useRef(); - const ready = useMapReady(view); +export default function GroupButton({ children }: GroupButtonProps) { const [isOpen, { toggle }] = useOpenClosed(); - useEffect(() => { - if (ready && node.current) { - view?.ui?.add(node.current, width > 640 ? 'bottom-right' : 'top-left', 1); - } - const handle = node.current; - - return () => view?.ui?.remove(handle); - }, [view, ready, width]); - return ( <> -
    +
    diff --git a/src/components/pageElements/mapElements/HomeButton.jsx b/src/components/pageElements/mapElements/HomeButton.jsx deleted file mode 100644 index fac51fe1..00000000 --- a/src/components/pageElements/mapElements/HomeButton.jsx +++ /dev/null @@ -1,55 +0,0 @@ -import Extent from '@arcgis/core/geometry/Extent'; -import { HomeModernIcon } from '@heroicons/react/24/outline'; -import { useFirebaseAnalytics } from '@ugrc/utah-design-system'; -import { useMapReady } from '@ugrc/utilities/hooks'; -import { useEffect, useRef } from 'react'; - -const goHome = async (view, extent) => { - if (!(extent instanceof Extent)) { - extent = new Extent(extent); - } - - return await view.goTo(extent); -}; - -/** - * @typedef {Object} HomeButtonProps - * @property {Object} [view] - * @property {number} [width] - * @property {Object} extent - */ - -/** - * @type {React.FC} - */ -export default function HomeButton({ view, extent, width }) { - const ready = useMapReady(view); - const me = useRef(); - const logEvent = useFirebaseAnalytics(); - - useEffect(() => { - if (ready && me.current) { - view?.ui?.add(me.current, width > 640 ? 'bottom-right' : 'top-left', 3); - } - const handle = me.current; - - return () => view?.ui?.remove(handle); - }, [view, ready, width]); - - return ( -
    - -
    - ); -} diff --git a/src/components/pageElements/mapElements/HomeButton.tsx b/src/components/pageElements/mapElements/HomeButton.tsx new file mode 100644 index 00000000..bf87b107 --- /dev/null +++ b/src/components/pageElements/mapElements/HomeButton.tsx @@ -0,0 +1,40 @@ +import Extent from '@arcgis/core/geometry/Extent'; +import MapView from '@arcgis/core/views/MapView'; +import { HomeModernIcon } from '@heroicons/react/24/outline'; +import { useFirebaseAnalytics } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; + +type HomeExtent = ConstructorParameters[0] | Extent; + +const goHome = async (view: MapView, extent: HomeExtent): Promise => { + const target = extent instanceof Extent ? extent : new Extent(extent); + + await view.goTo(target); +}; + +type HomeButtonProps = { + extent: HomeExtent; + view?: MapView; +}; + +export default function HomeButton({ view, extent }: HomeButtonProps) { + const logEvent = useFirebaseAnalytics(); + + return ( +
    + +
    + ); +} diff --git a/src/components/pageElements/mapElements/MonumentRecord.stories.jsx b/src/components/pageElements/mapElements/MonumentRecord.stories.tsx similarity index 79% rename from src/components/pageElements/mapElements/MonumentRecord.stories.jsx rename to src/components/pageElements/mapElements/MonumentRecord.stories.tsx index c433b0fb..b80a5411 100644 --- a/src/components/pageElements/mapElements/MonumentRecord.stories.jsx +++ b/src/components/pageElements/mapElements/MonumentRecord.stories.tsx @@ -1,6 +1,8 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { FirebaseAnalyticsProvider, FirebaseAppProvider, FirebaseStorageProvider } from '@ugrc/utah-design-system'; -import MonumentRecord from './MonumentRecord.jsx'; +import { FirebaseAnalyticsProvider } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import { FirebaseStorageProvider } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; +import MonumentRecord from './MonumentRecord.tsx'; let config = { apiKey: '', diff --git a/src/components/pageElements/mapElements/MonumentRecord.jsx b/src/components/pageElements/mapElements/MonumentRecord.tsx similarity index 67% rename from src/components/pageElements/mapElements/MonumentRecord.jsx rename to src/components/pageElements/mapElements/MonumentRecord.tsx index e8f25452..aa6ee8be 100644 --- a/src/components/pageElements/mapElements/MonumentRecord.jsx +++ b/src/components/pageElements/mapElements/MonumentRecord.tsx @@ -1,29 +1,36 @@ import Point from '@arcgis/core/geometry/Point'; import { Transition } from '@headlessui/react'; import { useQuery } from '@tanstack/react-query'; -import { useOpenClosed } from '@ugrc/utilities/hooks'; +import useOpenClosed from '@ugrc/utilities/hooks/useOpenClosed'; import ky from 'ky'; import { useEffect, useState } from 'react'; -import { Button } from '../../formElements/Buttons.jsx'; -import { Input } from '../../formElements/Inputs.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import TieSheetList from '../TieSheetList.jsx'; +import { Button } from '../../formElements/Buttons.tsx'; +import { Input } from '../../formElements/Inputs.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import type { AppDispatch } from '../contentTypes.ts'; +import TieSheetList from '../TieSheetList.tsx'; const client = ky.create({ - prefixUrl: 'https://services1.arcgis.com/99lidPhWCzftIe9K/arcgis/rest/services/PLSS_Monuments/FeatureServer/0', + prefix: 'https://services1.arcgis.com/99lidPhWCzftIe9K/arcgis/rest/services/PLSS_Monuments/FeatureServer/0', timeout: 40000, retry: 3, }); -/** - * @typedef {Object} MonumentRecordProps - * @property {function} [dispatch] - */ +type MonumentQueryResponse = { + error?: unknown; + features?: Array<{ + geometry: { + x: number; + y: number; + }; + }>; +}; -/** - * @type {React.FC} - */ -export default function MonumentRecord({ dispatch }) { +type MonumentRecordProps = { + dispatch?: AppDispatch; +}; + +export default function MonumentRecord({ dispatch }: MonumentRecordProps) { const [pointId, setPointId] = useState(''); const [isOpen, { open, close }] = useOpenClosed(false); const { analytics, logEvent } = usePageView('screen-monument-record-finder'); @@ -40,7 +47,7 @@ export default function MonumentRecord({ dispatch }) { f: 'json', }, }) - .json(); + .json(); if (!response || response.error) { logEvent(analytics, 'monument-record-error', { response }); @@ -53,14 +60,18 @@ export default function MonumentRecord({ dispatch }) { if (count === 0 || count > 1) { logEvent(analytics, 'monument-record-error', { response }); - throw new Error('An incorrect response count was received.', count); + throw new Error(`An incorrect response count was received: ${count}`); + } + + const feature = response.features?.[0]; + if (!feature) { + throw new Error('A monument record was returned without geometry.'); } return new Point({ - type: 'point', - x: response.features[0].geometry.x, - y: response.features[0].geometry.y, - spatialReference: 3857, + x: feature.geometry.x, + y: feature.geometry.y, + spatialReference: { wkid: 3857 }, }); }, enabled: pointId.length > 5 && isOpen === true, @@ -69,7 +80,7 @@ export default function MonumentRecord({ dispatch }) { useEffect(() => { if (data) { - dispatch({ + dispatch?.({ type: 'map/center-and-zoom', payload: data, meta: { diff --git a/src/components/pageElements/mapElements/MyLocation.stories.jsx b/src/components/pageElements/mapElements/MyLocation.stories.tsx similarity index 94% rename from src/components/pageElements/mapElements/MyLocation.stories.jsx rename to src/components/pageElements/mapElements/MyLocation.stories.tsx index dfb12648..53f16321 100644 --- a/src/components/pageElements/mapElements/MyLocation.stories.jsx +++ b/src/components/pageElements/mapElements/MyLocation.stories.tsx @@ -1,4 +1,4 @@ -import { GpsButton } from './MyLocation.jsx'; +import { GpsButton } from './MyLocation.tsx'; export default { component: GpsButton, diff --git a/src/components/pageElements/mapElements/MyLocation.jsx b/src/components/pageElements/mapElements/MyLocation.tsx similarity index 60% rename from src/components/pageElements/mapElements/MyLocation.jsx rename to src/components/pageElements/mapElements/MyLocation.tsx index 3ed080b3..64c7c343 100644 --- a/src/components/pageElements/mapElements/MyLocation.jsx +++ b/src/components/pageElements/mapElements/MyLocation.tsx @@ -1,63 +1,46 @@ import { ViewfinderCircleIcon } from '@heroicons/react/24/outline'; -import { useMapReady } from '@ugrc/utilities/hooks'; import { clsx } from 'clsx'; +import type { ComponentRef } from 'react'; import { forwardRef, useEffect, useRef } from 'react'; -import useGeolocation from './useGeoLocation.js'; +import type { ActorRefFrom, SnapshotFrom } from 'xstate'; +import { machine as geolocationMachine } from '../../machines/geolocation.ts'; +import type { AppDispatch } from '../contentTypes.ts'; +import useGeolocation from './useGeoLocation.ts'; -/** - * @typedef {Object} MyLocationProps - * @property {function} [dispatch] - * @property {Object} [view] - * @property {number} [width] - */ +type MyLocationProps = { + dispatch?: AppDispatch; +}; -/** - * @type {React.FC} - */ -export default function MyLocation({ view, dispatch, width }) { - const node = useRef(); +type GeolocationSnapshot = SnapshotFrom; +type GeolocationSend = ActorRefFrom['send']; + +export default function MyLocation({ dispatch }: MyLocationProps) { + const node = useRef(null); const count = useRef(1); - const ready = useMapReady(view); const [state, send] = useGeolocation(); const { position } = state.context; useEffect(() => { if (position) { - let type = 'map/update-gps-location'; - if (count.current === 1) { - type = 'map/set-gps-location'; + dispatch?.({ type: 'map/set-gps-location', payload: position }); + } else { + dispatch?.({ type: 'map/update-gps-location', payload: position }); } - dispatch({ type, payload: position }); count.current++; } }, [dispatch, position]); - useEffect(() => { - if (ready && node.current) { - view?.ui?.add(node.current, width > 640 ? 'bottom-right' : 'top-left', 2); - } - const handle = node.current; - - return () => view?.ui?.remove(handle); - }, [view, ready, width]); - - if (!ready) { - return null; - } - return ; } -/** - * @typedef {Object} GpsButtonProps - * @property {Object} [state] - * @property {function} [send] - * @property {Object} [error] - */ +type GpsButtonProps = { + send: GeolocationSend; + state: GeolocationSnapshot; +}; -export const GpsButton = forwardRef(({ state, send }, ref) => { +export const GpsButton = forwardRef, GpsButtonProps>(({ state, send }, ref) => { return (
    diff --git a/src/components/pageElements/mapElements/Township.stories.jsx b/src/components/pageElements/mapElements/Township.stories.tsx similarity index 84% rename from src/components/pageElements/mapElements/Township.stories.jsx rename to src/components/pageElements/mapElements/Township.stories.tsx index 6077ec04..e4f065a8 100644 --- a/src/components/pageElements/mapElements/Township.stories.jsx +++ b/src/components/pageElements/mapElements/Township.stories.tsx @@ -1,7 +1,8 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; -import { FirebaseAnalyticsProvider, FirebaseAppProvider } from '@ugrc/utah-design-system'; -import Township from './Township.jsx'; +import { FirebaseAnalyticsProvider } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import Township from './Township.tsx'; let config = { apiKey: '', diff --git a/src/components/pageElements/mapElements/Township.jsx b/src/components/pageElements/mapElements/Township.tsx similarity index 69% rename from src/components/pageElements/mapElements/Township.jsx rename to src/components/pageElements/mapElements/Township.tsx index 7f7e8219..4d71fbb4 100644 --- a/src/components/pageElements/mapElements/Township.jsx +++ b/src/components/pageElements/mapElements/Township.tsx @@ -2,28 +2,50 @@ import { Tab, TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react'; import { useQuery } from '@tanstack/react-query'; import { clsx } from 'clsx'; import ky from 'ky'; -import naturalCompare from 'natural-compare-lite'; +import { compare } from 'natural-orderby'; import { useState } from 'react'; -import { Button } from '../../formElements/Buttons.jsx'; -import { Select } from '../../formElements/Select.jsx'; -import usePageView from '../../hooks/usePageView.jsx'; -import { sl, ub } from './townships.js'; +import { Button } from '../../formElements/Buttons.tsx'; +import { Select } from '../../formElements/Select.tsx'; +import usePageView from '../../hooks/usePageView.ts'; +import type { AppDispatch } from '../contentTypes.ts'; +import { sl, ub } from './townships.ts'; const client = ky.create({ - prefixUrl: 'https://api.mapserv.utah.gov/api/v1/search', + prefix: 'https://api.mapserv.utah.gov/api/v1/search', }); const tabs = [ { name: 'Salt Lake', value: 'SL', number: 26 }, { name: 'Uinta Basin', value: 'UB', number: 30 }, -]; +] as const; + +type PairsWithResponse = { + result?: Array<{ + attributes: { + pairswith: string; + }; + }>; + status: number; +}; + +type EnvelopeResponse = { + result?: Array<{ + geometry: unknown; + }>; + status: number; +}; -const getLabel = (meridian, township, range, section) => { +type TownshipProps = { + apiKey: string; + dispatch?: AppDispatch; +}; + +const getLabel = (meridian: string, township: string, range: string, section: string): string => { if (!meridian || !township || !range) { return ''; } - var label = `${meridian}T${township}R${range}`; + let label = `${meridian}T${township}R${range}`; if (section) { label += `Sec${section}`; } @@ -31,33 +53,25 @@ const getLabel = (meridian, township, range, section) => { return label; }; -const composePredicate = (meridian, township, range, section) => { +const composePredicate = (meridian: number, township: string, range: string, section: string): string => { const padded = section.padStart(2, '0'); return `basemeridian='${meridian}' AND label='T${township} R${range}' AND section='${padded}'`; }; -/** - * @typedef {Object} TownshipProps - * @property {string} apiKey - * @property {function} [dispatch] - */ - -/** - * @type {React.FC} - */ -export default function Township({ apiKey, dispatch }) { +export default function Township({ apiKey, dispatch }: TownshipProps) { // TODO: move this to a reducer or an object const [selectedTabIndex, setSelectedTabIndex] = useState(0); + const selectedTab = tabs[selectedTabIndex] ?? tabs[0]!; const [selectedTownship, setSelectedTownship] = useState(''); const [selectedRange, setSelectedRange] = useState(''); const [selectedSection, setSelectedSection] = useState(''); const { analytics, logEvent } = usePageView('screen-township-finder'); const { data: ranges } = useQuery({ - queryKey: ['ranges', tabs[selectedTabIndex].value, selectedTownship, analytics, apiKey], + queryKey: ['ranges', selectedTab.value, selectedTownship, analytics, apiKey], queryFn: async () => { - const predicate = `torrname='${tabs[selectedTabIndex].value}T${selectedTownship}'`; + const predicate = `torrname='${selectedTab.value}T${selectedTownship}'`; logEvent(analytics, 'township-finder', { type: 'range', @@ -71,7 +85,7 @@ export default function Township({ apiKey, dispatch }) { predicate, }, }) - .json(); + .json(); if (!response || response.status != 200) { logEvent(analytics, 'township-finder-error', { @@ -90,13 +104,18 @@ export default function Township({ apiKey, dispatch }) { response, }); - throw new Error('An incorrect response count was received.', count); + throw new Error(`An incorrect response count was received: ${count}`); } - const data = response.result[0].attributes.pairswith + const result = response.result?.[0]; + if (!result) { + throw new Error('A township range response was returned without data.'); + } + + const data = result.attributes.pairswith .split('|') - .map((x) => x.slice(1)) - .sort(naturalCompare); + .map((value) => value.slice(1)) + .sort(compare()); return data; }, @@ -105,9 +124,9 @@ export default function Township({ apiKey, dispatch }) { }); const { data: sections } = useQuery({ - queryKey: ['sections', tabs[selectedTabIndex].value, selectedTownship, selectedRange, analytics, apiKey], + queryKey: ['sections', selectedTab.value, selectedTownship, selectedRange, analytics, apiKey], queryFn: async () => { - const predicate = `trname='${tabs[selectedTabIndex].value}T${selectedTownship}R${selectedRange}'`; + const predicate = `trname='${selectedTab.value}T${selectedTownship}R${selectedRange}'`; logEvent(analytics, 'township-finder', { type: 'section', @@ -121,7 +140,7 @@ export default function Township({ apiKey, dispatch }) { predicate, }, }) - .json(); + .json(); if (!response || response.status != 200) { logEvent(analytics, 'township-finder-error', { @@ -140,10 +159,15 @@ export default function Township({ apiKey, dispatch }) { response, }); - throw new Error('An incorrect response count was received.', count); + throw new Error(`An incorrect response count was received: ${count}`); + } + + const result = response.result?.[0]; + if (!result) { + throw new Error('A township section response was returned without data.'); } - const data = response.result[0].attributes.pairswith.split('|').sort(naturalCompare); + const data = result.attributes.pairswith.split('|').sort(compare()); return data; }, @@ -154,7 +178,8 @@ export default function Township({ apiKey, dispatch }) { const { data: location, status } = useQuery({ queryKey: [ 'location', - tabs[selectedTabIndex].value, + selectedTab.value, + selectedTab.number, selectedTownship, selectedRange, selectedSection, @@ -162,12 +187,7 @@ export default function Township({ apiKey, dispatch }) { apiKey, ], queryFn: async () => { - const predicate = composePredicate( - tabs[selectedTabIndex].number, - selectedTownship, - selectedRange, - selectedSection, - ); + const predicate = composePredicate(selectedTab.number, selectedTownship, selectedRange, selectedSection); logEvent(analytics, 'township-finder', { type: 'shape', @@ -182,7 +202,7 @@ export default function Township({ apiKey, dispatch }) { spatialReference: 3857, }, }) - .json(); + .json(); if (!response || response.status != 200) { logEvent(analytics, 'township-finder-error', { @@ -201,10 +221,15 @@ export default function Township({ apiKey, dispatch }) { response, }); - throw new Error('An incorrect response count was received.', count); + throw new Error(`An incorrect response count was received: ${count}`); } - const data = response.result[0].geometry; + const result = response.result?.[0]; + if (!result) { + throw new Error('A township envelope response was returned without geometry.'); + } + + const data = result.geometry; return data; }, @@ -251,8 +276,8 @@ export default function Township({ apiKey, dispatch }) { placeholder="Select the township" value={selectedTownship} options={item.name === 'Salt Lake' ? sl : ub} - onChange={(e) => { - setSelectedTownship(e); + onChange={(value) => { + setSelectedTownship(value ?? ''); setSelectedRange(''); setSelectedSection(''); }} @@ -266,8 +291,8 @@ export default function Township({ apiKey, dispatch }) { placeholder={selectedTownship ? 'Select the range' : 'Select the township'} options={ranges} value={selectedRange} - onChange={(e) => { - setSelectedRange(e); + onChange={(value) => { + setSelectedRange(value ?? ''); setSelectedSection(''); }} /> @@ -279,7 +304,7 @@ export default function Township({ apiKey, dispatch }) { disabled={selectedRange.length < 1} options={sections} value={selectedSection} - onChange={(e) => setSelectedSection(e)} + onChange={(value) => setSelectedSection(value ?? '')} />
    @@ -290,16 +315,20 @@ export default function Township({ apiKey, dispatch }) {
    diff --git a/src/components/pageElements/mapElements/townships.js b/src/components/pageElements/mapElements/townships.ts similarity index 93% rename from src/components/pageElements/mapElements/townships.js rename to src/components/pageElements/mapElements/townships.ts index ef416cb4..9605fb2a 100644 --- a/src/components/pageElements/mapElements/townships.js +++ b/src/components/pageElements/mapElements/townships.ts @@ -1,4 +1,4 @@ -export const ub = ['1N', '2N', '3N', '4N', '5N', '1S', '2S', '3S', '4S', '5S', '6S', '7S']; +export const ub = ['1N', '2N', '3N', '4N', '5N', '1S', '2S', '3S', '4S', '5S', '6S', '7S'] as const; export const sl = [ '1N', '2N', @@ -74,4 +74,4 @@ export const sl = [ '42.5S', '43S', '44S', -]; +] as const; diff --git a/src/components/pageElements/mapElements/useGeoLocation.js b/src/components/pageElements/mapElements/useGeoLocation.js deleted file mode 100644 index 1def99be..00000000 --- a/src/components/pageElements/mapElements/useGeoLocation.js +++ /dev/null @@ -1,8 +0,0 @@ -import { useMachine } from '@xstate/react'; -import { machine as geolocationMachine } from '../../machines/geolocation'; - -export default function useGeolocation() { - const [state, send] = useMachine(geolocationMachine); - - return [state, send]; -} diff --git a/src/components/pageElements/mapElements/useGeoLocation.ts b/src/components/pageElements/mapElements/useGeoLocation.ts new file mode 100644 index 00000000..a959abab --- /dev/null +++ b/src/components/pageElements/mapElements/useGeoLocation.ts @@ -0,0 +1,13 @@ +import { useMachine } from '@xstate/react'; +import type { ActorRefFrom, SnapshotFrom } from 'xstate'; +import { machine as geolocationMachine } from '../../machines/geolocation.ts'; + +type GeolocationMachine = typeof geolocationMachine; + +type UseGeolocationResult = [SnapshotFrom, ActorRefFrom['send']]; + +export default function useGeolocation(): UseGeolocationResult { + const [state, send] = useMachine(geolocationMachine); + + return [state, send]; +} diff --git a/src/components/pageElements/utils.test.js b/src/components/pageElements/utils.test.ts similarity index 90% rename from src/components/pageElements/utils.test.js rename to src/components/pageElements/utils.test.ts index 9c53c602..520883d1 100644 --- a/src/components/pageElements/utils.test.js +++ b/src/components/pageElements/utils.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from 'vitest'; -import { normalizePointId } from './utils.js'; +import { normalizePointId } from './utils.ts'; describe('normalizePointId', () => { test('returns an empty string when the point id is empty', () => { diff --git a/src/components/pageElements/utils.js b/src/components/pageElements/utils.ts similarity index 62% rename from src/components/pageElements/utils.js rename to src/components/pageElements/utils.ts index 5194b8fb..bcb390e6 100644 --- a/src/components/pageElements/utils.js +++ b/src/components/pageElements/utils.ts @@ -7,8 +7,15 @@ export const dateFormatter = new Intl.DateTimeFormat('en-US', { timeZone: 'America/Denver', }); -export const sortFunction = (sortOrder, transform) => { - return (one, two) => { +export type SortOrder = 'Ascending (0-9 A-Z)' | 'Descending (Z-A 0-9)' | 'New to Old' | 'Old to New'; + +type SortValues = { + a: string; + b: string; +}; + +export const sortFunction = (sortOrder: SortOrder, transform: (one: Item, two: Item) => SortValues) => { + return (one: Item, two: Item): number => { const { a, b } = transform(one, two); switch (sortOrder) { case 'New to Old': @@ -25,6 +32,6 @@ export const sortFunction = (sortOrder, transform) => { }; }; -export const normalizePointId = (pointId) => { +export const normalizePointId = (pointId?: string): string => { return pointId?.trim() ?? ''; }; diff --git a/src/components/reducers/AppReducer.js b/src/components/reducers/AppReducer.ts similarity index 61% rename from src/components/reducers/AppReducer.js rename to src/components/reducers/AppReducer.ts index 72cbc37e..8df51ea4 100644 --- a/src/components/reducers/AppReducer.js +++ b/src/components/reducers/AppReducer.ts @@ -1,5 +1,38 @@ -const toggleDrawer = (draft, action) => { - // same component is visible -> toggle it +import type { Draft } from 'immer'; + +export type AppState = { + activeComponent: string | null; + drawerOpen: boolean; + activeLayers: string[]; + addPoint: { + color: string; + geometry: unknown; + }; + userPoints: unknown[]; + map: { + activeTool: 'add-point' | null; + graphic: unknown; + gps: { graphic: unknown; scale?: number } | null; + center: { geometry: unknown; scale: number } | null; + }; + submission: unknown; +}; + +export type AppAction = + | { type: 'add-point/color'; payload: string } + | { type: 'add-point/click'; payload: unknown } + | { type: 'add-point/activate' } + | { type: 'add-point/reset' } + | { type: 'map/userPoints'; payload: unknown[] } + | { type: 'map/identify'; payload: unknown } + | { type: 'map/set-gps-location'; payload: unknown } + | { type: 'map/update-gps-location'; payload: unknown } + | { type: 'map/center-and-zoom'; payload: unknown; meta?: { label?: string; scale?: number } } + | { type: 'menu/toggle'; payload: string; meta?: unknown }; + +type MenuToggleAction = Extract; + +const toggleDrawer = (draft: Draft, action: MenuToggleAction): void => { if (action.payload === '') { draft.drawerOpen = false; draft.activeComponent = action.payload; @@ -10,11 +43,9 @@ const toggleDrawer = (draft, action) => { draft.drawerOpen = true; draft.activeComponent = action.payload; } - - return draft; }; -export const defaults = { +export const defaults: AppState = { activeComponent: 'welcome', drawerOpen: true, activeLayers: ['Parcels'], @@ -32,27 +63,13 @@ export const defaults = { submission: {}, }; -const reduce = (draft, action) => { +const reduce = (draft: Draft, action: AppAction | undefined): void => { if (!action) { console.error( `dispatch event is empty expected -{type: 'action', payload: 'data', meta: 'extra data'}`, - ); - return; - } - - const keys = Object.keys(action); - if (keys.length < 1) { - console.error( - `incorrect dispatch shape sent - -${action} - -expected - {type: 'action', payload: 'data', meta: 'extra data'}`, ); return; @@ -89,7 +106,6 @@ expected } case 'map/identify': { draft.map.graphic = action.payload; - break; } case 'map/set-gps-location': { @@ -97,14 +113,12 @@ expected graphic: action.payload, scale: 4500, }; - break; } case 'map/update-gps-location': { draft.map.gps = { graphic: action.payload, }; - break; } case 'map/center-and-zoom': { @@ -112,11 +126,10 @@ expected geometry: action.payload, scale: action.meta?.scale ?? 4500, }; - break; } case 'menu/toggle': { - draft = toggleDrawer(draft, action); + toggleDrawer(draft, action); if (action.payload === 'submission') { draft.submission = action.meta; @@ -128,9 +141,10 @@ expected break; } - default: - console.error(`missing case ${action.type}`); - return; + default: { + const exhaustive: never = action; + console.error('missing case', exhaustive); + } } }; diff --git a/src/index.css b/src/index.css index 284cb462..67ebf4b3 100644 --- a/src/index.css +++ b/src/index.css @@ -123,8 +123,7 @@ body { @apply flex h-screen overflow-hidden bg-gray-100 font-sans; - /* https://css-tricks.com/the-trick-to-viewport-units-on-mobile/ */ - height: calc(var(--vh, 1vh) * 100); + height: 100dvh; } .app { @@ -146,7 +145,7 @@ body { } .drawer--closed { - transform: translateY(100vh); + transform: translateY(100%); } @media (min-width: 640px) { diff --git a/src/main.jsx b/src/main.tsx similarity index 61% rename from src/main.jsx rename to src/main.tsx index 1a004ba0..9e0fdef9 100644 --- a/src/main.jsx +++ b/src/main.tsx @@ -1,21 +1,20 @@ import '@arcgis/core/assets/esri/themes/light/main.css'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; -import { - FirebaseAnalyticsProvider, - FirebaseAppProvider, - FirebaseAuthProvider, - FirebaseFunctionsProvider, - FirebaseStorageProvider, - FirestoreProvider, -} from '@ugrc/utah-design-system'; +import { FirebaseAnalyticsProvider } from '@ugrc/utah-design-system/contexts/FirebaseAnalyticsProvider'; +import { FirebaseAppProvider } from '@ugrc/utah-design-system/contexts/FirebaseAppProvider'; +import { FirebaseAuthProvider } from '@ugrc/utah-design-system/contexts/FirebaseAuthProvider'; +import { FirebaseFunctionsProvider } from '@ugrc/utah-design-system/contexts/FirebaseFunctionsProvider'; +import { FirebaseStorageProvider } from '@ugrc/utah-design-system/contexts/FirebaseStorageProvider'; +import { FirestoreProvider } from '@ugrc/utah-design-system/contexts/FirestoreProvider'; +import type { FirebaseOptions } from 'firebase/app'; import { OAuthProvider } from 'firebase/auth'; import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; -import App from './components/app/App.jsx'; +import App from './components/app/App.tsx'; import './index.css'; -let firebaseConfig = { +let firebaseConfig: FirebaseOptions = { apiKey: '', authDomain: '', projectId: '', @@ -30,10 +29,15 @@ provider.addScope('profile'); provider.addScope('email'); if (import.meta.env.VITE_FIREBASE_CONFIG) { - firebaseConfig = JSON.parse(import.meta.env.VITE_FIREBASE_CONFIG); + firebaseConfig = JSON.parse(import.meta.env.VITE_FIREBASE_CONFIG) as FirebaseOptions; } -createRoot(document.getElementById('root')).render( +const rootElement = document.getElementById('root'); +if (!rootElement) { + throw new Error('Unable to find the application root element.'); +} + +createRoot(rootElement).render( +/// interface ImportMetaEnv { readonly VITE_SERVICE_NAME: string; diff --git a/tsconfig.browser.json b/tsconfig.browser.json new file mode 100644 index 00000000..41cb6eec --- /dev/null +++ b/tsconfig.browser.json @@ -0,0 +1,6 @@ +{ + "extends": "@ugrc/tsconfigs/browser", + "references": [{ "path": "./functions/shared" }], + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts"], + "exclude": ["src/**/*.stories.tsx"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..18af0703 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.browser.json" }, + { "path": "./tsconfig.vite-config.json" }, + { "path": "./functions/shared/tsconfig.json" }, + { "path": "./functions/tsconfig.json" } + ] +} diff --git a/tsconfig.vite-config.json b/tsconfig.vite-config.json new file mode 100644 index 00000000..b29ca0ba --- /dev/null +++ b/tsconfig.vite-config.json @@ -0,0 +1,4 @@ +{ + "extends": "@ugrc/tsconfigs/vite-config", + "include": ["vite.config.ts", "vite-plugin-eslint.d.ts"] +} diff --git a/vite-plugin-eslint.d.ts b/vite-plugin-eslint.d.ts new file mode 100644 index 00000000..60e41105 --- /dev/null +++ b/vite-plugin-eslint.d.ts @@ -0,0 +1,7 @@ +declare module 'vite-plugin-eslint' { + import type { Plugin } from 'vite'; + + const eslintPlugin: () => Plugin; + + export default eslintPlugin; +} diff --git a/vite.config.js b/vite.config.js deleted file mode 100644 index 760704e8..00000000 --- a/vite.config.js +++ /dev/null @@ -1,17 +0,0 @@ -import tailwindcss from '@tailwindcss/vite'; -import react from '@vitejs/plugin-react-swc'; -import { defineConfig } from 'vite'; -import eslintPlugin from 'vite-plugin-eslint'; -import loadVersion from 'vite-plugin-package-version'; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react(), eslintPlugin(), loadVersion(), tailwindcss()], - test: { - environment: 'node', - provider: 'v8', - env: { - FIREBASE_STORAGE_EMULATOR_HOST: '127.0.0.1:9199', - }, - }, -}); diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..c1841ccb --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,45 @@ +import tailwindcss from '@tailwindcss/vite'; +import react from '@vitejs/plugin-react-swc'; +import eslintPlugin from 'vite-plugin-eslint'; +import loadVersion from 'vite-plugin-package-version'; +import { defineConfig } from 'vitest/config'; + +const arcgisCorePath = new URL('./node_modules/@arcgis/core', import.meta.url).pathname; + +// https://vitejs.dev/config/ +export default defineConfig({ + optimizeDeps: { + include: [ + 'firebase/analytics', + 'firebase/app', + 'firebase/auth', + 'firebase/firestore', + 'firebase/functions', + 'firebase/storage', + 'react-aria', + 'react-dom', + ], + }, + plugins: [react(), eslintPlugin(), loadVersion(), tailwindcss()], + resolve: { + alias: [ + { + find: /^@arcgis\/core\/(.*)$/, + replacement: `${arcgisCorePath}/$1`, + }, + { + find: '@arcgis/core', + replacement: arcgisCorePath, + }, + ], + }, + test: { + environment: 'node', + coverage: { + provider: 'v8', + }, + env: { + FIREBASE_STORAGE_EMULATOR_HOST: '127.0.0.1:9199', + }, + }, +});