From 67dac7a807b6a9c0320fba3b932ef50ac20db158 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 18:30:12 +0200 Subject: [PATCH 01/14] Add Docusaurus docs site with interactive sync explainer docs/ becomes a Docusaurus site with a user guide and technical section, seeded from existing README/AGENTS.md content. The user guide's 'How sync works' page is an interactive question-driven explainer (all content in docs/src/components/SyncExplainer/syncScenarios.ts). DOCS-PLAN.md records the tooling survey and decisions. Co-Authored-By: Claude Fable 5 --- .github/workflows/docs.yaml | 59 + AGENTS.md | 6 +- DOCS-PLAN.md | 67 + README.md | 8 +- docs/.gitignore | 20 + docs/docusaurus.config.ts | 106 + docs/package.json | 48 + docs/pnpm-lock.yaml | 13540 ++++++++++++++++ docs/pnpm-workspace.yaml | 3 + docs/sidebars.ts | 10 + docs/src/components/SyncExplainer/index.tsx | 400 + .../SyncExplainer/styles.module.css | 626 + .../components/SyncExplainer/syncScenarios.ts | 368 + docs/src/css/custom.css | 22 + docs/src/pages/index.module.css | 10 + docs/src/pages/index.tsx | 35 + docs/{ => static}/img/error-example.png | Bin docs/static/img/favicon.png | Bin 0 -> 5624 bytes docs/static/img/logo-dark.svg | 52 + docs/static/img/logo.svg | 52 + docs/technical/architecture/_category_.json | 4 + docs/technical/architecture/integrations.md | 87 + docs/technical/architecture/overview.md | 80 + docs/technical/ci-cd.md | 47 + docs/technical/development/_category_.json | 4 + docs/technical/development/index.md | 70 + .../development/setup-linux.md} | 5 + .../development/setup-macos.md} | 5 + .../development/setup-windows.md} | 5 + docs/technical/index.md | 6 + docs/technical/sync/_category_.json | 4 + docs/technical/sync/crdt.md | 52 + docs/technical/sync/fwheadless-merge.md | 105 + docs/technical/sync/index.md | 95 + docs/tsconfig.json | 12 + docs/user-guide/faq.md | 50 + docs/user-guide/getting-started.md | 45 + docs/user-guide/how-sync-works.mdx | 61 + docs/user-guide/index.md | 28 + 39 files changed, 16190 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/docs.yaml create mode 100644 DOCS-PLAN.md create mode 100644 docs/.gitignore create mode 100644 docs/docusaurus.config.ts create mode 100644 docs/package.json create mode 100644 docs/pnpm-lock.yaml create mode 100644 docs/pnpm-workspace.yaml create mode 100644 docs/sidebars.ts create mode 100644 docs/src/components/SyncExplainer/index.tsx create mode 100644 docs/src/components/SyncExplainer/styles.module.css create mode 100644 docs/src/components/SyncExplainer/syncScenarios.ts create mode 100644 docs/src/css/custom.css create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/src/pages/index.tsx rename docs/{ => static}/img/error-example.png (100%) create mode 100644 docs/static/img/favicon.png create mode 100644 docs/static/img/logo-dark.svg create mode 100644 docs/static/img/logo.svg create mode 100644 docs/technical/architecture/_category_.json create mode 100644 docs/technical/architecture/integrations.md create mode 100644 docs/technical/architecture/overview.md create mode 100644 docs/technical/ci-cd.md create mode 100644 docs/technical/development/_category_.json create mode 100644 docs/technical/development/index.md rename docs/{DEVELOPER-linux.md => technical/development/setup-linux.md} (97%) rename docs/{DEVELOPER-osx.md => technical/development/setup-macos.md} (86%) rename docs/{DEVELOPER-win.md => technical/development/setup-windows.md} (94%) create mode 100644 docs/technical/index.md create mode 100644 docs/technical/sync/_category_.json create mode 100644 docs/technical/sync/crdt.md create mode 100644 docs/technical/sync/fwheadless-merge.md create mode 100644 docs/technical/sync/index.md create mode 100644 docs/tsconfig.json create mode 100644 docs/user-guide/faq.md create mode 100644 docs/user-guide/getting-started.md create mode 100644 docs/user-guide/how-sync-works.mdx create mode 100644 docs/user-guide/index.md diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000000..70b1d3a02f --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,59 @@ +name: Docs +on: + push: + paths: + - 'docs/**' + - '.github/workflows/docs.yaml' + branches: + - develop + pull_request: + paths: + - 'docs/**' + - '.github/workflows/docs.yaml' + branches: + - develop + +permissions: + contents: read + +jobs: + build: + name: Build + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./docs + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 + with: + package_json_file: 'docs/package.json' + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version-file: './docs/package.json' + cache: 'pnpm' + cache-dependency-path: './docs/pnpm-lock.yaml' + - run: pnpm install --frozen-lockfile + - run: pnpm build + - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 + if: ${{ github.ref == 'refs/heads/develop' }} + with: + path: docs/build + + deploy: + name: Deploy to GitHub Pages + if: ${{ github.ref == 'refs/heads/develop' }} + needs: build + runs-on: ubuntu-latest + permissions: + pages: write + id-token: write + concurrency: + group: pages + cancel-in-progress: false + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0 diff --git a/AGENTS.md b/AGENTS.md index 33993c2a2f..3c9bd90df6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,9 +36,9 @@ Key documentation for this project: - `README.md` - Project overview and setup - `AGENTS.md` - You are here! Agent instructions - `.github/AGENTS.md` - **CI/CD and deployment guide** (workflows, K8s, Docker) -- `docs/DEVELOPER-win.md` - Windows development setup -- `docs/DEVELOPER-linux.md` - Linux development setup -- `docs/DEVELOPER-osx.md` - macOS development setup +- `docs/technical/development/setup-windows.md` - Windows development setup +- `docs/technical/development/setup-linux.md` - Linux development setup +- `docs/technical/development/setup-macos.md` - macOS development setup - `backend/README.md` - Backend architecture - `backend/AGENTS.md` - General backend guidelines - `backend/LexBoxApi/AGENTS.md` - API & GraphQL specific rules diff --git a/DOCS-PLAN.md b/DOCS-PLAN.md new file mode 100644 index 0000000000..aa1279a1d9 --- /dev/null +++ b/DOCS-PLAN.md @@ -0,0 +1,67 @@ +# Documentation plan + +Plan and findings behind the `docs/` site on this branch. Written 2026-07-29; remove or move this file once the approach is settled. + +## The problem + +There is no documentation home. The real technical content (sync architecture, integrations, CI/CD) lives in nine `AGENTS.md` files and the root README — written for coding agents, invisible to anyone who won't browse the repo. User documentation doesn't exist here at all; the app links out to the classic FieldWorks help site and the SIL community forum. Colleagues asking "do you have technical docs / diagrams?" currently get pointed at agent-instruction files. + +## What SIL uses (surveyed 2026-07) + +| Project | Tooling | i18n | +|---|---|---| +| Bloom (docs.bloomlibrary.org) | Docusaurus + Algolia DocSearch + Ask AI chat | Crowdin scaffolded | +| Scripture Forge (help.scriptureforge.org) | Docusaurus | 6 locales via Crowdin | +| Paratext (manual.paratext.org) | Docusaurus | 5 locales | +| The Combine | MkDocs Material (chosen for offline in-app bundling) | 4 locales | +| Keyman | bespoke PHP (legacy) | — | +| FieldWorks | WordPress + GitHub wikis (stale since 2020–22) | — | + +Docusaurus is the SIL convention: markdown in git, Crowdin for translation, static hosting. Bloom's site AI chat is Algolia **Ask AI** — a few lines in `docusaurus.config` pointing at an Algolia index of the rendered markdown site, so choosing Docusaurus gets the AI-chat path for free. GitHub wikis are where SIL dev docs go stale. + +## Decisions + +- **One Docusaurus site, two doc sections** (`/user-guide/`, `/technical/`): one pipeline, one search index, one AI-chat corpus, but the user guide stays plain-language and translatable while technical docs stay English-first. +- **Source lives in this monorepo** (unlike Bloom/SF/Paratext, which use separate repos): docs next to code is what makes "the AI updates the docs in the same PR as the code change" real, and reviewers see doc drift in the diff. +- **Terminology follows the shipped UI**: FieldWorks Lite, FieldWorks Classic, Lexbox, Send/Receive. CRDT/Harmony/Mercurial/FwHeadless are technical-section vocabulary only. +- **Seed content is adapted from already-reviewed sources** (README, AGENTS.md files, DEVELOPER-*.md), not newly authored prose. `AGENTS.md` files are untouched in this PR; de-duplicating them to link into the site is a follow-up. +- **Deployment**: GitHub Pages workflow included (build on PR, deploy on develop push). Target URL and DNS (`docs.lexbox.org`?) are a team decision. +- Later, in rough order: Crowdin wiring for the user guide (copy Scripture Forge's setup), Algolia DocSearch + Ask AI (copy Bloom's config), screenshots in the user guide, moving `AGENTS.md` architecture content into the site and linking back. + +## The sync explainer + +The hardest thing to explain is FieldWorks Lite ↔ FieldWorks Classic sync; several static-diagram and UI iterations still confused people. The user-guide page "How sync works" replaces the static diagram with an interactive, question-driven explainer (`SyncExplainer` component): + +- **One fixed picture** — your device → Lexbox holding *two copies* of the project → your colleague's FieldWorks Classic — mirroring the app's own Sync dialog. Every answer replays on the same picture so answers build one mental model. +- **Question chips, not persona tabs** — users know their question ("Why doesn't my colleague see my edit?"), not their category. Selecting one plays a user-paced stepper: a token hops the numbered legs, one sentence per step, a badge naming who acts. +- **Progressive disclosure** — surface level bans internal tech names; an "under the hood" accordion maps friendly names to CRDT/Harmony, Mercurial, FwHeadless for experts. +- **All content in one data module** (`syncScenarios.ts`) — editing prose or fixing a behavior fact is a one-line change; strings are extractable for translation. + +Design rationale (evidence: Mayer's segmenting principle, Tversky on animation, NN/g on audience-based navigation and progressive disclosure): learner-paced segments beat continuous animation for novice audiences; autoplay and personas are the classic failure modes. + +### Ground-truth facts the explainer encodes (verified against code) + +- Device ↔ Lexbox (CRDT) sync is fully automatic: after every edit (~100 ms debounce), on project open, on server push (SignalR), on reconnect; recovery loop every 5 min. `BackgroundSyncService`, `LexboxHubConnection`. +- The Lexbox-internal merge (Lite copy ↔ Classic copy) is **user-triggered only** — the Sync button in FieldWorks Lite or "Sync FieldWorks Lite" on the project page. No scheduler, cron, hg hook, or webhook exists. Jobs queue one project at a time server-wide (`SyncHostedService`); first sync clones + imports and can take minutes. +- Lexbox ↔ FieldWorks Classic is the user's Chorus **Send/Receive**, unchanged. +- Same-field concurrent edits: among Lite users, latest change wins (hybrid logical clock); between Lite and Classic since the last merge, the Classic value wins (`CrdtFwdataProjectSyncService.SyncInternal` applies FwData→CRDT first). Different-field edits both survive. Nothing is surfaced to users as a conflict. +- Found while researching: `backend/FwHeadless/AGENTS.md` wrongly says FwHeadless "detects Mercurial changes" — it only drains the queue fed by `/api/merge/execute`. Fix separately. + +### Explainer maintenance rules + +Hard caps are load-bearing (they fix the overwhelm that sank the static diagrams): ~8 questions, ≤6 steps each, one sentence per step. New user questions come from support channels; add a scenario in the data module, don't grow the picture. Never introduce doc-only terminology the app doesn't show. + +## Site layout on this branch + +```text +docs/ +├── docusaurus.config.ts # two docs instances, mermaid, no blog +├── user-guide/ # plain-language, translatable +│ └── how-sync-works.mdx # ← SyncExplainer +├── technical/ # architecture, integrations, dev setup +└── src/components/SyncExplainer/ + ├── index.tsx # rendering (writers never touch) + ├── syncScenarios.ts # ALL explainer content + └── styles.module.css +.github/workflows/docs.yaml # build check on PR; Pages deploy on develop +``` diff --git a/README.md b/README.md index 15531dd702..3b359cbf52 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ There are some exceptions: Summary of setup steps below. See the appropriate file for your operating system for more details: -* [Windows](docs/DEVELOPER-win.md) -* [Linux](docs/DEVELOPER-linux.md) -* [Mac](docs/DEVELOPER-osx.md) +* [Windows](docs/technical/development/setup-windows.md) +* [Linux](docs/technical/development/setup-linux.md) +* [Mac](docs/technical/development/setup-macos.md) ### Prerequisites * docker and compose @@ -194,7 +194,7 @@ Traces can be accessed directly with a URL like this: [https://ui.honeycomb.io/s In the application, a trace ID (aka "Error code") shown at the bottom of an error message can be Ctrl+clicked to navigate to the trace in Honeycomb. -![Error example](./docs/img/error-example.png) +![Error example](./docs/static/img/error-example.png) ## Testing diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000000..b2d6de3062 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts new file mode 100644 index 0000000000..4cefaf52de --- /dev/null +++ b/docs/docusaurus.config.ts @@ -0,0 +1,106 @@ +import {themes as prismThemes} from 'prism-react-renderer'; +import type {Config} from '@docusaurus/types'; +import type * as Preset from '@docusaurus/preset-classic'; +import type * as DocsPlugin from '@docusaurus/plugin-content-docs'; + +// Docusaurus appends the path of each doc relative to this directory. +const editUrl = 'https://github.com/sillsdev/languageforge-lexbox/tree/develop/docs'; +const repoUrl = 'https://github.com/sillsdev/languageforge-lexbox'; + +const config: Config = { + title: 'FieldWorks Lite & Lexbox Docs', + tagline: 'Guides for using FieldWorks Lite and Lexbox, and technical documentation for developers.', + favicon: 'img/favicon.png', + + future: { + v4: true, + }, + + // Deploy target and DNS are still a team decision. + url: 'https://docs.lexbox.org', + baseUrl: '/', + + organizationName: 'sillsdev', + projectName: 'languageforge-lexbox', + + onBrokenLinks: 'throw', + + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + markdown: { + mermaid: true, + }, + themes: ['@docusaurus/theme-mermaid'], + + presets: [ + [ + 'classic', + { + docs: false, + blog: false, + theme: { + customCss: './src/css/custom.css', + }, + } satisfies Preset.Options, + ], + ], + + plugins: [ + [ + '@docusaurus/plugin-content-docs', + { + id: 'user-guide', + path: 'user-guide', + routeBasePath: 'user-guide', + sidebarPath: './sidebars.ts', + editUrl, + } satisfies DocsPlugin.Options, + ], + [ + '@docusaurus/plugin-content-docs', + { + id: 'technical', + path: 'technical', + routeBasePath: 'technical', + sidebarPath: './sidebars.ts', + editUrl, + } satisfies DocsPlugin.Options, + ], + ], + + themeConfig: { + colorMode: { + respectPrefersColorScheme: true, + }, + navbar: { + title: 'FieldWorks Lite & Lexbox', + logo: { + alt: 'Lexbox logo', + src: 'img/logo.svg', + srcDark: 'img/logo-dark.svg', + }, + items: [ + {to: '/user-guide/', label: 'User guide', position: 'left'}, + {to: '/technical/', label: 'Technical', position: 'left'}, + {href: repoUrl, label: 'GitHub', position: 'right'}, + ], + }, + footer: { + style: 'dark', + links: [ + {label: 'Lexbox', href: 'https://lexbox.org'}, + {label: 'GitHub', href: repoUrl}, + ], + copyright: `Copyright © ${new Date().getFullYear()} SIL Global`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + } satisfies Preset.ThemeConfig, +}; + +export default config; diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000000..7995b30b5f --- /dev/null +++ b/docs/package.json @@ -0,0 +1,48 @@ +{ + "name": "lexbox-docs", + "version": "0.0.0", + "private": true, + "packageManager": "pnpm@10.24.0", + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "serve": "docusaurus serve", + "clear": "docusaurus clear", + "write-translations": "docusaurus write-translations", + "typecheck": "tsc" + }, + "dependencies": { + "@docusaurus/core": "3.10.2", + "@docusaurus/faster": "3.10.2", + "@docusaurus/plugin-content-docs": "3.10.2", + "@docusaurus/preset-classic": "3.10.2", + "@docusaurus/theme-mermaid": "3.10.2", + "@mdx-js/react": "^3.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.10.2", + "@docusaurus/tsconfig": "3.10.2", + "@docusaurus/types": "3.10.2", + "@types/react": "^19.0.0", + "typescript": "~6.0.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=20" + } +} diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 0000000000..ee0ff6a0f4 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,13540 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@docusaurus/core': + specifier: 3.10.2 + version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/faster': + specifier: 3.10.2 + version: 3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25) + '@docusaurus/plugin-content-docs': + specifier: 3.10.2 + version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/preset-classic': + specifier: 3.10.2 + version: 3.10.2(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(@types/react@19.2.17)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(search-insights@2.17.3)(typescript@6.0.3) + '@docusaurus/theme-mermaid': + specifier: 3.10.2 + version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@mdx-js/react': + specifier: ^3.0.0 + version: 3.1.1(@types/react@19.2.17)(react@19.2.8) + prism-react-renderer: + specifier: ^2.3.0 + version: 2.4.1(react@19.2.8) + react: + specifier: ^19.0.0 + version: 19.2.8 + react-dom: + specifier: ^19.0.0 + version: 19.2.8(react@19.2.8) + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 3.10.2 + version: 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/tsconfig': + specifier: 3.10.2 + version: 3.10.2 + '@docusaurus/types': + specifier: 3.10.2 + version: 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@types/react': + specifier: ^19.0.0 + version: 19.2.17 + typescript: + specifier: ~6.0.2 + version: 6.0.3 + +packages: + + '@11ty/gray-matter@1.0.0': + resolution: {integrity: sha512-7mJJl+wf1AByoT0PknQiQfOPnVNT4fevGrUBVWO4HXsnYn1aQPyRyrELYrNUFleUBM++KzMKN6QaxHPk0t/6/g==} + engines: {node: '>=11'} + + '@algolia/abtesting@1.22.0': + resolution: {integrity: sha512-BFR6zNowNKcY7Ou7TaJc9QWexES4YKPbmf/OTFofpdsdhz4x6q0lbxp3duO0EHnyrN7rE4ba/TSXuY+BDGu4+g==} + engines: {node: '>= 14.0.0'} + + '@algolia/autocomplete-core@1.19.2': + resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} + + '@algolia/autocomplete-core@1.19.9': + resolution: {integrity: sha512-4U2JKLMWlDu0CotYyUkWakDxr8AIav3QtIUXXRpfavYN29aVWfzlwJp9T0rPKEf/dO2QCPAUc0Kq1Tj1GJxo2A==} + + '@algolia/autocomplete-plugin-algolia-insights@1.19.2': + resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-plugin-algolia-insights@1.19.9': + resolution: {integrity: sha512-6mExC6X7762s2SV3eJy3QOkB8bdMmnUhQ2agvGVDuzwoGyr3PquGSY/0vPQXCfiAiCaXUz1rXn+lwghgSi0l0w==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-shared@1.19.2': + resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.19.9': + resolution: {integrity: sha512-YosP9Uoek6y/Ur1r1qeogk4biMe/hzkyNcgMCciw0//3XpCM7VlYLSHnyt/vOnEOGhCCc0+3v+unEiH6zz+Z1A==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.56.0': + resolution: {integrity: sha512-7r4Z3NC7yU1oAQVWJNA2HX7tX481F3pJvCGyLIXiTdBcthz4Q/o21jwcMYDFkuI92UWTNBQQmHYgwHo1zS5dzg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.56.0': + resolution: {integrity: sha512-avmjXQSq+jadFO8Xl2em05/uQdQnEmHsJyOAdVbZkmVgpMfxL12aJwVVfGNwYr9nulcpuJN1X0lTaQ5wxuNGcA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.56.0': + resolution: {integrity: sha512-v2TPStUhY//ripPjIVclZ8AWc7DEGooXULZGFlFu37zNatgHjw34oZZ+OSbbc/YHO+xZwPl62I1k8xH1m4S2eg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.56.0': + resolution: {integrity: sha512-P0ehROpM4Sem3Sqo5x2cKPgj67D3G3jy0rh1Amwkcvsfr6tkvIcdCmerieanqTF7NxUMPNFLkpIFeMO8Rpa50w==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.56.0': + resolution: {integrity: sha512-SXK3Vn3WVxyzbm31oePZBJkp1wpOyuWdd4B/Pv7n0aXDxmeSWhC1R1FC1517mMrFAIaPH4Rt0x6RUe7ZNjz8FA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.56.0': + resolution: {integrity: sha512-5+ZdX8garFnmycnZgKhtXHePEaLj5zqDxI/0lkhhluzCcvTn0/PvvTirTg8hHYetQHvn7GDyeAiqTAieMvMW4A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.56.0': + resolution: {integrity: sha512-+mKUdYvqOi0BcvpAEyCEw49vSBptufIcfibtHz2bdr1pI789M46Yt0uQEk/sxtK3teh71OQvVFHaTDzShUWewQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/ingestion@1.56.0': + resolution: {integrity: sha512-9g/zj+AZx5moFcdFIrYQoVrueXivjUcc3MQHtCYT8WhIuk1lUh1AyEhvJCS0XBZld09cLvd1AZ3BvDBpVpX2UA==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.56.0': + resolution: {integrity: sha512-Qf3Sr6f9A9uxCZUf3MXS0d2b877uYzEB5yxqpVGXAhcJnBCQjrRRon0KvefpGkxy+BshrIJs96OUoMtGqXTFDA==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.56.0': + resolution: {integrity: sha512-GXWG1rWc5wu8hY4N33Y3b6ernY6sAdAvmKWN/zHAiACOx40WnpG0TVX5YazCAr/9gOYGInSiM2A0y2jy2xbiDA==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.56.0': + resolution: {integrity: sha512-7t24cBxaInS3mZb7ddEaZT/tp6q+/aR4YttsQVyP1/i+LmwPR34atO35KjaLFCcRVrlP7sYOAqkCfg6lIRB+ew==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.56.0': + resolution: {integrity: sha512-R7ePHgVYmDFjZpvrsVAfbDz/d4RxKAYZ5/vgLfIsCVRZRryjWl/3INOxpOICzitehQ5FjNtNjcLQTrmHPTcHBQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.56.0': + resolution: {integrity: sha512-PIOUXlSnrqM0S+WOgDRb4RzotydJH7ZoT6tOyL7tAO7qJOfvX5wsEW8Pe+PMKMwvuI4/gIyK9cg2H7lJXqnc4Q==} + engines: {node: '>= 14.0.0'} + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@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.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + 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-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.29.7': + resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.8': + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + 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-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.29.7': + resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + 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/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.29.7': + resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': + resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': + resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': + resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': + resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': + resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': + resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.29.7': + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-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-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-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/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.29.7': + resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.29.7': + resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.29.7': + resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.29.7': + resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.29.7': + resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.29.7': + resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.29.7': + resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.29.7': + resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.29.7': + resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.29.7': + resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.29.7': + resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.29.7': + resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.29.7': + resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.29.7': + resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.29.7': + resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.29.7': + resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.29.7': + resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.29.7': + resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.29.7': + resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.29.7': + resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7': + resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.29.7': + resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.29.7': + resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.29.7': + resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.29.7': + resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.29.7': + resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': + resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.29.7': + resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.29.7': + resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.29.7': + resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.29.7': + resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.29.7': + resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.29.7': + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.29.7': + resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.29.7': + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.29.7': + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.29.7': + resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.29.7': + resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.29.7': + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.29.7': + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.29.7': + resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.29.7': + resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.29.7': + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.29.7': + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.29.7': + resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.29.7': + resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.29.7': + resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.29.7': + resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.29.7': + resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.29.7': + resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.29.7': + resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.29.7': + resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.29.7': + resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7': + resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.29.7': + resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.29.7': + resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-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.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + + '@chevrotain/types@11.1.2': + resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@csstools/cascade-layer-name-parser@2.0.5': + resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/postcss-alpha-function@1.0.1': + resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-cascade-layers@5.0.2': + resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function-display-p3-linear@1.0.1': + resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function@4.0.12': + resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-function@3.0.12': + resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': + resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-content-alt-text@2.0.8': + resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-contrast-color-function@2.0.12': + resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-exponential-functions@2.0.9': + resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-font-format-keywords@4.0.0': + resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gamut-mapping@2.0.11': + resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gradients-interpolation-method@5.0.12': + resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-hwb-function@4.0.12': + resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-ic-unit@4.0.4': + resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-initial@2.0.1': + resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-is-pseudo-class@5.0.3': + resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-light-dark-function@2.0.11': + resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-float-and-clear@3.0.0': + resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overflow@2.0.0': + resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0': + resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-resize@3.0.0': + resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-viewport-units@3.0.4': + resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-minmax@2.0.9': + resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': + resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-nested-calc@4.0.0': + resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-normalize-display-values@4.0.1': + resolution: {integrity: sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-oklab-function@4.0.12': + resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-position-area-property@1.0.0': + resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-progressive-custom-properties@4.2.1': + resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-property-rule-prelude-list@1.0.0': + resolution: {integrity: sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-random-function@2.0.1': + resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-relative-color-syntax@3.0.12': + resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-scope-pseudo-class@4.0.1': + resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-sign-functions@1.1.4': + resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-stepped-value-functions@4.0.9': + resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1': + resolution: {integrity: sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-system-ui-font-family@1.0.0': + resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-text-decoration-shorthand@4.0.3': + resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-trigonometric-functions@4.0.9': + resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-unset-value@4.0.0': + resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/selector-resolve-nested@3.1.0': + resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/utilities@2.0.0': + resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/core@4.7.0': + resolution: {integrity: sha512-p/9xVKmPDj3FPvMfPf5naVO3Ej8SCbcUugGvx1+8GgkuBNbqxqN2Irx3WLBv8VY0jH7XpRwKWdlmjXLZsmTLsg==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + + '@docsearch/css@4.7.0': + resolution: {integrity: sha512-Sk5xkdRFeE7PeWjG9l4AfTwdvMfr9wHiwNNCpHXT4v4SNyNMKdHGvEILc31BgaVFGDDNbv5u/a73tofRiwbEZw==} + + '@docsearch/react@4.7.0': + resolution: {integrity: sha512-x6oedjJ8O8/pIDBsMo5Orca3/6cQCz616/CwthVe68l43mqnj2lrJ9kFQITBqy8hMsS3nWeBWFoVO5dJ1DCFKA==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/babel@3.10.2': + resolution: {integrity: sha512-aJ1hpGyvfkte3dDAfNbWM4biW4yWZBVz7TIGLZP+v+tWOBgxX3e0N5ZIXHIvmfNNXTI77pcHUx3KmtOk05Ze3Q==} + engines: {node: '>=20.0'} + + '@docusaurus/bundler@3.10.2': + resolution: {integrity: sha512-i0ZNcy0f0WhaOlYVgzLsWhIoEXO9kS3HRoKPtgE6vQtZUq7arKZaYdNBudr3mqCmd+TyOkwtwfHgs1ENj07r5g==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/faster': '*' + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/core@3.10.2': + resolution: {integrity: sha512-EYByj6nk+aD9KeVxV6Hmo2/nAAT79P21Y82ycTBOBtrmqilloIbIEhgL2/8Xpt2Jz/pgNqHAwyusOGwmbKeJmA==} + engines: {node: '>=20.0'} + hasBin: true + peerDependencies: + '@docusaurus/faster': '*' + '@mdx-js/react': ^3.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/cssnano-preset@3.10.2': + resolution: {integrity: sha512-4gCnHRbJLTloiwfvFAa92tgb2gI4KYhvjfQVYnEaiMO/EgvWfCo1LwytHXen+1oZAN0VAlS0JAPxp3MsvKDa3A==} + engines: {node: '>=20.0'} + + '@docusaurus/faster@3.10.2': + resolution: {integrity: sha512-p/5E5/RyHv+QWusJMPN5i3OMJTqTgkhuwzVbB1AReDWTUHXQCmf5mlTFzGiDrWeQWIDOKsuOPn1jJh0s9LUOHA==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/types': '*' + + '@docusaurus/logger@3.10.2': + resolution: {integrity: sha512-gSEwqtPfCAnC3ZSJY6xL7tcIfgg0vFD39jbv93eakuweyvO2864xR0K+kmKwBhkTCtWRNjuGGnb5rdmkD/ndqw==} + engines: {node: '>=20.0'} + + '@docusaurus/mdx-loader@3.10.2': + resolution: {integrity: sha512-9Fd4V/SFjfrVQ0JH5EN0+iPWyFunvTeQE3gfyFeetqPaXMP0OylIjOw16dCuXG4NZJrYdBqwzjh18/h3gRi47w==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/module-type-aliases@3.10.2': + resolution: {integrity: sha512-h/I5e4jaAhDHW4vaLENi1i2hnOEnXY1t9R+nnRTbgUl7ymVRzN/HF7dDfj8rKYGj8gfIge+Ef+iYRAMtbGvsrQ==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-content-blog@3.10.2': + resolution: {integrity: sha512-0cbEnNKf0InmLkhj/+nVRmqEnWEoOE8Mh+2x1qOXI0qYpCnphq4RXknVJ8BvybKRXqYVvbmdMfiJSup+k4tm5w==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-docs@3.10.2': + resolution: {integrity: sha512-Sqwl4FPoZBDrlY8I2VU2H8O0M91CHp9T8ToMSkTZmjvHCif+1laqfXi6sTk8IfyVS/trN5yNjcWd1bFsGB6W5Q==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-pages@3.10.2': + resolution: {integrity: sha512-h5R12sZ/vV9EPiVjvIl9YFCOwkpwXes7dQMYt3EvP6Pphu4amHxxTqWxf08Fl5DR8h+oZMbWpFTNw5vKEYfvzQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-css-cascade-layers@3.10.2': + resolution: {integrity: sha512-UkdvQby5OQUKWrw3lLnSTJXQ6VETaUVTuPQX9AABtmFm5h+ifEBx1OQ+LN726Q4byuwBf2ElHkf4qU4hTxdvRg==} + engines: {node: '>=20.0'} + + '@docusaurus/plugin-debug@3.10.2': + resolution: {integrity: sha512-8vbZNOSCpnsT57EY6CgN7sgRVmx3KTYwO8Uvo2pbxOyb8tbqAwtT9SslqaQ41HbA1v1hpn5RP7u5s2KvRwAFpQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-analytics@3.10.2': + resolution: {integrity: sha512-kMHMBK9j4VAtgd5owwrRLRIi0EjkrpXlX7ePj1+y68XfVZV9I1T4S+koPDm+Hfw2TtnyHvh0uNrDvjz+DjQGVA==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-gtag@3.10.2': + resolution: {integrity: sha512-Vt90nNFhtAChRe9+it1hcHFgFvETdSnOkL5Bma+p6E/yU2tAYrvvyk+gv+LJGM2ZUkyKuKXLRsZ2Lb0bO7+Vog==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-tag-manager@3.10.2': + resolution: {integrity: sha512-MLCffCldysi/R0nzJQP7ZWd0xAoGNnSTiVOo6TTR6mKVGFhE+/XArGe67ZcaZv1uytgQXoXs92VJrgVDrz80rQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-sitemap@3.10.2': + resolution: {integrity: sha512-PODkwg5XetLML3hU/3xpCKJUZ9cqExLaBnD/Fzzwj2VHogLeqnDisLIujae87zuze7T4mCm2A6KEqZkyiz07EQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-svgr@3.10.2': + resolution: {integrity: sha512-JgfT3jWM0TJ8Uw0cEcqxHpybngQY1vlBYpuuNO+gEh5iPh5Ar+vxq/u9CFrYsWeXy48BN7Db76Pzp2edNXUQ8A==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/preset-classic@3.10.2': + resolution: {integrity: sha512-a4B3VczmDl99zK0EufDQYomdJ186WDingjmDXxhN2PNPS9Ty/Y2M5CLFX1KQMRKqRTLiRDKfutzG5IY1FC/ceg==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.10.2': + resolution: {integrity: sha512-JqTSLQmqmA9uKWZsD5iwBGJ4JyKB4/yTw6PsSXVPRJG/6GAm/u+add9Iip+hvwP12/AnPNztrdxsI14NJW4KeA==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-common@3.10.2': + resolution: {integrity: sha512-R9b/vMpK1yye6hNZTA6x/ivRv+at6GhxnXcxkpzCGzO1R1RwiquqiFg2wMFh6aqlJTpWRFKpFD2TzCDQcyOU0A==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-mermaid@3.10.2': + resolution: {integrity: sha512-Stssh5MYQJ+EdYugUXf+ZcpeJFQPKXf0KCd/SWp10o3CmXNaOoh5IEgVjVqY1e1XhQf3on4+Y4BnrMiD95E2SQ==} + engines: {node: '>=20.0'} + peerDependencies: + '@mermaid-js/layout-elk': ^0.1.9 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@mermaid-js/layout-elk': + optional: true + + '@docusaurus/theme-search-algolia@3.10.2': + resolution: {integrity: sha512-1msxllyhi/5m77JukXtp5UFnUAriwZIC1oJ7MTnpQpCwLTbclJi5BK5n28CTZuSXpQN2ewbbnqRgAhMM6c6ihg==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-translations@3.10.2': + resolution: {integrity: sha512-iv20wrxnyXkY89LM3TzRlzGlt5fIGO5UnaR6UL1ZVfB9RRFjxQFQ6awDrwAc6Km8Y5gD8pInuwYPF+6/TiCxXA==} + engines: {node: '>=20.0'} + + '@docusaurus/tsconfig@3.10.2': + resolution: {integrity: sha512-5GiB7h/nFsMFPO9mCqcRNE1yA5TSXXNCshNIgHPL6fCPOjcTDixs6qjQBu8ddkgPcicwCvOA7n3jeK2rGdJk6g==} + + '@docusaurus/types@3.10.2': + resolution: {integrity: sha512-B6rvfwIFSapUqUJjMriZswX13K8l5Z7AcmVE6uTEJpYddQieSTR12DsGaFtcZAIDsQd4p+0WTl0Vc6jmZK0Trw==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/utils-common@3.10.2': + resolution: {integrity: sha512-x3Dz6jv6iQKBNjBmVTu8p57abMp/VNTUgKBMgRVXJc5444orBTsArv0+cdfrXTiz/VMmHfDRVkPbL7GH2B7T7w==} + engines: {node: '>=20.0'} + + '@docusaurus/utils-validation@3.10.2': + resolution: {integrity: sha512-sn8unbDfUL585NtR3cwHefPicOyaHvPaX7VD0aOg/siIxUBoKyKKaGEqzJZDS64mM43TnxurkYDtmB1wsJlZsw==} + engines: {node: '>=20.0'} + + '@docusaurus/utils@3.10.2': + resolution: {integrity: sha512-xx0W3eav2uW1NRIpuHJWNwLTC15xPNjU4Uxi9NSnd3swYC96BE3vFiT93SD8s24kmAAWNwgZwfZ2fghGZ01Lcw==} + engines: {node: '>=20.0'} + + '@emnapi/core@1.11.3': + resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==} + + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} + + '@emnapi/wasi-threads@1.2.3': + resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.1.4': + resolution: {integrity: sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw==} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/base64@17.67.0': + resolution: {integrity: sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/buffers@1.2.1': + resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/buffers@17.67.0': + resolution: {integrity: sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/codegen@1.0.0': + resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/codegen@17.67.0': + resolution: {integrity: sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-core@4.64.0': + resolution: {integrity: sha512-zs2TAq7Six5jgMuoMNjpspAvOP3mhtgq/k1UyQodEzCtQi/N83y2/y+zcvnZSGp/Rxq96DBN+bValOBQAyn/ew==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-fsa@4.64.0': + resolution: {integrity: sha512-nMWOVbkLFyEgmXZih3wyvxA9XpgyyqyfrINMHvEFqhi7uqfRl7c9ERJt6yX7vgMPrB9Uo+OJO+Spa0cFzPD01w==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node-builtins@4.64.0': + resolution: {integrity: sha512-/o7WRFhUWaM/fOrslwLZGnzn4RmRILykn+lAL+mNObqqRNw+CQSiij6hpCeZ+C7buhdoVo7go/OYqzaSUfDYmA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node-to-fsa@4.64.0': + resolution: {integrity: sha512-WDD9WVs0hb7UAEKTgZW2f66WDrbj7gIIWwpP3spbLyXa0rghtUaFTB8L4gdR3ZCWwiKIsj38/CNijpVmpnuPUw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node-utils@4.64.0': + resolution: {integrity: sha512-k5Indsx9hWW9xSF7Y6oSKKwtCUNhzZxadub3owhIlitc+iMRVlPPdX2duTKQWBL3qNWpXya8jykgaaWpheeS4w==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node@4.64.0': + resolution: {integrity: sha512-dO+NNkODbUli4uV42bcNrrLvq5rE7SNpdZ5TNd0dtbLsAaNK3MDiIC9lUi+brboGoIjW6vd2fB1qao60nrk5xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-print@4.64.0': + resolution: {integrity: sha512-PHZFccchvkhWrwPWHjmVAhbC3vSHCtyZvlZfJJ3ho2bnzl450hXri6/8e6pbkWdH+SkmLXNml0sV8e5HDAfxKw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-snapshot@4.64.0': + resolution: {integrity: sha512-oM7UDeL83q6NBzzsfKAsYKXKVXlykKFqqOLh4xZZKAzzROTlInkPbc6LTDGThEOnPiFiUzA7tYziHG9xavd76Q==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.21.0': + resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@17.67.0': + resolution: {integrity: sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pointer@1.0.2': + resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pointer@17.67.0': + resolution: {integrity: sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.9.0': + resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@17.67.0': + resolution: {integrity: sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + + '@mdx-js/react@3.1.1': + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@mermaid-js/parser@1.2.0': + resolution: {integrity: sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==} + + '@module-federation/error-codes@0.22.0': + resolution: {integrity: sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==} + + '@module-federation/runtime-core@0.22.0': + resolution: {integrity: sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==} + + '@module-federation/runtime-tools@0.22.0': + resolution: {integrity: sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==} + + '@module-federation/runtime@0.22.0': + resolution: {integrity: sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==} + + '@module-federation/sdk@0.22.0': + resolution: {integrity: sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==} + + '@module-federation/webpack-bundler-runtime@0.22.0': + resolution: {integrity: sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==} + + '@napi-rs/wasm-runtime@1.0.7': + resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@peculiar/asn1-cms@2.8.0': + resolution: {integrity: sha512-NgekZOrSJFSBFLFoLfwePguAWAx7z1+f2TEsWFUMyiqqfntZ4+S/S5hzqME3q4pCA0iOsFKdwiQ35dwY24eVqA==} + + '@peculiar/asn1-csr@2.8.0': + resolution: {integrity: sha512-akbF8+uvleHs8sejNPQxwmVFuInAg6FMNHOwMILXfP518YfFJwdR3jr6oNUPOaEJfuEhn/vkNOCIT6ASUd4mbg==} + + '@peculiar/asn1-ecc@2.8.0': + resolution: {integrity: sha512-ohwlk+u9Rv2NOAY1c6MfHj45ATVF8R1DUN/WCgABiRtLi2ZftlZWZX7KvpAbU8v9xPcmoILfELeEABj/rn18AQ==} + + '@peculiar/asn1-pfx@2.8.0': + resolution: {integrity: sha512-5yof1ytoB++RQtaFbqSUJ8pxDJtZT6vbVqZ8XoJ61ph7UjNVvfFwAilnCodqkNsAodpy13gDhoxZXw00pghnyg==} + + '@peculiar/asn1-pkcs8@2.8.0': + resolution: {integrity: sha512-qAKXtLpBEw9LqhKpjw3ajZSXlBur+ipW+y2ivVBQAG6F6qRx94yO+1ZR4mvw+YaCfKSaOzLeYEzsPaBp4SJELA==} + + '@peculiar/asn1-pkcs9@2.8.0': + resolution: {integrity: sha512-b5nDWCnkV60+cQ141D6sVVwK9nz64R5n3zSVnklGd+ECdkW2Ol3U1a6yYFlalpSOaD557yuJB64A+q42jG7lUQ==} + + '@peculiar/asn1-rsa@2.8.0': + resolution: {integrity: sha512-zHEUlCqB2mk7x2lxDwHHJy7hWZOPdGHVlsmITWKB5/PbQo61atbu9PJ/0r9dQNMwFzbKPXZ8uK8/91eUhRznSg==} + + '@peculiar/asn1-schema@2.8.0': + resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} + + '@peculiar/asn1-x509-attr@2.8.0': + resolution: {integrity: sha512-tHjkfS/qhMnmrlB2J9NhflQlQ7In3khO3CfmVrriOlpTeErY9ZIKOso1hQ5JQiyrJ7ShvqVPk7E5fQmbclkSKA==} + + '@peculiar/asn1-x509@2.8.0': + resolution: {integrity: sha512-N0CMuhWUzsWEVq6F1q9X6+VKUnWzSW+cSVg+aPaGGwDdbFoFWTYgin5MHwXgpWd6y9COMBxnfy/Qc+Xc7F0Zwg==} + + '@peculiar/utils@2.0.3': + resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + + '@peculiar/x509@1.14.3': + resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} + engines: {node: '>=20.0.0'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@rspack/binding-darwin-arm64@1.7.12': + resolution: {integrity: sha512-rbFprJaJiqrmfy8SHth8EsoRS0wg4bXcucwj9NiMzpGFq14Opw8c04iQ6H9BECYzgmN0PKZ9rh41LdVvhdZe4A==} + cpu: [arm64] + os: [darwin] + + '@rspack/binding-darwin-x64@1.7.12': + resolution: {integrity: sha512-jnOp+/UXOJa9xqUb8KXH03sysoO2e4Ij6tw6MqDdmdj8n/A8PQENRPUbW9AwXpPtVDJPus9r4fi7b3+6e4B8Hg==} + cpu: [x64] + os: [darwin] + + '@rspack/binding-linux-arm64-gnu@1.7.12': + resolution: {integrity: sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==} + cpu: [arm64] + os: [linux] + + '@rspack/binding-linux-arm64-musl@1.7.12': + resolution: {integrity: sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==} + cpu: [arm64] + os: [linux] + + '@rspack/binding-linux-x64-gnu@1.7.12': + resolution: {integrity: sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==} + cpu: [x64] + os: [linux] + + '@rspack/binding-linux-x64-musl@1.7.12': + resolution: {integrity: sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==} + cpu: [x64] + os: [linux] + + '@rspack/binding-wasm32-wasi@1.7.12': + resolution: {integrity: sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==} + cpu: [wasm32] + + '@rspack/binding-win32-arm64-msvc@1.7.12': + resolution: {integrity: sha512-8+h5fYDXYdmugbdfZ+D1y8IQ3rv2EhSfyGP7vBe+bjNyaMa4jWrpucmZbtxojUL1AzaeuHbvMdj9UO/gelk/+g==} + cpu: [arm64] + os: [win32] + + '@rspack/binding-win32-ia32-msvc@1.7.12': + resolution: {integrity: sha512-cDMGwTRSa2p9fNBVe1wTRkF2AEXZ9ARWW36QeC5CkLaI0Ezz8lvhF2+CSOPnhaQ1O1qtn0L0SF+lFnrY+I7xGQ==} + cpu: [ia32] + os: [win32] + + '@rspack/binding-win32-x64-msvc@1.7.12': + resolution: {integrity: sha512-wIqFvlgFqrgUyj/6S/FJcvShnkZOmIeXTfqvheLY67MGq8qd8jb1YimQVKAIrmWB3yuJKUFACI3Ag1UBtEedEA==} + cpu: [x64] + os: [win32] + + '@rspack/binding@1.7.12': + resolution: {integrity: sha512-f4HHuLbvuld8Ba4iB/4ibse5XrKxFrgmM3S4P2AOKnPlekAFlBjmltCuaTL/W2ggYvILaVY+YcFXrEH1rrKeQA==} + + '@rspack/core@1.7.12': + resolution: {integrity: sha512-6CwFIHlhRmXfZoMj3v9MZ1SMTPBn+cHVXeMIeaGp5sufqinKsISbsqHu6ZMJu2wDSmZLdmQJX6zLxkhcAUlhkQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@rspack/lite-tapable@1.1.0': + resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.12': + resolution: {integrity: sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/react-helmet-async@1.3.0': + resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@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.47': + resolution: {integrity: sha512-leTi7Rx3KF4zcC637iqWgk9SoV8VXAD8ppQYXsep63px5A/UftOcxLN1pmr8Z1si/YvX90ompP/rHgpYkgwXWg==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@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.47': + resolution: {integrity: sha512-TBxvRz+B4K205TWHHZxWVxkC2RFNP/Mz3PNcECBos5PsKwxjg3QSJzdoebr0VCf0Bfh8HOPldKxAP/8XkFe9gA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.15.47': + resolution: {integrity: sha512-3Yu3Uq/VgytqsPjTMbkPU1ExADytbdWbruJYhA584E9jrpE2Ki+R6VVPoZCeAVk1Cb7QxcRTgblw6bSa6a/R+w==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-ppc64-gnu@1.15.47': + resolution: {integrity: sha512-wfdMi5IaOaNtmh2/6geRoxIdNfqylUZFdtzTKS655y1axWfIWyx7As74vv0wVdjeCIZ3WmCI9odDd4rUttXOSQ==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + + '@swc/core-linux-s390x-gnu@1.15.47': + resolution: {integrity: sha512-3hHYBY0yx8Ez7GMRrkhXHQzMdR5IZA6Wq5Ee4svlgwvSECLpnAJ9+0AimEGUFDvuLwE7nV/2+PYe8+Nm4rvNcQ==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + + '@swc/core-linux-x64-gnu@1.15.47': + resolution: {integrity: sha512-TjfhjgP/jGCfFHYC3JQPhJA1HwErbIJ9JfREDc1KNkvY6P0LodCgKVIlQ5deeTbkG7ih3bF5PHJLuLpaZjdRyQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.15.47': + resolution: {integrity: sha512-CQpS8Ge/avfjZd0UEwG/sds83Uu32deQXcV1Jo3jD0mmvQQqtYAjpsDZXugmheeAwmt+YIuoVtVHro8LMYHqsQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@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.47': + resolution: {integrity: sha512-ZIp49d2Z4/ka2jO9otOg4hDvTdPmp86kVOgS2M5FCPI7eKKZ1W0boxWn+8XeZrfERtFGW0AlMRm4JhlJa7l3NA==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@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.47': + resolution: {integrity: sha512-FbsO5JcfOjfH38W/rohBRBweJeERsAuIP4f377lmkmxTcq9exjtx4SkRuZY5CdfhR2CBVwDIJegBpJDffwNsOg==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/html-darwin-arm64@1.15.47': + resolution: {integrity: sha512-Qe3FXNLO/k2WN7xmBP8SzBrtLvlIbyqa8cceUOI0opE4gk+myk5qIk022MiGJOgiF1B21/wMXgA08gYjQ2lP2Q==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/html-darwin-x64@1.15.47': + resolution: {integrity: sha512-khCOiWmqlqi8yz+F/ePExhht/+3/cz1XzKV7raPKVynzd6sPxYtFQlNubj305s2soEXgkYYIH0zVVLwiMOVn6Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/html-linux-arm-gnueabihf@1.15.47': + resolution: {integrity: sha512-7VRqaOEQEFPHSbUcnobmI59WbFK9M35Sse8TFN3hHxOlK9fINJ9yN5FuE9XEeRQAk+PFdR6WrIcF1Xwx1Cpi8A==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/html-linux-arm64-gnu@1.15.47': + resolution: {integrity: sha512-Ri9MmQqVRiEWuRfpkSTqz0bguvejXQcqQAkoW1Hke6+DColfzETcgNWa/Kw/ii5A/SS9Nb7acKaYdIw1vMBPwA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/html-linux-arm64-musl@1.15.47': + resolution: {integrity: sha512-NyXRQiVBkeutgCwCxUUaFqZdDmpZONs7Zz3AZGoY35s9GwXF412Nt22fK/e7lO/sM6G/+S3rOom/0xTmUQSK6A==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/html-linux-ppc64-gnu@1.15.47': + resolution: {integrity: sha512-rQ+XLJHFzu0e4M5p1+8kF2FKzI7WO9KPPji87OuicHZVrDCEqg7/jSGu3hys9CjIQIYVfR+tAFuZz3Q1/jOoNA==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + + '@swc/html-linux-s390x-gnu@1.15.47': + resolution: {integrity: sha512-w6bitHrllrE3lqmf14cT3spmWhZHGts1O08O4adzxztSPto7O5GM3IerqZm/NtsqlxNsfbVHnhaNXxXWe/8Q+Q==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + + '@swc/html-linux-x64-gnu@1.15.47': + resolution: {integrity: sha512-FTA7E29gcyadd71prg8sJUVacYrIhAXS8L7p48yCfgcNOKquofN1TDOrHVOyYMoxplL3FUwwbN+AZxWO7QfWPQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/html-linux-x64-musl@1.15.47': + resolution: {integrity: sha512-g+K1GKUrj+S9o8Qsgii2g7ooMzZ750R4IAqH5CVElIA5FTMAx7KGnu9ga6aEnRwwLYxY3s1k/nN+ls0NEk240g==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/html-win32-arm64-msvc@1.15.47': + resolution: {integrity: sha512-5Iw3i00JdTySi+ccc2CM5bxY+8TZivQmcTqUC6mUdAY0/KYBgSe1/L294UJQ4OTLQqNDOYXY9jdb070zZUX7jg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/html-win32-ia32-msvc@1.15.47': + resolution: {integrity: sha512-YkKd0hbIOeuFC1Sg7uGKkU2JhL+c9vAJlT6P0nRbWCAL71n01IPbdtbW6PmvgVmI7pxRYucXpr4pg839nX5+9Q==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/html-win32-x64-msvc@1.15.47': + resolution: {integrity: sha512-w9Ug+VB9hlHT4hTWIJSB40AdF+qs5w07CYq/+ef1vQRjT5naN6/SKuXmr9/CKLn3T7A9z3lRMPKE4+lmtUkBOQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/html@1.15.47': + resolution: {integrity: sha512-Olu/8OORvYB+43v2/85nHe1EA8WSvWp8D3kctEAput/o4F+EWCK0nr4yGTqvWB7Z+ODz0k+vnxpvHQYzsKP2LA==} + engines: {node: '>=14'} + + '@swc/types@0.1.27': + resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.4': + resolution: {integrity: sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@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==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/express-serve-static-core@4.19.9': + resolution: {integrity: sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==} + + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.17': + resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + + '@types/istanbul-lib-coverage@2.0.6': + 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==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@26.1.2': + resolution: {integrity: sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==} + + '@types/prismjs@1.26.6': + resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} + + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + + '@types/retry@0.12.2': + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} + + '@upsetjs/venn.js@2.0.0': + resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} + engines: {node: '>=0.4.0'} + + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@2.0.3: + resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==} + engines: {node: '>= 16.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + algoliasearch-helper@3.29.2: + resolution: {integrity: sha512-SaV+rZM3drExb0punEYYjT+sNcH74YFwN8ocjya7IDOyQvKWeQpEaSMVG3+IGTVos+feuatj7ljQ4BXlXdUp3w==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@5.56.0: + resolution: {integrity: sha512-PrqppUmhT4ENdas2pH9caE7efUcxy6EcSFhWzosiVuQBzu2tQ5yLTI6jwomT/1cuBnivzGfxiJCqDNN9FRRh+Q==} + engines: {node: '>= 14.0.0'} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + ansis@3.17.0: + resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + engines: {node: '>=14'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + asn1js@3.0.10: + resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} + engines: {node: '>=12.0.0'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + autoprefixer@10.5.4: + resolution: {integrity: sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.14.2: + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.8: + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.11.7: + resolution: {integrity: sha512-APw5YuIQAg6L9w4sHDI6j26DGFJI6RpYOhnkMPdC9lWbkKvsyPHzDsve1yd73lk21yz7Y09Kci8B2Pp9FonzWA==} + engines: {node: '>=6.0.0'} + hasBin: true + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.6: + resolution: {integrity: sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.4.4: + resolution: {integrity: sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.17: + resolution: {integrity: sha512-w+aeW/mkgM4PyRMOJCgi3fOrTm5Q8QY1OSfn2TO2iuDj3ezIHqejmuxbjfPrqUkgqRew1iqkyAn0tr0ZwHD9+w==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + bytestreamjs@2.0.1: + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + 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'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@4.1.2: + 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} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + 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'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.2: + resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.49.0: + resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} + + core-js@3.49.0: + resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-blank-pseudo@7.0.1: + resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-declaration-sorter@7.4.0: + resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-has-pseudo@7.0.3: + resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-prefers-color-scheme@10.0.0: + resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssdb@8.9.0: + resolution: {integrity: sha512-J8jOU/hLjaXcO1LldOLraJSQpfLXRKof0I7mtbRyOy2AAXgqst0x9rlgi2qXeD6d0ou3ZLqcPAMqYVbpCbrxEw==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.34.0: + resolution: {integrity: sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + 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'} + + d3-chord@3.0.1: + 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'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + 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'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + 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'} + + 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'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + 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'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.14: + resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + 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'} + + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delaunator@5.1.0: + resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + 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} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-port@2.1.0: + resolution: {integrity: sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==} + engines: {node: '>= 16.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + dompurify@3.4.12: + resolution: {integrity: sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.398: + resolution: {integrity: sha512-AsvhAxopJGh6museTDMIjn6JpDYOfgu4RLlygomt87MUwBUqTfd/1EiPtx10/LZE8xpTvkP2E9Gafq7lkLtodQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.24.4: + resolution: {integrity: sha512-GVoi+ICHocoOIU7qVVM48wOJziRsqrsyqlI0Ce0LdowRn6v3bcH2zUa9kp85ncx0nwIb9/HOCOLS3fdThDG/XQ==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-toolkit@1.50.0: + resolution: {integrity: sha512-OyZKhUVvEep9ITEiwHn8GKnMRQIVqoSIX7WnRbkWgJkllCujilqP2rD0u979tkl8wqyc8ICwlc1UBVv/Sl1G6w==} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.5.0: + resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-uri@3.1.4: + resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} + engines: {node: '>=14.14'} + + fsevents@2.3.3: + 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==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-proto@1.0.1: + 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'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + 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'} + + glob-to-regex.js@1.2.0: + resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.8: + resolution: {integrity: sha512-MZmKQcTnhEh1SPSyMiEytIeDZDUoBZVorNHivQGXMASHf/BSGGOrKa2xQ5bGx3TCe1n109ecCt+cpww7wwWhKA==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x || 2.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-middleware@2.0.10: + resolution: {integrity: sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + + iconv-lite@0.4.24: + 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'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.45: + resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} + engines: {node: '>=12'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.4.0: + resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + 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'} + + is-network-error@1.3.2: + resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==} + engines: {node: '>=16'} + + is-npm@6.1.0: + resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + 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'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + joi@17.13.4: + resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + 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.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + 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.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + 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.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@4.64.0: + resolution: {integrity: sha512-Kw72fgY7Wn+sD8KmtNWSafl1dz0UvAsE/PHs3YVfLiaZuA3HxNm9sRLqAu0ATiBGJvME1PxZXbBZPv5GycDeAw==} + peerDependencies: + tslib: '2' + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + mermaid@11.16.0: + resolution: {integrity: sha512-Zvm3kbstgdpvIJPPItlL7fppIZ3kibvc1oZIGxdvk9t6UFz6flv+Jw7FtRGKwfcI8OckmH04LqG6LlS6X4B1pA==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + 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'} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + 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'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.10.2: + resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minimizer-webpack-plugin@5.6.1: + resolution: {integrity: sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + nanoid@3.3.16: + resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + 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'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-releases@2.0.51: + resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} + engines: {node: '>=18'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.1.1: + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + null-loader@4.0.1: + resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.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'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.4.1: + 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'} + + onetime@5.1.2: + 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'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@6.2.1: + resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} + engines: {node: '>=16.17'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + package-manager-detector@1.8.0: + resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + 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==} + + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkijs@3.4.0: + resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} + engines: {node: '>=16.0.0'} + + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + + postcss-attribute-case-insensitive@7.0.1: + resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@7.0.12: + resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-hex-alpha@10.0.0: + resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@10.0.0: + resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-custom-media@11.0.6: + resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-properties@14.0.6: + resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-selectors@8.0.5: + resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-dir-pseudo-class@9.0.1: + resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-double-position-gradients@6.0.4: + resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-visible@10.0.1: + resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@9.0.1: + resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@6.0.0: + resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-image-set-function@7.0.0: + resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-lab-function@7.0.12: + resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-logical@8.1.0: + resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nesting@13.0.2: + resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-opacity-percentage@3.0.0: + resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-overflow-shorthand@6.0.0: + resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@10.0.0: + resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-preset-env@10.6.1: + resolution: {integrity: sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-pseudo-class-any-link@10.0.1: + resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-selector-not@8.0.1: + resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.5.25: + resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==} + engines: {node: ^10 || ^12 || >=14} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.4.1: + resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} + peerDependencies: + react: '>=16.0.0' + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.3.0: + resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} + engines: {node: '>=12.20'} + + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.1.5: + resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} + engines: {node: '>=16.0.0'} + + 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==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + 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'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} + peerDependencies: + react: ^19.2.8 + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-json-view-lite@2.5.0: + resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + react-loadable-ssr-addon-v5-slorber@1.0.3: + resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + + registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} + hasBin: true + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + 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'} + + robust-predicates@3.0.3: + resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} + + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + rtlcss@4.3.0: + resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + 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==} + + schema-dts@1.1.5: + resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@5.5.0: + resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} + engines: {node: '>=18'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + 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'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.7: + resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} + + serve-index@1.9.2: + resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + 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'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.3: + resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + statuses@1.5.0: + 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'} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + + string-width@4.2.3: + 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'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + 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'} + + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} + + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + stylis@4.4.0: + resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.4: + resolution: {integrity: sha512-GsNRis4e8jxn2Y9ENz/8lbJ93CstG8svtMnuRaHbiF2LTJ5tK0/q3t/URPq9Zc7zVWBJnNnJMIp6bevK7bSmNg==} + engines: {node: '>=14.0.0'} + hasBin: true + + swc-loader@0.2.7: + resolution: {integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==} + peerDependencies: + '@swc/core': ^1.2.147 + webpack: '>=2' + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + terser@5.49.0: + resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==} + engines: {node: '>=10'} + hasBin: true + + thingies@2.6.1: + resolution: {integrity: sha512-cV/CMGTK3M4MlnJ/0At6ismOw/A0EEniDNScajjz/Br3c1sqE72YD01rGpPTKwd27wAxI5Pr+6+0w8yofzFRYw==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinyexec@1.2.4: + resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + engines: {node: '>=18'} + + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} + + to-regex-range@5.0.1: + 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'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tree-dump@1.1.0: + resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-dedent@2.3.0: + resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==} + engines: {node: '>=6.10'} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsyringe@4.10.0: + resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} + engines: {node: '>= 6.0.0'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + universalify@2.0.1: + 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'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + 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==} + 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 + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + watchpack@2.5.2: + resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@7.4.5: + resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} + engines: {node: '>= 18.12.0'} + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + + webpack-dev-server@5.2.6: + resolution: {integrity: sha512-HNLRmamRvVavZQ+avceZifmv8hmdUjg43t6MI4SqJDwFdW7RPQwH5vzGhDRZSX59SgfbeHhLnq3g+uooWo7pVw==} + engines: {node: '>= 18.12.0'} + hasBin: true + peerDependencies: + webpack: ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} + + webpack-sources@3.5.1: + resolution: {integrity: sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==} + engines: {node: '>=10.13.0'} + + webpack@5.109.2: + resolution: {integrity: sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@7.0.0: + resolution: {integrity: sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@rspack/core': '*' + webpack: 3 || 4 || 5 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + 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'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.13: + resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==} + 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 + + ws@8.21.1: + resolution: {integrity: sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@11ty/gray-matter@1.0.0': + dependencies: + js-yaml: 4.3.0 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + '@algolia/abtesting@1.22.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-core@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-plugin-algolia-insights@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)': + dependencies: + '@algolia/client-search': 5.56.0 + algoliasearch: 5.56.0 + + '@algolia/autocomplete-shared@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)': + dependencies: + '@algolia/client-search': 5.56.0 + algoliasearch: 5.56.0 + + '@algolia/client-abtesting@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-analytics@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-common@5.56.0': {} + + '@algolia/client-insights@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-personalization@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-query-suggestions@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-search@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/events@4.0.1': {} + + '@algolia/ingestion@1.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/monitoring@1.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/recommend@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/requester-browser-xhr@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + + '@algolia/requester-fetch@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + + '@algolia/requester-node-http@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.8.0 + tinyexec: 1.2.4 + + '@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.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@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.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.7 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-wrap-function': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helper-wrap-function@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 + + '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/preset-env@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/types': 7.29.7 + esutils: 2.0.3 + + '@babel/preset-react@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@braintree/sanitize-url@7.1.2': {} + + '@chevrotain/types@11.1.2': {} + + '@colors/colors@1.5.0': + optional: true + + '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/color-helpers@5.1.0': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.25)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-color-function@4.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.25)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.25)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.25)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.25)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-initial@2.0.1(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.25)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.25)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.25)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.25)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.25 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.25)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.25 + + '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.25)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.25)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-random-function@2.0.1(postcss@8.5.25)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.25)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.25)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.25)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.25)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.25)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.25)': + dependencies: + '@csstools/color-helpers': 5.1.0 + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.25)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + + '@csstools/postcss-unset-value@4.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.4)': + dependencies: + postcss-selector-parser: 7.1.4 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.4)': + dependencies: + postcss-selector-parser: 7.1.4 + + '@csstools/utilities@2.0.0(postcss@8.5.25)': + dependencies: + postcss: 8.5.25 + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/core@4.7.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + optionalDependencies: + '@types/react': 19.2.17 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + + '@docsearch/css@4.7.0': {} + + '@docsearch/react@4.7.0(@algolia/client-search@5.56.0)(@types/react@19.2.17)(algoliasearch@5.56.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@docsearch/core': 4.7.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docsearch/css': 4.7.0 + optionalDependencies: + '@types/react': 19.2.17 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@docusaurus/babel@3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/runtime': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.4.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/babel@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@babel/core': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@babel/runtime': 7.29.7 + '@babel/traverse': 7.29.7 + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.4.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/bundler@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@rspack/core@1.7.12)(@swc/core@1.15.47)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@babel/core': 7.29.7 + '@docusaurus/babel': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/cssnano-preset': 3.10.2 + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + clean-css: 5.3.3 + copy-webpack-plugin: 11.0.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + css-loader: 6.11.0(@rspack/core@1.7.12)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + cssnano: 6.1.2(postcss@8.5.25) + file-loader: 6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + html-minifier-terser: 7.2.0 + mini-css-extract-plugin: 2.10.2(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + null-loader: 4.0.1(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + postcss: 8.5.25 + postcss-loader: 7.3.4(postcss@8.5.25)(typescript@6.0.3)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + postcss-preset-env: 10.6.1(postcss@8.5.25) + terser-webpack-plugin: 5.6.1(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + webpack: 5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25) + webpackbar: 7.0.0(@rspack/core@1.7.12)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + optionalDependencies: + '@docusaurus/faster': 3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - csso + - esbuild + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/babel': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/bundler': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@rspack/core@1.7.12)(@swc/core@1.15.47)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.8) + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + core-js: 3.49.0 + detect-port: 2.1.0 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + execa: 5.1.1 + fs-extra: 11.4.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.8(@rspack/core@1.7.12)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + leven: 3.1.0 + lodash: 4.18.1 + open: 8.4.2 + p-map: 4.0.0 + prompts: 2.4.2 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.8)' + react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.8))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + react-router: 5.3.4(react@19.2.8) + react-router-config: 5.1.1(react-router@5.3.4(react@19.2.8))(react@19.2.8) + react-router-dom: 5.3.4(react@19.2.8) + semver: 7.8.5 + serve-handler: 6.1.7 + tinypool: 1.1.1 + tslib: 2.8.1 + update-notifier: 6.0.2 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 5.2.6(tslib@2.8.1)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + webpack-merge: 6.0.1 + optionalDependencies: + '@docusaurus/faster': 3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/cssnano-preset@3.10.2': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-sort-media-queries: 5.2.0(postcss@8.5.25) + tslib: 2.8.1 + + '@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25)': + dependencies: + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@rspack/core': 1.7.12 + '@swc/core': 1.15.47 + '@swc/html': 1.15.47 + browserslist: 4.28.7 + lightningcss: 1.33.0 + semver: 7.8.5 + swc-loader: 0.2.7(@swc/core@1.15.47)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + tslib: 2.8.1 + webpack: 5.109.2(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.25) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/css' + - '@swc/helpers' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - postcss + - uglify-js + - webpack-cli + + '@docusaurus/logger@3.10.2': + dependencies: + chalk: 4.1.2 + tslib: 2.8.1 + + '@docusaurus/mdx-loader@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mdx-js/mdx': 3.1.1 + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.5.0 + file-loader: 6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + fs-extra: 11.4.0 + image-size: 2.0.2 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + rehype-raw: 7.0.0 + remark-directive: 3.0.1 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.1 + stringify-object: 3.3.0 + tslib: 2.8.1 + unified: 11.0.5 + unist-util-visit: 5.1.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + vfile: 6.0.3 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.8)' + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-content-blog@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + cheerio: 1.0.0-rc.12 + combine-promises: 1.2.0 + feed: 4.2.2 + fs-extra: 11.4.0 + lodash: 4.18.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + schema-dts: 1.1.5 + srcset: 4.0.0 + tslib: 2.8.1 + unist-util-visit: 5.1.0 + utility-types: 3.11.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.4.0 + js-yaml: 4.3.0 + lodash: 4.18.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + schema-dts: 1.1.5 + tslib: 2.8.1 + utility-types: 3.11.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-pages@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + fs-extra: 11.4.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + tslib: 2.8.1 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-css-cascade-layers@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-debug@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + fs-extra: 11.4.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-json-view-lite: 2.5.0(react@19.2.8) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(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) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(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) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(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) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-sitemap@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + fs-extra: 11.4.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + sitemap: 7.1.3 + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-svgr@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@svgr/core': 8.1.0(typescript@6.0.3) + '@svgr/webpack': 8.1.0(typescript@6.0.3) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + tslib: 2.8.1 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/preset-classic@3.10.2(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(@types/react@19.2.17)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(search-insights@2.17.3)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-content-pages': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-css-cascade-layers': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-debug': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-google-analytics': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-google-gtag': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-google-tag-manager': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-sitemap': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-svgr': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/theme-classic': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@rspack/core@1.7.12)(@swc/core@1.15.47)(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/theme-search-algolia': 3.10.2(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(@types/react@19.2.17)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(search-insights@2.17.3)(typescript@6.0.3) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(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) + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@19.2.8)': + dependencies: + '@types/react': 19.2.17 + react: 19.2.8 + + '@docusaurus/theme-classic@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@rspack/core@1.7.12)(@swc/core@1.15.47)(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/plugin-content-pages': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/theme-translations': 3.10.2 + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.8) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.2 + infima: 0.2.0-alpha.45 + lodash: 4.18.1 + nprogress: 0.2.0 + postcss: 8.5.25 + prism-react-renderer: 2.4.1(react@19.2.8) + prismjs: 1.30.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-router-dom: 5.3.4(react@19.2.8) + rtlcss: 4.3.0 + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-common@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.1(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/theme-mermaid@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + mermaid: 11.16.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@docusaurus/plugin-content-docs' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-search-algolia@3.10.2(@algolia/client-search@5.56.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(@types/react@19.2.17)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(search-insights@2.17.3)(typescript@6.0.3)': + dependencies: + '@algolia/autocomplete-core': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@docsearch/react': 4.7.0(@algolia/client-search@5.56.0)(@types/react@19.2.17)(algoliasearch@5.56.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(search-insights@2.17.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(postcss@8.5.25))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8))(@rspack/core@1.7.12)(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/theme-translations': 3.10.2 + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-validation': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + algoliasearch: 5.56.0 + algoliasearch-helper: 3.29.2(algoliasearch@5.56.0) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.4.0 + lodash: 4.18.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-translations@3.10.2': + dependencies: + fs-extra: 11.4.0 + tslib: 2.8.1 + + '@docusaurus/tsconfig@3.10.2': {} + + '@docusaurus/types@3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@mdx-js/mdx': 3.1.1 + '@types/history': 4.7.11 + '@types/mdast': 4.0.4 + '@types/react': 19.2.17 + commander: 5.1.0 + joi: 17.13.4 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)' + utility-types: 3.11.0 + webpack: 5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25) + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/types@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@mdx-js/mdx': 3.1.1 + '@types/history': 4.7.11 + '@types/mdast': 4.0.4 + '@types/react': 19.2.17 + commander: 5.1.0 + joi: 17.13.4 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)' + utility-types: 3.11.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + fs-extra: 11.4.0 + joi: 17.13.4 + js-yaml: 4.3.0 + lodash: 4.18.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@11ty/gray-matter': 1.0.0 + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + escape-string-regexp: 4.0.0 + execa: 5.1.1 + file-loader: 6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + fs-extra: 11.4.0 + github-slugger: 1.5.0 + globby: 11.1.0 + jiti: 1.21.7 + js-yaml: 4.3.0 + lodash: 4.18.1 + micromatch: 4.0.8 + p-queue: 6.6.2 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + utility-types: 3.11.0 + webpack: 5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@11ty/gray-matter': 1.0.0 + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@docusaurus/utils-common': 3.10.2(@swc/core@1.15.47)(postcss@8.5.25)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + escape-string-regexp: 4.0.0 + execa: 5.1.1 + file-loader: 6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + fs-extra: 11.4.0 + github-slugger: 1.5.0 + globby: 11.1.0 + jiti: 1.21.7 + js-yaml: 4.3.0 + lodash: 4.18.1 + micromatch: 4.0.8 + p-queue: 6.6.2 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + utility-types: 3.11.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@emnapi/core@1.11.3': + dependencies: + '@emnapi/wasi-threads': 1.2.3 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.1.4': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.12 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 26.1.2 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/fs-core@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-fsa@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-core': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-node-builtins@4.64.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/fs-node-to-fsa@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-fsa': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-node-utils@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-node@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-core': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.64.0(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-print@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-snapshot@4.64.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 2.6.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@17.67.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 2.6.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pointer@17.67.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@17.67.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) + tslib: 2.8.1 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@mdx-js/mdx@3.1.1': + dependencies: + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.18.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.18.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.8)': + dependencies: + '@types/mdx': 2.0.14 + '@types/react': 19.2.17 + react: 19.2.8 + + '@mermaid-js/parser@1.2.0': + dependencies: + '@chevrotain/types': 11.1.2 + + '@module-federation/error-codes@0.22.0': {} + + '@module-federation/runtime-core@0.22.0': + dependencies: + '@module-federation/error-codes': 0.22.0 + '@module-federation/sdk': 0.22.0 + + '@module-federation/runtime-tools@0.22.0': + dependencies: + '@module-federation/runtime': 0.22.0 + '@module-federation/webpack-bundler-runtime': 0.22.0 + + '@module-federation/runtime@0.22.0': + dependencies: + '@module-federation/error-codes': 0.22.0 + '@module-federation/runtime-core': 0.22.0 + '@module-federation/sdk': 0.22.0 + + '@module-federation/sdk@0.22.0': {} + + '@module-federation/webpack-bundler-runtime@0.22.0': + dependencies: + '@module-federation/runtime': 0.22.0 + '@module-federation/sdk': 0.22.0 + + '@napi-rs/wasm-runtime@1.0.7': + dependencies: + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@noble/hashes@1.4.0': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@peculiar/asn1-cms@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + '@peculiar/asn1-x509-attr': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.8.0': + dependencies: + '@peculiar/asn1-cms': 2.8.0 + '@peculiar/asn1-pkcs8': 2.8.0 + '@peculiar/asn1-rsa': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.8.0': + dependencies: + '@peculiar/asn1-cms': 2.8.0 + '@peculiar/asn1-pfx': 2.8.0 + '@peculiar/asn1-pkcs8': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + '@peculiar/asn1-x509-attr': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.8.0': + dependencies: + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/utils@2.0.3': + dependencies: + tslib: 2.8.1 + + '@peculiar/x509@1.14.3': + dependencies: + '@peculiar/asn1-cms': 2.8.0 + '@peculiar/asn1-csr': 2.8.0 + '@peculiar/asn1-ecc': 2.8.0 + '@peculiar/asn1-pkcs9': 2.8.0 + '@peculiar/asn1-rsa': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.10.0 + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@3.0.3': + 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': {} + + '@rspack/binding-darwin-arm64@1.7.12': + optional: true + + '@rspack/binding-darwin-x64@1.7.12': + optional: true + + '@rspack/binding-linux-arm64-gnu@1.7.12': + optional: true + + '@rspack/binding-linux-arm64-musl@1.7.12': + optional: true + + '@rspack/binding-linux-x64-gnu@1.7.12': + optional: true + + '@rspack/binding-linux-x64-musl@1.7.12': + optional: true + + '@rspack/binding-wasm32-wasi@1.7.12': + dependencies: + '@napi-rs/wasm-runtime': 1.0.7 + optional: true + + '@rspack/binding-win32-arm64-msvc@1.7.12': + optional: true + + '@rspack/binding-win32-ia32-msvc@1.7.12': + optional: true + + '@rspack/binding-win32-x64-msvc@1.7.12': + optional: true + + '@rspack/binding@1.7.12': + optionalDependencies: + '@rspack/binding-darwin-arm64': 1.7.12 + '@rspack/binding-darwin-x64': 1.7.12 + '@rspack/binding-linux-arm64-gnu': 1.7.12 + '@rspack/binding-linux-arm64-musl': 1.7.12 + '@rspack/binding-linux-x64-gnu': 1.7.12 + '@rspack/binding-linux-x64-musl': 1.7.12 + '@rspack/binding-wasm32-wasi': 1.7.12 + '@rspack/binding-win32-arm64-msvc': 1.7.12 + '@rspack/binding-win32-ia32-msvc': 1.7.12 + '@rspack/binding-win32-x64-msvc': 1.7.12 + + '@rspack/core@1.7.12': + dependencies: + '@module-federation/runtime-tools': 0.22.0 + '@rspack/binding': 1.7.12 + '@rspack/lite-tapable': 1.1.0 + + '@rspack/lite-tapable@1.1.0': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.12': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/react-helmet-async@1.3.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@babel/runtime': 7.29.7 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + + '@svgr/babel-preset@8.1.0(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.29.7) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.29.7) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.29.7) + + '@svgr/core@8.1.0(typescript@6.0.3)': + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@6.0.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.29.7 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@6.0.3))': + dependencies: + '@babel/core': 7.29.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) + '@svgr/core': 8.1.0(typescript@6.0.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@6.0.3)': + dependencies: + '@svgr/core': 8.1.0(typescript@6.0.3) + cosmiconfig: 8.3.6(typescript@6.0.3) + deepmerge: 4.3.1 + svgo: 3.3.4 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@6.0.3)': + dependencies: + '@babel/core': 7.29.7 + '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@svgr/core': 8.1.0(typescript@6.0.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@6.0.3) + transitivePeerDependencies: + - supports-color + - typescript + + '@swc/core-darwin-arm64@1.15.47': + optional: true + + '@swc/core-darwin-x64@1.15.47': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.47': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.47': + optional: true + + '@swc/core-linux-arm64-musl@1.15.47': + optional: true + + '@swc/core-linux-ppc64-gnu@1.15.47': + optional: true + + '@swc/core-linux-s390x-gnu@1.15.47': + optional: true + + '@swc/core-linux-x64-gnu@1.15.47': + optional: true + + '@swc/core-linux-x64-musl@1.15.47': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.47': + optional: true + + '@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': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.27 + optionalDependencies: + '@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/counter@0.1.3': {} + + '@swc/html-darwin-arm64@1.15.47': + optional: true + + '@swc/html-darwin-x64@1.15.47': + optional: true + + '@swc/html-linux-arm-gnueabihf@1.15.47': + optional: true + + '@swc/html-linux-arm64-gnu@1.15.47': + optional: true + + '@swc/html-linux-arm64-musl@1.15.47': + optional: true + + '@swc/html-linux-ppc64-gnu@1.15.47': + optional: true + + '@swc/html-linux-s390x-gnu@1.15.47': + optional: true + + '@swc/html-linux-x64-gnu@1.15.47': + optional: true + + '@swc/html-linux-x64-musl@1.15.47': + optional: true + + '@swc/html-win32-arm64-msvc@1.15.47': + optional: true + + '@swc/html-win32-ia32-msvc@1.15.47': + optional: true + + '@swc/html-win32-x64-msvc@1.15.47': + optional: true + + '@swc/html@1.15.47': + dependencies: + '@swc/counter': 0.1.3 + optionalDependencies: + '@swc/html-darwin-arm64': 1.15.47 + '@swc/html-darwin-x64': 1.15.47 + '@swc/html-linux-arm-gnueabihf': 1.15.47 + '@swc/html-linux-arm64-gnu': 1.15.47 + '@swc/html-linux-arm64-musl': 1.15.47 + '@swc/html-linux-ppc64-gnu': 1.15.47 + '@swc/html-linux-s390x-gnu': 1.15.47 + '@swc/html-linux-x64-gnu': 1.15.47 + '@swc/html-linux-x64-musl': 1.15.47 + '@swc/html-win32-arm64-msvc': 1.15.47 + '@swc/html-win32-ia32-msvc': 1.15.47 + '@swc/html-win32-x64-msvc': 1.15.47 + + '@swc/types@0.1.27': + dependencies: + '@swc/counter': 0.1.3 + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@tybys/wasm-util@0.10.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 26.1.2 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 26.1.2 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 4.19.9 + '@types/node': 26.1.2 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 26.1.2 + + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.4': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-shape@3.1.8': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@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-hierarchy': 3.1.7 + '@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.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.8 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.9 + + '@types/estree@1.0.9': {} + + '@types/express-serve-static-core@4.19.9': + dependencies: + '@types/node': 26.1.2 + '@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.9 + '@types/qs': 6.15.1 + '@types/serve-static': 1.15.10 + + '@types/geojson@7946.0.16': {} + + '@types/hast@3.0.5': + dependencies: + '@types/unist': 3.0.3 + + '@types/history@4.7.11': {} + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.2.0': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.17': + dependencies: + '@types/node': 26.1.2 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.14': {} + + '@types/mime@1.3.5': {} + + '@types/ms@2.1.0': {} + + '@types/node@17.0.45': {} + + '@types/node@26.1.2': + dependencies: + undici-types: 8.3.0 + + '@types/prismjs@1.26.6': {} + + '@types/qs@6.15.1': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.17 + + '@types/react@19.2.17': + dependencies: + csstype: 3.2.3 + + '@types/retry@0.12.2': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/send@0.17.6': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 26.1.2 + + '@types/send@1.2.1': + dependencies: + '@types/node': 26.1.2 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.25 + + '@types/serve-static@1.15.10': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 26.1.2 + '@types/send': 0.17.6 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 26.1.2 + + '@types/trusted-types@2.0.7': + optional: true + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 26.1.2 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.35': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.3.3': {} + + '@upsetjs/venn.js@2.0.0': + optionalDependencies: + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-jsx@5.3.2(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + + acorn-walk@8.3.5: + dependencies: + acorn: 8.18.0 + + acorn@8.18.0: {} + + address@2.0.3: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv-keywords@3.5.2(ajv@6.15.0): + dependencies: + ajv: 6.15.0 + + ajv-keywords@5.1.0(ajv@8.20.0): + dependencies: + ajv: 8.20.0 + fast-deep-equal: 3.1.3 + + 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.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.4 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + algoliasearch-helper@3.29.2(algoliasearch@5.56.0): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 5.56.0 + + algoliasearch@5.56.0: + dependencies: + '@algolia/abtesting': 1.22.0 + '@algolia/client-abtesting': 5.56.0 + '@algolia/client-analytics': 5.56.0 + '@algolia/client-common': 5.56.0 + '@algolia/client-insights': 5.56.0 + '@algolia/client-personalization': 5.56.0 + '@algolia/client-query-suggestions': 5.56.0 + '@algolia/client-search': 5.56.0 + '@algolia/ingestion': 1.56.0 + '@algolia/monitoring': 1.56.0 + '@algolia/recommend': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + ansis@3.17.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.2 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + asn1js@3.0.10: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + + astring@1.9.0: {} + + autoprefixer@10.5.4(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + caniuse-lite: 1.0.30001806 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + babel-loader@9.2.1(@babel/core@7.29.7)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@babel/core': 7.29.7 + find-cache-dir: 4.0.0 + schema-utils: 4.3.3 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.7 + + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + core-js-compat: 3.49.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.11.7: {} + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.6: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + 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.15.3 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.4.4: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.17: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.7: + dependencies: + baseline-browser-mapping: 2.11.7 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.398 + node-releases: 2.0.51 + update-browserslist-db: 1.2.3(browserslist@4.28.7) + + buffer-from@1.1.2: {} + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + bytestreamjs@2.0.1: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.2.0 + get-stream: 6.0.1 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.1.1 + responselike: 3.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.28.7 + caniuse-lite: 1.0.30001806 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001806: {} + + ccount@2.0.1: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.6.2: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.2.2 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + htmlparser2: 8.0.2 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@3.4.2: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.2: {} + + copy-text-to-clipboard@3.2.2: {} + + copy-webpack-plugin@11.0.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + fast-glob: 3.3.3 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + core-js-compat@3.49.0: + dependencies: + browserslist: 4.28.7 + + core-js@3.49.0: {} + + core-util-is@1.0.3: {} + + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + + cosmiconfig@8.3.6(typescript@6.0.3): + dependencies: + import-fresh: 3.3.1 + js-yaml: 4.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 6.0.3 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-blank-pseudo@7.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + css-declaration-sorter@7.4.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + css-has-pseudo@7.0.3(postcss@8.5.25): + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + postcss-value-parser: 4.2.0 + + css-loader@6.11.0(@rspack/core@1.7.12)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + icss-utils: 5.1.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.25) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.25) + postcss-modules-scope: 3.2.1(postcss@8.5.25) + postcss-modules-values: 4.0.0(postcss@8.5.25) + postcss-value-parser: 4.2.0 + semver: 7.8.5 + optionalDependencies: + '@rspack/core': 1.7.12 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + cssnano: 6.1.2(postcss@8.5.25) + jest-worker: 29.7.0 + postcss: 8.5.25 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + optionalDependencies: + clean-css: 5.3.3 + + css-prefers-color-scheme@10.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@6.2.2: {} + + cssdb@8.9.0: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.5.25): + dependencies: + autoprefixer: 10.5.4(postcss@8.5.25) + browserslist: 4.28.7 + cssnano-preset-default: 6.1.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-discard-unused: 6.0.5(postcss@8.5.25) + postcss-merge-idents: 6.0.3(postcss@8.5.25) + postcss-reduce-idents: 6.0.3(postcss@8.5.25) + postcss-zindex: 6.0.2(postcss@8.5.25) + + cssnano-preset-default@6.1.2(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + css-declaration-sorter: 7.4.0(postcss@8.5.25) + cssnano-utils: 4.0.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-calc: 9.0.1(postcss@8.5.25) + postcss-colormin: 6.1.0(postcss@8.5.25) + postcss-convert-values: 6.1.0(postcss@8.5.25) + postcss-discard-comments: 6.0.2(postcss@8.5.25) + postcss-discard-duplicates: 6.0.3(postcss@8.5.25) + postcss-discard-empty: 6.0.3(postcss@8.5.25) + postcss-discard-overridden: 6.0.2(postcss@8.5.25) + postcss-merge-longhand: 6.0.5(postcss@8.5.25) + postcss-merge-rules: 6.1.1(postcss@8.5.25) + postcss-minify-font-values: 6.1.0(postcss@8.5.25) + postcss-minify-gradients: 6.0.3(postcss@8.5.25) + postcss-minify-params: 6.1.0(postcss@8.5.25) + postcss-minify-selectors: 6.0.4(postcss@8.5.25) + postcss-normalize-charset: 6.0.2(postcss@8.5.25) + postcss-normalize-display-values: 6.0.2(postcss@8.5.25) + postcss-normalize-positions: 6.0.2(postcss@8.5.25) + postcss-normalize-repeat-style: 6.0.2(postcss@8.5.25) + postcss-normalize-string: 6.0.2(postcss@8.5.25) + postcss-normalize-timing-functions: 6.0.2(postcss@8.5.25) + postcss-normalize-unicode: 6.1.0(postcss@8.5.25) + postcss-normalize-url: 6.0.2(postcss@8.5.25) + postcss-normalize-whitespace: 6.0.2(postcss@8.5.25) + postcss-ordered-values: 6.0.2(postcss@8.5.25) + postcss-reduce-initial: 6.1.0(postcss@8.5.25) + postcss-reduce-transforms: 6.0.2(postcss@8.5.25) + postcss-svgo: 6.0.3(postcss@8.5.25) + postcss-unique-selectors: 6.0.4(postcss@8.5.25) + + cssnano-utils@4.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + cssnano@6.1.2(postcss@8.5.25): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.5.25) + lilconfig: 3.1.3 + postcss: 8.5.25 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.2.3: {} + + cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.0): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.34.0 + + cytoscape-fcose@2.2.0(cytoscape@3.34.0): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.34.0 + + cytoscape@3.34.0: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.1.0 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.2: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.2 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.14: + dependencies: + d3: 7.9.0 + lodash-es: 4.18.1 + + dayjs@1.11.21: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-browser-id@5.0.1: {} + + default-browser@5.5.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delaunator@5.1.0: + dependencies: + robust-predicates: 3.0.3 + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-libc@2.1.2: {} + + detect-node@2.1.0: {} + + detect-port@2.1.0: + dependencies: + address: 2.0.3 + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + dompurify@3.4.12: + optionalDependencies: + '@types/trusted-types': 2.0.7 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.398: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.1.0: {} + + encodeurl@2.0.0: {} + + enhanced-resolve@5.24.4: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@2.2.0: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@2.3.1: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-toolkit@1.50.0: {} + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.18.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 + + escalade@3.2.0: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.9 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 + + estree-util-value-to-estree@3.5.0: + dependencies: + '@types/estree': 1.0.9 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 26.1.2 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + express@4.22.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.6 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.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.13 + proxy-addr: 2.0.7 + qs: 6.15.3 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2 + serve-static: 1.16.3 + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-uri@3.1.4: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.5 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + file-loader@6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.2: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.16.0: {} + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@5.3.4: {} + + fresh@0.5.2: {} + + fs-extra@11.4.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + 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.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@6.0.1: {} + + github-slugger@1.5.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regex.js@1.2.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.2.0: {} + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + hachure-fill@0.5.2: {} + + handle-thing@2.0.1: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-yarn@3.0.0: {} + + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.2.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.5 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.3 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.5 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.29.7 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.49.0 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.49.0 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.8(@rspack/core@1.7.12)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.18.1 + pretty-error: 4.0.0 + tapable: 2.3.3 + optionalDependencies: + '@rspack/core': 1.7.12 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + + http-cache-semantics@4.2.0: {} + + http-deceiver@1.2.7: {} + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-middleware@2.0.10(@types/express@4.17.25): + dependencies: + '@types/http-proxy': 1.17.17 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.25 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.16.0 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + human-signals@2.1.0: {} + + hyperdyperid@1.2.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + ignore@5.3.2: {} + + image-size@2.0.2: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + import-meta-resolve@4.2.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.45: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.2.7: {} + + internmap@1.0.1: {} + + internmap@2.0.3: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.4.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.16.2: + dependencies: + hasown: 2.0.4 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-network-error@1.3.2: {} + + is-npm@6.1.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regexp@1.0.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 26.1.2 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.2 + + jest-worker@27.5.1: + dependencies: + '@types/node': 26.1.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 26.1.2 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.7: {} + + joi@17.13.4: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-tokens@4.0.0: {} + + js-yaml@4.3.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + katex@0.16.47: + dependencies: + commander: 8.3.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + khroma@2.1.0: {} + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.14.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.10.0 + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + + leven@3.1.0: {} + + lightningcss-android-arm64@1.33.0: + optional: true + + lightningcss-darwin-arm64@1.33.0: + optional: true + + lightningcss-darwin-x64@1.33.0: + optional: true + + lightningcss-freebsd-x64@1.33.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true + + lightningcss-linux-arm64-gnu@1.33.0: + optional: true + + lightningcss-linux-arm64-musl@1.33.0: + optional: true + + lightningcss-linux-x64-gnu@1.33.0: + optional: true + + lightningcss-linux-x64-musl@1.33.0: + optional: true + + lightningcss-win32-arm64-msvc@1.33.0: + optional: true + + lightningcss-win32-x64-msvc@1.33.0: + optional: true + + 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 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash-es@4.18.1: {} + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.18.1: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lowercase-keys@3.0.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.4: {} + + marked@16.4.2: {} + + math-intrinsics@1.1.0: {} + + mdast-util-directive@3.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-hast@13.2.1: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.3 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + media-typer@0.3.0: {} + + memfs@4.64.0(tslib@2.8.1): + dependencies: + '@jsonjoy.com/fs-core': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-fsa': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-to-fsa': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.64.0(tslib@2.8.1) + '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) + '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + mermaid@11.16.0: + dependencies: + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.4 + '@mermaid-js/parser': 1.2.0 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + cytoscape: 3.34.0 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.0) + cytoscape-fcose: 2.2.0(cytoscape@3.34.0) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.21 + dompurify: 3.4.12 + es-toolkit: 1.50.0 + katex: 0.16.47 + khroma: 2.1.0 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.3.0 + uuid: 14.0.1 + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-directive@3.0.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.9 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.10.2(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + schema-utils: 4.3.3 + tapable: 2.3.3 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.17 + + minimist@1.2.8: {} + + minimizer-webpack-plugin@5.6.1(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + optionalDependencies: + '@swc/core': 1.15.47 + '@swc/html': 1.15.47 + lightningcss: 1.33.0 + postcss: 8.5.25 + + minimizer-webpack-plugin@5.6.1(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + optionalDependencies: + '@swc/core': 1.15.47 + clean-css: 5.3.3 + cssnano: 6.1.2(postcss@8.5.25) + html-minifier-terser: 7.2.0 + postcss: 8.5.25 + + minimizer-webpack-plugin@5.6.1(@swc/core@1.15.47)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + optionalDependencies: + '@swc/core': 1.15.47 + postcss: 8.5.25 + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + nanoid@3.3.16: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-releases@2.0.51: {} + + normalize-path@3.0.0: {} + + normalize-url@8.1.1: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + null-loader@4.0.1(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@10.2.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-finally@1.0.0: {} + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.2 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@6.2.1: + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.3.2 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.1.1 + registry-url: 6.0.1 + semver: 7.8.5 + + package-manager-detector@1.8.0: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@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-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.3.0 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-data-parser@0.1.0: {} + + path-exists@5.0.0: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@0.1.13: {} + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@3.3.0: {} + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pkijs@3.4.0: + dependencies: + '@noble/hashes': 1.4.0 + asn1js: 3.0.10 + bytestreamjs: 2.0.1 + pvtsutils: 1.3.6 + pvutils: 1.1.5 + tslib: 2.8.1 + + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + + postcss-attribute-case-insensitive@7.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-calc@9.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 6.1.4 + postcss-value-parser: 4.2.0 + + postcss-clamp@4.1.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-color-functional-notation@7.0.12(postcss@8.5.25): + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + postcss-color-hex-alpha@10.0.0(postcss@8.5.25): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-color-rebeccapurple@10.0.0(postcss@8.5.25): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-custom-media@11.0.6(postcss@8.5.25): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.25 + + postcss-custom-properties@14.0.6(postcss@8.5.25): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-custom-selectors@8.0.5(postcss@8.5.25): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-dir-pseudo-class@9.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-discard-comments@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-discard-duplicates@6.0.3(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-discard-empty@6.0.3(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-discard-overridden@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-discard-unused@6.0.5(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 6.1.4 + + postcss-double-position-gradients@6.0.4(postcss@8.5.25): + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-focus-visible@10.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-focus-within@9.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-font-variant@5.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-gap-properties@6.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-image-set-function@7.0.0(postcss@8.5.25): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-lab-function@7.0.12(postcss@8.5.25): + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/utilities': 2.0.0(postcss@8.5.25) + postcss: 8.5.25 + + postcss-loader@7.3.4(postcss@8.5.25)(typescript@6.0.3)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + cosmiconfig: 8.3.6(typescript@6.0.3) + jiti: 1.21.7 + postcss: 8.5.25 + semver: 7.8.5 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - typescript + + postcss-logical@8.1.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-merge-idents@6.0.3(postcss@8.5.25): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.5.25) + + postcss-merge-rules@6.1.1(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-selector-parser: 6.1.4 + + postcss-minify-font-values@6.1.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.5.25): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + cssnano-utils: 4.0.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 6.1.4 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.25): + dependencies: + icss-utils: 5.1.0(postcss@8.5.25) + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-modules-values@4.0.0(postcss@8.5.25): + dependencies: + icss-utils: 5.1.0(postcss@8.5.25) + postcss: 8.5.25 + + postcss-nesting@13.0.2(postcss@8.5.25): + dependencies: + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.4) + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-normalize-charset@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-normalize-display-values@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-opacity-percentage@3.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-ordered-values@6.0.2(postcss@8.5.25): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.25) + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-overflow-shorthand@6.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-page-break@3.0.4(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-place@10.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-preset-env@10.6.1(postcss@8.5.25): + dependencies: + '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.25) + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.25) + '@csstools/postcss-color-function': 4.0.12(postcss@8.5.25) + '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.25) + '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.25) + '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.25) + '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.25) + '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.25) + '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.25) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.25) + '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.25) + '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.25) + '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.25) + '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.25) + '@csstools/postcss-initial': 2.0.1(postcss@8.5.25) + '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.25) + '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.25) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.25) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.25) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.25) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.25) + '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.25) + '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.25) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.25) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.25) + '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.25) + '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.25) + '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.25) + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.25) + '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.25) + '@csstools/postcss-random-function': 2.0.1(postcss@8.5.25) + '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.25) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.25) + '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.25) + '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.25) + '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.25) + '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.25) + '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.25) + '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.25) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.25) + autoprefixer: 10.5.4(postcss@8.5.25) + browserslist: 4.28.7 + css-blank-pseudo: 7.0.1(postcss@8.5.25) + css-has-pseudo: 7.0.3(postcss@8.5.25) + css-prefers-color-scheme: 10.0.0(postcss@8.5.25) + cssdb: 8.9.0 + postcss: 8.5.25 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.25) + postcss-clamp: 4.1.0(postcss@8.5.25) + postcss-color-functional-notation: 7.0.12(postcss@8.5.25) + postcss-color-hex-alpha: 10.0.0(postcss@8.5.25) + postcss-color-rebeccapurple: 10.0.0(postcss@8.5.25) + postcss-custom-media: 11.0.6(postcss@8.5.25) + postcss-custom-properties: 14.0.6(postcss@8.5.25) + postcss-custom-selectors: 8.0.5(postcss@8.5.25) + postcss-dir-pseudo-class: 9.0.1(postcss@8.5.25) + postcss-double-position-gradients: 6.0.4(postcss@8.5.25) + postcss-focus-visible: 10.0.1(postcss@8.5.25) + postcss-focus-within: 9.0.1(postcss@8.5.25) + postcss-font-variant: 5.0.0(postcss@8.5.25) + postcss-gap-properties: 6.0.0(postcss@8.5.25) + postcss-image-set-function: 7.0.0(postcss@8.5.25) + postcss-lab-function: 7.0.12(postcss@8.5.25) + postcss-logical: 8.1.0(postcss@8.5.25) + postcss-nesting: 13.0.2(postcss@8.5.25) + postcss-opacity-percentage: 3.0.0(postcss@8.5.25) + postcss-overflow-shorthand: 6.0.0(postcss@8.5.25) + postcss-page-break: 3.0.4(postcss@8.5.25) + postcss-place: 10.0.0(postcss@8.5.25) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.25) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.25) + postcss-selector-not: 8.0.1(postcss@8.5.25) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-reduce-idents@6.0.3(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + caniuse-api: 3.0.0 + postcss: 8.5.25 + + postcss-reduce-transforms@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss-selector-not@8.0.1(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 7.1.4 + + postcss-selector-parser@6.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-value-parser: 4.2.0 + svgo: 3.3.4 + + postcss-unique-selectors@6.0.4(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + postcss-selector-parser: 6.1.4 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.5.25): + dependencies: + postcss: 8.5.25 + + postcss@8.5.25: + dependencies: + nanoid: 3.3.16 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + pretty-error@4.0.0: + dependencies: + lodash: 4.18.1 + renderkid: 3.0.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.4.1(react@19.2.8): + dependencies: + '@types/prismjs': 1.26.6 + clsx: 2.1.1 + react: 19.2.8 + + prismjs@1.30.0: {} + + process-nextick-args@2.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@7.2.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@2.3.1: {} + + pupa@3.3.0: + dependencies: + escape-goat: 4.0.0 + + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.1.5: {} + + qs@6.15.3: + dependencies: + es-define-property: 1.0.1 + side-channel: 1.1.1 + + queue-microtask@1.2.3: {} + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + range-parser@1.3.0: {} + + raw-body@2.5.3: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dom@19.2.8(react@19.2.8): + dependencies: + react: 19.2.8 + scheduler: 0.27.0 + + react-fast-compare@3.2.2: {} + + react-is@16.13.1: {} + + react-json-view-lite@2.5.0(react@19.2.8): + dependencies: + react: 19.2.8 + + react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.8))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@babel/runtime': 7.29.7 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.8)' + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + react-router-config@5.1.1(react-router@5.3.4(react@19.2.8))(react@19.2.8): + dependencies: + '@babel/runtime': 7.29.7 + react: 19.2.8 + react-router: 5.3.4(react@19.2.8) + + react-router-dom@5.3.4(react@19.2.8): + dependencies: + '@babel/runtime': 7.29.7 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.2.8 + react-router: 5.3.4(react@19.2.8) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@19.2.8): + dependencies: + '@babel/runtime': 7.29.7 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 19.2.8 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@19.2.8: {} + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.9 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.1(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.9 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.9 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + reflect-metadata@0.2.2: {} + + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + registry-auth-token@5.1.1: + dependencies: + '@pnpm/npm-conf': 3.0.3 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsgen@0.8.0: {} + + regjsparser@0.13.2: + dependencies: + jsesc: 3.1.0 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.5 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + relateurl@0.2.7: {} + + remark-directive@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.1.0 + micromark-extension-directive: 3.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.2 + node-emoji: 2.2.0 + unified: 11.0.5 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.18.1 + strip-ansi: 6.0.1 + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.1.0: {} + + robust-predicates@3.0.3: {} + + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + + rtlcss@4.3.0: + dependencies: + escalade: 3.2.0 + picocolors: 1.1.1 + postcss: 8.5.25 + strip-json-comments: 3.1.1 + + run-applescript@7.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rw@1.3.3: {} + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sax@1.6.1: {} + + scheduler@0.27.0: {} + + schema-dts@1.1.5: {} + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.15.0 + ajv-keywords: 3.5.2(ajv@6.15.0) + + schema-utils@4.3.3: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + ajv-keywords: 5.1.0(ajv@8.20.0) + + search-insights@2.17.3: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@5.5.0: + dependencies: + '@peculiar/x509': 1.14.3 + pkijs: 3.4.0 + + semver-diff@4.0.0: + dependencies: + semver: 7.8.5 + + semver@6.3.1: {} + + semver@7.8.5: {} + + send@0.19.2: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.7: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.5 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + + serve-index@1.9.2: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.8.1 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.3: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.10.0: {} + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.3: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.6.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.5 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.3 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.3 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + srcset@4.0.0: {} + + statuses@1.5.0: {} + + statuses@2.0.2: {} + + std-env@3.10.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-js@1.1.21: + dependencies: + style-to-object: 1.0.14 + + style-to-object@1.0.14: + dependencies: + inline-style-parser: 0.2.7 + + stylehacks@6.1.1(postcss@8.5.25): + dependencies: + browserslist: 4.28.7 + postcss: 8.5.25 + postcss-selector-parser: 6.1.4 + + stylis@4.4.0: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.4: + dependencies: + commander: 7.2.0 + css-select: 5.2.2 + css-tree: 2.3.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.6.1 + + swc-loader@0.2.7(@swc/core@1.15.47)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@swc/core': 1.15.47 + '@swc/counter': 0.1.3 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + tapable@2.3.3: {} + + terser-webpack-plugin@5.6.1(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + optionalDependencies: + '@swc/core': 1.15.47 + clean-css: 5.3.3 + cssnano: 6.1.2(postcss@8.5.25) + html-minifier-terser: 7.2.0 + postcss: 8.5.25 + + terser@5.49.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.18.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + thingies@2.6.1(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + tinyexec@1.2.4: {} + + tinypool@1.1.1: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + tree-dump@1.1.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-dedent@2.3.0: {} + + tslib@1.14.1: {} + + tslib@2.8.1: {} + + tsyringe@4.10.0: + dependencies: + tslib: 1.14.1 + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@6.0.3: {} + + undici-types@8.3.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.2.3(browserslist@4.28.7): + dependencies: + browserslist: 4.28.7 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.6.2 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.1.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.3.0 + semver: 7.8.5 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)))(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + optionalDependencies: + file-loader: 6.2.0(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@14.0.1: {} + + uuid@8.3.2: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.3: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.3 + + watchpack@2.5.2: + dependencies: + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@2.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.18.0 + acorn-walk: 8.3.5 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.13 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + colorette: 2.0.20 + memfs: 4.64.0(tslib@2.8.1) + mime-types: 3.0.2 + on-finished: 2.4.1 + range-parser: 1.3.0 + schema-utils: 4.3.3 + optionalDependencies: + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - tslib + + webpack-dev-server@5.2.6(tslib@2.8.1)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.9 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.10 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.4.4 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + express: 4.22.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.10(@types/express@4.17.25) + ipaddr.js: 2.4.0 + launch-editor: 2.14.1 + open: 10.2.0 + p-retry: 6.2.1 + schema-utils: 4.3.3 + selfsigned: 5.5.0 + serve-index: 1.9.2 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + ws: 8.21.1 + optionalDependencies: + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - tslib + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-merge@6.0.1: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.5.1: {} + + webpack@5.109.2(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.25): + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + browserslist: 4.28.7 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.4 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + graceful-fs: 4.2.11 + mime-db: 1.54.0 + minimizer-webpack-plugin: 5.6.1(@swc/core@1.15.47)(@swc/html@1.15.47)(lightningcss@1.33.0)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + webpack@5.109.2(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25): + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + browserslist: 4.28.7 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.4 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + graceful-fs: 4.2.11 + mime-db: 1.54.0 + minimizer-webpack-plugin: 5.6.1(@swc/core@1.15.47)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.25))(html-minifier-terser@7.2.0)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25): + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + browserslist: 4.28.7 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.4 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + graceful-fs: 4.2.11 + mime-db: 1.54.0 + minimizer-webpack-plugin: 5.6.1(@swc/core@1.15.47)(postcss@8.5.25)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)) + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + webpackbar@7.0.0(@rspack/core@1.7.12)(webpack@5.109.2(@swc/core@1.15.47)(postcss@8.5.25)): + dependencies: + ansis: 3.17.0 + consola: 3.4.2 + pretty-time: 1.1.0 + std-env: 3.10.0 + optionalDependencies: + '@rspack/core': 1.7.12 + webpack: 5.109.2(@swc/core@1.15.47)(postcss@8.5.25) + + websocket-driver@0.7.5: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.13: {} + + ws@8.21.1: {} + + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.1 + + xdg-basedir@5.1.0: {} + + xml-js@1.6.11: + dependencies: + sax: 1.6.1 + + yallist@3.1.1: {} + + yocto-queue@1.2.2: {} + + zwitch@2.0.4: {} diff --git a/docs/pnpm-workspace.yaml b/docs/pnpm-workspace.yaml new file mode 100644 index 0000000000..b37dab561d --- /dev/null +++ b/docs/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +ignoredBuiltDependencies: + - '@swc/core' + - core-js diff --git a/docs/sidebars.ts b/docs/sidebars.ts new file mode 100644 index 0000000000..0890a05170 --- /dev/null +++ b/docs/sidebars.ts @@ -0,0 +1,10 @@ +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; + +// Shared by both docs instances. Everything is autogenerated from the folder +// tree, so authors order pages with `sidebar_position` frontmatter instead of +// editing this file. +const sidebars: SidebarsConfig = { + sidebar: [{type: 'autogenerated', dirName: '.'}], +}; + +export default sidebars; diff --git a/docs/src/components/SyncExplainer/index.tsx b/docs/src/components/SyncExplainer/index.tsx new file mode 100644 index 0000000000..fe23862b91 --- /dev/null +++ b/docs/src/components/SyncExplainer/index.tsx @@ -0,0 +1,400 @@ +import {useEffect, useRef, useState, type ReactNode} from 'react'; + +import { + BADGE_LABELS, + CLOUD_LABELS, + GHOST_LABEL, + INITIAL, + LEGEND, + LEG_TRIGGERS, + NODE_LABELS, + QUESTIONS_HEADING, + SCENARIOS, + STEPPER_LABELS, + TOKEN_TAGS, + type CheckableNodeId, + type LegId, + type NodeId, + type Scenario, + type Step, + type TokenTarget, +} from './syncScenarios'; +import styles from './styles.module.css'; + +const NODE_TOKEN_TARGETS: readonly TokenTarget[] = ['device', 'liteCopy', 'classicCopy', 'colleague']; + +type MeasurableId = NodeId | LegId; + +interface TokenPos { + visible: boolean; + x: number; + y: number; +} + +const HIDDEN_TOKEN: TokenPos = {visible: false, x: 0, y: 0}; + +function cx(...classes: (string | false | undefined)[]): string { + return classes.filter(Boolean).join(' '); +} + +/** Only INITIAL.text uses this; step sentences are plain text. */ +function withBold(text: string): ReactNode[] { + return text.split(/\*\*(.+?)\*\*/g).map((part, i) => (i % 2 ? {part} : part)); +} + +function NodeBox({ + label, + icon, + hl, + dim, + checked, + elRef, +}: { + label: {kind: string; name: string}; + icon?: ReactNode; + hl: boolean; + dim: boolean; + checked: boolean; + elRef: (el: HTMLDivElement | null) => void; +}): ReactNode { + return ( +
+ + {icon &&
{icon}
} +
{label.kind}
+
{label.name}
+
+ ); +} + +function Connector({ + num, + kind, + trigger, + hl, + dim, + off, + inner, + elRef, +}: { + num: number; + kind: 'auto' | 'manual' | 'their'; + trigger: string; + hl: boolean; + dim: boolean; + off?: boolean; + inner?: boolean; + elRef: (el: HTMLDivElement | null) => void; +}): ReactNode { + return ( +
+ {num} +
+ +
+ {trigger} +
+ ); +} + +const phoneIcon = ( + + + + +); + +const desktopIcon = ( + + + + + +); + +const cloudIcon = ( + + + +); + +export default function SyncExplainer(): ReactNode { + const [scenario, setScenario] = useState(null); + const [stepIndex, setStepIndex] = useState(0); + const [tokens, setTokens] = useState<[TokenPos, TokenPos]>([HIDDEN_TOKEN, HIDDEN_TOKEN]); + const [resizeTick, setResizeTick] = useState(0); + + const stageRef = useRef(null); + const capTitleRef = useRef(null); + const elements = useRef>>({}); + const setEl = (id: MeasurableId) => (el: HTMLDivElement | null) => { + elements.current[id] = el; + }; + + const step: Step | null = scenario ? scenario.steps[stepIndex] : null; + const lastStep = scenario ? stepIndex === scenario.steps.length - 1 : false; + + const has = (list: readonly string[] | undefined, id: string): boolean => !!list?.includes(id); + const isHl = (id: NodeId | LegId): boolean => has(step?.legs, id) || has(step?.hlNodes, id); + const isDim = (id: NodeId | LegId): boolean => has(step?.dim, id); + const isChecked = (id: CheckableNodeId): boolean => has(step?.check, id); + + useEffect(() => { + const stage = stageRef.current; + if (!stage) return; + const stageRect = stage.getBoundingClientRect(); + const place = (at: TokenTarget | undefined, offset: number, previous: TokenPos): TokenPos => { + const el = at ? elements.current[at] : null; + if (!at || !el) return {...previous, visible: false}; + const rect = el.getBoundingClientRect(); + // Nodes: perch the dot on the top edge so it never covers the label. Legs: sit on the line. + const y = NODE_TOKEN_TARGETS.includes(at) + ? rect.top - stageRect.top - 12 + : rect.top - stageRect.top + rect.height / 2 - 8; + return {visible: true, x: rect.left - stageRect.left + rect.width / 2 - 8 + offset, y}; + }; + const coLocated = !!step?.t1 && step.t1 === step.t2; + setTokens((previous) => [ + place(step?.t1, coLocated ? -12 : 0, previous[0]), + place(step?.t2, coLocated ? 12 : 0, previous[1]), + ]); + }, [step, resizeTick]); + + useEffect(() => { + let timer: ReturnType; + const onResize = (): void => { + clearTimeout(timer); + timer = setTimeout(() => setResizeTick((n) => n + 1), 120); + }; + window.addEventListener('resize', onResize); + return () => { + clearTimeout(timer); + window.removeEventListener('resize', onResize); + }; + }, []); + + useEffect(() => { + if (!scenario) return; + const onKeyDown = (e: KeyboardEvent): void => { + const target = e.target as HTMLElement | null; + // Don't steal arrow keys from the search box or any other text field. + if (target?.isContentEditable || ['INPUT', 'TEXTAREA', 'SELECT'].includes(target?.tagName ?? '')) return; + if (e.key === 'ArrowRight') setStepIndex((i) => Math.min(i + 1, scenario.steps.length - 1)); + if (e.key === 'ArrowLeft') setStepIndex((i) => Math.max(i - 1, 0)); + }; + document.addEventListener('keydown', onKeyDown); + return () => document.removeEventListener('keydown', onKeyDown); + }, [scenario]); + + const selectScenario = (s: Scenario): void => { + setScenario(s); + setStepIndex(0); + capTitleRef.current?.focus({preventScroll: true}); + }; + + const badge = step?.badge; + + return ( +
+
+
+
+ + {GHOST_LABEL} +
+ + + +
+
+ + {cloudIcon} {CLOUD_LABELS.name} + + {CLOUD_LABELS.sub} +
+
+ + + +
+
+ + + +
+ +
+
+ + {([ + ['you', TOKEN_TAGS.you, tokens[0]], + ['them', TOKEN_TAGS.them, tokens[1]], + ] as const).map(([who, tag, pos]) => ( +
+ + {tag} +
+ ))} + + +
+ +
+

{QUESTIONS_HEADING}

+
+ {SCENARIOS.map((s) => ( + + ))} +
+
+ +
+ {badge && {BADGE_LABELS[badge]}} +

+ {scenario ? scenario.q : INITIAL.title} +

+

{step ? step.text : withBold(INITIAL.text)}

+ {scenario && ( +
+ + + {STEPPER_LABELS.count(stepIndex + 1, scenario.steps.length)} + + + + + {lastStep && ( + + )} +
+ )} +
+
+ ); +} diff --git a/docs/src/components/SyncExplainer/styles.module.css b/docs/src/components/SyncExplainer/styles.module.css new file mode 100644 index 0000000000..d977c73e38 --- /dev/null +++ b/docs/src/components/SyncExplainer/styles.module.css @@ -0,0 +1,626 @@ +.root { + --sx-surface: var(--ifm-background-surface-color); + --sx-surface-2: var(--ifm-color-emphasis-100); + --sx-ink: var(--ifm-font-color-base); + --sx-ink-soft: var(--ifm-color-emphasis-700); + --sx-line: var(--ifm-color-emphasis-300); + --sx-accent: #b45309; + --sx-accent-soft: #f6e3cf; + --sx-on-accent: #fff; + --sx-auto: #0f766e; + --sx-auto-soft: #d9ece9; + --sx-colleague: #6d28d9; + --sx-colleague-soft: #e9e0fa; + --sx-ok: #15803d; + --sx-ok-soft: #dcefe2; + --sx-danger: #b3261e; + --sx-shadow: 0 1px 2px rgba(38, 34, 28, 0.06), 0 4px 14px rgba(38, 34, 28, 0.05); + color: var(--sx-ink); +} + +:global([data-theme='dark']) .root { + --sx-accent: #f0a44b; + --sx-accent-soft: #453320; + --sx-on-accent: #1d1206; + --sx-auto: #3fbdb0; + --sx-auto-soft: #1d3a37; + --sx-colleague: #b79df5; + --sx-colleague-soft: #322549; + --sx-ok: #5fce82; + --sx-ok-soft: #1e3a28; + --sx-danger: #ff8a80; + --sx-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 14px rgba(0, 0, 0, 0.3); +} + +/* ---------- Diagram ---------- */ +.stage { + position: relative; + background: var(--sx-surface); + border: 1px solid var(--sx-line); + border-radius: 14px; + box-shadow: var(--sx-shadow); + padding: 30px 22px 22px; + margin-top: 26px; +} +.topology { + display: flex; + align-items: center; + justify-content: center; + gap: 0; +} +.col { + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; +} + +.node { + position: relative; + background: var(--sx-surface); + border: 1.5px solid var(--sx-line); + border-radius: 12px; + padding: 12px 14px 11px; + text-align: center; + min-width: 128px; + transition: border-color 0.25s, box-shadow 0.25s, opacity 0.3s; +} +.node .icon { + color: var(--sx-ink-soft); + margin-bottom: 4px; +} +.node .icon svg { + display: block; + margin: 0 auto; +} +.node .k { + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.09em; + color: var(--sx-ink-soft); + font-weight: 600; +} +.node .n { + font-size: 14.5px; + font-weight: 650; + letter-spacing: -0.01em; +} +.node.hl { + border-color: var(--sx-accent); + box-shadow: 0 0 0 3px var(--sx-accent-soft); +} +.node .check { + position: absolute; + top: -10px; + right: -10px; + width: 22px; + height: 22px; + border-radius: 50%; + background: var(--sx-ok); + color: #fff; + font-size: 13px; + font-weight: 700; + line-height: 22px; + text-align: center; + visibility: hidden; + transform: scale(0.5); + transition: transform 0.25s, visibility 0.25s; +} +.node .check.on { + visibility: visible; + transform: scale(1); +} + +.cloud { + background: var(--sx-surface-2); + border: 1.5px dashed var(--sx-line); + border-radius: 16px; + padding: 12px 14px 14px; + transition: opacity 0.3s, border-color 0.25s, box-shadow 0.25s; +} +.cloud.hl { + border-color: var(--sx-accent); + box-shadow: 0 0 0 3px var(--sx-accent-soft); +} +.cloudHead { + display: flex; + align-items: baseline; + justify-content: center; + gap: 8px; + margin-bottom: 10px; + flex-wrap: wrap; +} +.cloudHead .n { + font-weight: 700; + font-size: 15px; + display: inline-flex; + align-items: center; + gap: 6px; +} +.cloudHead .sub { + font-size: 12px; + color: var(--sx-ink-soft); +} +.copies { + display: flex; + align-items: center; +} +.copies .node { + min-width: 108px; + padding: 9px 10px 8px; +} +.copies .node .n { + font-size: 13px; +} + +.dim { + opacity: 0.35; +} + +/* connectors */ +.connector { + display: flex; + flex-direction: column; + align-items: center; + gap: 5px; + padding: 0 4px; +} +.connector .legnum { + font-size: 12px; + font-weight: 700; + color: var(--sx-ink-soft); + background: var(--sx-surface-2); + border: 1px solid var(--sx-line); + border-radius: 50%; + width: 21px; + height: 21px; + line-height: 19px; + text-align: center; +} +.connector .track { + position: relative; + width: 74px; + height: 12px; +} +.connector.inner .track { + width: 46px; +} +.connector .track::before { + content: ''; + position: absolute; + left: 6px; + right: 6px; + top: 5px; + height: 2px; + background: var(--sx-line); + transition: background 0.25s; +} +/* arrowheads both ends (data flows both ways; the token shows direction) */ +.connector .track::after { + content: ''; + position: absolute; + right: 0; + top: 2px; + border: 4px solid transparent; + border-left: 6px solid var(--sx-line); + transition: border-color 0.25s; +} +.connector .track .ah2 { + position: absolute; + left: 0; + top: 2px; + border: 4px solid transparent; + border-right: 6px solid var(--sx-line); + transition: border-color 0.25s; +} +.connector .trigger { + font-size: 11px; + font-weight: 600; + letter-spacing: 0.02em; + white-space: nowrap; + padding: 2px 9px; + border-radius: 99px; + border: 1px solid var(--sx-line); + color: var(--sx-ink-soft); + background: var(--sx-surface); + transition: all 0.25s; +} +.connector.auto .trigger { + color: var(--sx-auto); + border-color: transparent; + background: var(--sx-auto-soft); +} +.connector.manual .trigger { + color: var(--sx-accent); + border-color: transparent; + background: var(--sx-accent-soft); +} +.connector.their .trigger { + color: var(--sx-colleague); + border-color: transparent; + background: var(--sx-colleague-soft); +} + +.connector.hl .track::before { + background: currentColor; + height: 3px; + top: 4.5px; +} +.connector.hl .track::after { + border-left-color: currentColor; +} +.connector.hl .track .ah2 { + border-right-color: currentColor; +} +.connector.hl.auto { + color: var(--sx-auto); +} +.connector.hl.manual { + color: var(--sx-accent); +} +.connector.hl.their { + color: var(--sx-colleague); +} +.connector.hl .legnum { + border-color: currentColor; + color: inherit; + background: var(--sx-surface); +} + +.connector.off .track::before { + background: repeating-linear-gradient(90deg, var(--sx-danger) 0 5px, transparent 5px 10px); + height: 2px; +} +.connector.off .trigger { + color: var(--sx-danger); + background: transparent; + border: 1px dashed var(--sx-danger); +} + +/* ghost node: teammates on FW Lite. Space stays reserved so nothing jumps. */ +.ghost { + visibility: hidden; + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 12px; + color: var(--sx-auto); + background: var(--sx-auto-soft); + border-radius: 99px; + padding: 3px 11px; + font-weight: 600; +} +.ghost.on { + visibility: visible; +} + +/* travelling tokens */ +.token { + position: absolute; + z-index: 3; + display: flex; + flex-direction: column; + align-items: center; + pointer-events: none; + visibility: hidden; + transition: transform 0.45s cubic-bezier(0.4, 0.1, 0.2, 1), visibility 0.3s; + left: 0; + top: 0; +} +.token .dot { + width: 16px; + height: 16px; + border-radius: 50%; + box-shadow: 0 0 0 4px var(--sx-surface), 0 1px 5px rgba(0, 0, 0, 0.3); +} +.token.you .dot { + background: var(--sx-accent); +} +.token.them .dot { + background: var(--sx-colleague); +} +.token .tag { + margin-top: 3px; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.04em; + background: var(--sx-surface); + border: 1px solid var(--sx-line); + border-radius: 99px; + padding: 0 7px; +} +.token.you .tag { + color: var(--sx-accent); +} +.token.them .tag { + color: var(--sx-colleague); +} +.token.on { + visibility: visible; +} +@media (prefers-reduced-motion: reduce) { + .token { + transition: none; + } + .node .check { + transition: none; + } +} + +/* ---------- Questions ---------- */ +.questions { + margin-top: 24px; +} +.questions h2 { + font-size: 13px; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--sx-ink-soft); + margin: 0 0 10px; + font-weight: 650; +} +.chips { + display: flex; + flex-wrap: wrap; + gap: 8px; +} +.chips button { + font: inherit; + font-size: 14px; + text-align: left; + cursor: pointer; + background: var(--sx-surface); + color: var(--sx-ink); + border: 1.5px solid var(--sx-line); + border-radius: 99px; + padding: 8px 16px; + min-height: 44px; + transition: border-color 0.15s, background 0.15s; +} +.chips button:hover { + border-color: var(--sx-accent); +} +.chips button:focus-visible, +.stepper button:focus-visible { + outline: 2.5px solid var(--sx-accent); + outline-offset: 2px; +} +.chips button[aria-pressed='true'] { + border-color: var(--sx-accent); + background: var(--sx-accent-soft); + font-weight: 600; +} + +/* ---------- Caption / stepper ---------- */ +.caption { + margin-top: 18px; + background: var(--sx-surface); + border: 1px solid var(--sx-line); + border-radius: 14px; + box-shadow: var(--sx-shadow); + padding: 18px 22px; + min-height: 150px; + display: flex; + flex-direction: column; + gap: 12px; +} +.caption h3 { + margin: 0; + font-size: 16px; + font-weight: 650; + letter-spacing: -0.01em; + text-wrap: balance; +} +.caption p { + margin: 0; + max-width: 68ch; +} +.badge { + display: inline-block; + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.07em; + border-radius: 5px; + padding: 2px 8px; + margin-bottom: 2px; + align-self: flex-start; +} +.badge.auto { + color: var(--sx-auto); + background: var(--sx-auto-soft); +} +.badge.you { + color: var(--sx-accent); + background: var(--sx-accent-soft); +} +.badge.them { + color: var(--sx-colleague); + background: var(--sx-colleague-soft); +} +.badge.done { + color: var(--sx-ok); + background: var(--sx-ok-soft); +} + +.stepper { + display: flex; + align-items: center; + gap: 14px; + margin-top: auto; + flex-wrap: wrap; +} +.stepper .dots { + display: flex; + gap: 6px; +} +.stepper .dots i { + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--sx-line); + transition: background 0.2s; +} +.stepper .dots i.cur { + background: var(--sx-accent); +} +.stepper .count { + font-size: 12px; + color: var(--sx-ink-soft); + font-variant-numeric: tabular-nums; +} +.stepper .grow { + flex: 1; +} +.stepper button { + font: inherit; + font-size: 14px; + font-weight: 600; + cursor: pointer; + min-height: 40px; + border-radius: 9px; + padding: 7px 18px; + border: 1.5px solid var(--sx-line); + background: var(--sx-surface); + color: var(--sx-ink); +} +.stepper button.primary { + background: var(--sx-accent); + border-color: var(--sx-accent); + color: var(--sx-on-accent); +} +.stepper button:disabled { + opacity: 0.4; + cursor: default; +} + +.legend { + display: flex; + flex-wrap: wrap; + gap: 14px; + margin-top: 14px; + font-size: 12.5px; + color: var(--sx-ink-soft); +} +.legend span { + display: inline-flex; + align-items: center; + gap: 6px; +} +.legend i { + width: 10px; + height: 10px; + border-radius: 50%; + display: inline-block; +} +.legend .lAuto i { + background: var(--sx-auto); +} +.legend .lYou i { + background: var(--sx-accent); +} +.legend .lThem i { + background: var(--sx-colleague); +} + +/* ---------- Mobile: the topology turns vertical ---------- */ +@media (max-width: 720px) { + .topology { + flex-direction: column; + } + .connector { + flex-direction: row; + padding: 6px 0; + gap: 8px; + } + .connector .track { + width: 12px !important; + height: 46px; + } + .connector .track::before { + left: 5px; + right: auto; + top: 6px; + bottom: 6px; + height: auto; + width: 2px; + } + .connector .track::after { + right: auto; + left: 2px; + top: auto; + bottom: 0; + border: 4px solid transparent; + border-top: 6px solid var(--sx-line); + border-left-width: 4px; + } + .connector .track .ah2 { + left: 2px; + top: 0; + border: 4px solid transparent; + border-bottom: 6px solid var(--sx-line); + border-right-width: 4px; + } + .connector.hl .track::before { + width: 3px; + } + .connector.hl .track::after { + border-top-color: currentColor; + border-left-color: transparent; + } + .connector.hl .track .ah2 { + border-bottom-color: currentColor; + border-right-color: transparent; + } + .connector.off .track::before { + background: repeating-linear-gradient(180deg, var(--sx-danger) 0 5px, transparent 5px 10px); + width: 2px; + } + /* the two copies inside Lexbox stay side by side, so they have to shrink */ + .copies .node { + min-width: 0; + } + .copies .connector .trigger { + white-space: normal; + text-align: center; + } + .copies .connector { + flex-direction: column; + padding: 0 2px; + gap: 5px; + } + .copies .connector .track { + width: 46px !important; + height: 12px; + } + .copies .connector .track::before { + left: 6px; + right: 6px; + top: 5px; + height: 2px; + width: auto; + bottom: auto; + } + .copies .connector .track::after { + right: 0; + left: auto; + top: 2px; + bottom: auto; + border: 4px solid transparent; + border-left: 6px solid var(--sx-line); + } + .copies .connector .track .ah2 { + left: 0; + top: 2px; + border: 4px solid transparent; + border-right: 6px solid var(--sx-line); + } + .copies .connector.hl .track::after { + border-left-color: currentColor; + border-top-color: transparent; + } + .copies .connector.hl .track .ah2 { + border-right-color: currentColor; + border-bottom-color: transparent; + } +} diff --git a/docs/src/components/SyncExplainer/syncScenarios.ts b/docs/src/components/SyncExplainer/syncScenarios.ts new file mode 100644 index 0000000000..96e26580eb --- /dev/null +++ b/docs/src/components/SyncExplainer/syncScenarios.ts @@ -0,0 +1,368 @@ +/** + * All the words and behaviour flags for the sync explainer. This is the only + * file doc writers edit — adding, rewording or reordering a question never + * touches index.tsx. + * + * Three caps are load-bearing, not taste: + * - at most ~8 questions: past that the chip row stops being scannable and + * people read none of them. + * - at most 6 steps per scenario: people stop pressing Next. + * - one sentence per step: the caption is read while looking at the diagram. + * + * A step is one sentence plus a few flags saying what the diagram shows while + * that sentence is on screen. `text` is required; everything else is optional: + * + * badge who makes this happen (see BADGE_LABELS) + * legs legs to light up + * hlNodes nodes (or the cloud) to outline + * dim nodes/legs to fade out + * check nodes that get a green checkmark + * t1 / t2 where the "your edit" / "their edit" token sits; omit to hide it. + * Both on the same target is fine — they offset sideways. + * ghost show the "teammates on FieldWorks Lite" pill + * offline draw leg 1 as broken and relabel its trigger + * + * Only INITIAL.text supports `**bold**`; step sentences are plain text. + */ + +export type CheckableNodeId = 'device' | 'liteCopy' | 'classicCopy' | 'colleague'; +export type NodeId = CheckableNodeId | 'cloud'; +export type LegId = 'leg1' | 'leg2' | 'leg3'; +export type TokenTarget = CheckableNodeId | LegId; +export type BadgeKind = 'auto' | 'you' | 'them' | 'done'; + +export interface Step { + text: string; + badge?: BadgeKind; + legs?: LegId[]; + hlNodes?: NodeId[]; + dim?: (NodeId | LegId)[]; + check?: CheckableNodeId[]; + t1?: TokenTarget; + t2?: TokenTarget; + ghost?: boolean; + offline?: boolean; +} + +export interface Scenario { + id: string; + q: string; + steps: Step[]; +} + +export const SCENARIOS: Scenario[] = [ + { + id: 'not-seen', + q: 'I synced — why doesn’t my colleague see my changes?', + steps: [ + { + t1: 'device', + badge: 'you', + text: 'You edit an entry. It’s saved on your device right away — even with no internet.', + }, + { + t1: 'liteCopy', + legs: ['leg1'], + badge: 'auto', + text: 'Moments later (once you’re online), your edit travels to the FieldWorks Lite copy in Lexbox — automatically.', + }, + { + t1: 'classicCopy', + legs: ['leg2'], + badge: 'you', + text: 'The Sync button copies it across into the FieldWorks Classic copy. Someone has to press it — it never runs by itself.', + }, + { + t1: 'classicCopy', + hlNodes: ['classicCopy'], + text: 'Your edit is now waiting in Lexbox, in the FieldWorks Classic copy. It cannot go further on its own.', + }, + { + t1: 'colleague', + legs: ['leg3'], + badge: 'them', + text: 'It reaches your colleague only when they run Send/Receive in FieldWorks Classic. Until then, they won’t see it.', + }, + { + t1: 'colleague', + check: ['colleague'], + badge: 'done', + text: 'So: leg 2 needs someone to press Sync, and leg 3 needs your colleague. Neither happens by itself.', + }, + ], + }, + { + id: 'internet', + q: 'Do I need internet to work?', + steps: [ + { + t1: 'device', + offline: true, + dim: ['cloud', 'colleague', 'leg2', 'leg3'], + badge: 'you', + text: 'No. FieldWorks Lite works fully offline — every edit is saved on your device.', + }, + { + t1: 'device', + offline: true, + dim: ['cloud', 'colleague', 'leg2', 'leg3'], + text: 'While you’re offline, your changes simply wait on your device. Nothing is lost, and you can keep working.', + }, + { + t1: 'liteCopy', + legs: ['leg1'], + badge: 'auto', + text: 'When internet returns, FieldWorks Lite notices by itself and sends everything to Lexbox.', + }, + { + t1: 'liteCopy', + check: ['liteCopy'], + badge: 'done', + text: 'You never have to remember what you changed offline — catching up is automatic.', + }, + ], + }, + { + id: 'sync-button', + q: 'What does the Sync button actually do?', + steps: [ + { + hlNodes: ['cloud'], + badge: 'you', + text: 'The Sync button works entirely inside Lexbox: it merges the project’s two copies — FieldWorks Lite and FieldWorks Classic.', + }, + { + t1: 'leg2', + legs: ['leg2'], + text: 'Changes flow both ways at once: your Lite edits go into the Classic copy, and any Classic changes come back into the Lite copy.', + }, + { + t1: 'device', + legs: ['leg1'], + badge: 'auto', + text: 'Whatever came back for you then reaches your device automatically.', + }, + { + legs: ['leg3'], + badge: 'done', + text: 'What it does not do: touch your colleague’s computer. Their FieldWorks Classic updates only when they run Send/Receive.', + }, + ], + }, + { + id: 'why-sr', + q: 'Why is Send/Receive still needed in FieldWorks Classic?', + steps: [ + { + t2: 'colleague', + badge: 'them', + text: 'Your colleague edits in FieldWorks Classic. Their work is saved only on their computer.', + }, + { + t2: 'classicCopy', + legs: ['leg3'], + badge: 'them', + text: 'Send/Receive is FieldWorks Classic’s only door to the outside: it uploads their work to Lexbox and downloads whatever is waiting for them.', + }, + { + t2: 'liteCopy', + legs: ['leg2'], + badge: 'you', + text: 'The Sync button then merges their changes into the FieldWorks Lite copy…', + }, + { + t2: 'device', + legs: ['leg1'], + badge: 'auto', + text: '…and from there, their changes reach your device automatically.', + }, + { + t2: 'device', + check: ['device'], + badge: 'done', + text: 'FieldWorks Classic never talks to a server on its own — that’s by design. Send/Receive is how it joins in.', + }, + ], + }, + { + id: 'both-edit', + q: 'What if we both edit the same entry?', + steps: [ + { + t1: 'device', + t2: 'colleague', + text: 'You edit an entry in FieldWorks Lite while your colleague edits the same entry in FieldWorks Classic.', + }, + { + t1: 'liteCopy', + t2: 'classicCopy', + legs: ['leg1', 'leg3'], + text: 'Both edits travel to Lexbox — yours automatically, theirs with Send/Receive.', + }, + { + t1: 'leg2', + t2: 'leg2', + legs: ['leg2'], + badge: 'you', + text: 'When the two copies are synced, the edits are merged. There is no error message and nothing to untangle by hand.', + }, + { + t1: 'leg2', + t2: 'leg2', + hlNodes: ['cloud'], + text: 'If you changed different parts — you fixed the definition, they added an example — both changes are kept.', + }, + { + t1: 'leg2', + t2: 'leg2', + hlNodes: ['cloud'], + badge: 'done', + text: 'If you both changed the very same field, one version wins automatically (between Lite and Classic, the Classic value is kept). Syncing often keeps such overlaps rare and small.', + }, + ], + }, + { + id: 'made-it', + q: 'How do I know my changes made it?', + steps: [ + { + badge: 'you', + text: 'Open Synchronize in FieldWorks Lite — the sidebar item with the little status dot.', + }, + { + legs: ['leg1'], + t1: 'leg1', + text: 'Its FieldWorks Lite tab reports leg 1: “Up to date” means everything on your device has reached Lexbox.', + }, + { + legs: ['leg2'], + t1: 'leg2', + text: 'The Lexbox tab reports leg 2: “No new data” means the two copies in Lexbox match.', + }, + { + legs: ['leg3'], + badge: 'done', + text: 'Leg 3 has no indicator on your side — whether your colleague has picked up the changes shows only on their computer, after their Send/Receive.', + }, + ], + }, + { + id: 'fast-slow', + q: 'Why do Lite teammates see my edit in seconds, but Classic colleagues don’t?', + steps: [ + { + t1: 'liteCopy', + legs: ['leg1'], + badge: 'auto', + text: 'Your edit reaches Lexbox automatically, within moments.', + }, + { + t1: 'liteCopy', + ghost: true, + badge: 'auto', + text: 'Teammates using FieldWorks Lite receive it from Lexbox the same way — automatically, usually seconds later.', + }, + { + t1: 'classicCopy', + legs: ['leg2'], + ghost: true, + badge: 'you', + text: 'The road to FieldWorks Classic, though, has two manual gates. Gate one: someone presses Sync.', + }, + { + t1: 'colleague', + legs: ['leg3'], + ghost: true, + badge: 'them', + text: 'Gate two: your colleague runs Send/Receive.', + }, + { + t1: 'colleague', + ghost: true, + check: ['colleague'], + badge: 'done', + text: 'Fast lane for Lite, two gates for Classic — that’s the whole difference.', + }, + ], + }, + { + id: 'everything', + q: 'Does everything in the project sync to FieldWorks Lite?', + steps: [ + { + hlNodes: ['liteCopy'], + text: 'No — FieldWorks Lite carries the dictionary part of your project: entries, senses, example sentences, and so on.', + }, + { + hlNodes: ['classicCopy'], + text: 'Everything else — interlinear texts, grammar, notebook data — lives only in the FieldWorks Classic copy.', + }, + { + legs: ['leg3'], + badge: 'them', + text: 'That data still travels safely between FieldWorks Classic users through Send/Receive — it just doesn’t appear in FieldWorks Lite.', + }, + { + badge: 'done', + text: 'So Lite users see and edit the dictionary, and the rest of the project is left untouched.', + }, + ], + }, +]; + +/** Shown before anyone picks a question, and again after "Ask another question". */ +export const INITIAL = { + title: 'An edit travels in three legs.', + text: + 'Leg **1**: your device ⇄ Lexbox — automatic whenever you’re online. ' + + 'Leg **2**: between the two copies inside Lexbox — someone presses the **Sync** button. ' + + 'Leg **3**: Lexbox ⇄ your colleague — they run **Send/Receive** in FieldWorks Classic. ' + + 'Pick a question above to watch it happen.', +}; + +export const BADGE_LABELS: Record = { + auto: 'happens by itself', + you: 'someone must do this', + them: 'your colleague does this', + done: 'the point', +}; + +export const NODE_LABELS: Record = { + device: {kind: 'Your device', name: 'FieldWorks Lite'}, + liteCopy: {kind: 'Copy 1', name: 'FieldWorks Lite copy'}, + classicCopy: {kind: 'Copy 2', name: 'FieldWorks Classic copy'}, + colleague: {kind: 'Your colleague’s computer', name: 'FieldWorks Classic'}, +}; + +export const CLOUD_LABELS = { + name: 'Lexbox', + sub: 'the server where your project is stored', +}; + +export const GHOST_LABEL = '✓ Teammates on FieldWorks Lite — automatic'; + +/** `offline` replaces leg 1's trigger label while a step sets that flag. */ +export const LEG_TRIGGERS: Record & {offline: string} = { + leg1: 'automatic', + leg2: 'the Sync button', + leg3: 'their Send/Receive', + offline: 'offline', +}; + +export const TOKEN_TAGS = {you: 'your edit', them: 'their edit'}; + +export const LEGEND = [ + {kind: 'auto', text: 'happens by itself'}, + {kind: 'you', text: 'someone presses Sync'}, + {kind: 'them', text: 'your colleague does it'}, +] as const; + +export const QUESTIONS_HEADING = 'What do you want to know?'; + +export const STEPPER_LABELS = { + back: 'Back', + next: 'Next', + reset: 'Ask another question', + /** Rendered as "Step 2 of 5". */ + count: (current: number, total: number) => `Step ${current} of ${total}`, +}; diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 0000000000..c7a62d85f0 --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,22 @@ +/* Lexbox blue, replacing Infima's default green. */ +:root { + --ifm-color-primary: #1e7fa9; + --ifm-color-primary-dark: #1b7298; + --ifm-color-primary-darker: #196c8f; + --ifm-color-primary-darkest: #155875; + --ifm-color-primary-light: #218cba; + --ifm-color-primary-lighter: #2293c3; + --ifm-color-primary-lightest: #2ba5da; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +[data-theme='dark'] { + --ifm-color-primary: #28aae1; + --ifm-color-primary-dark: #1d9cd2; + --ifm-color-primary-darker: #1b92c5; + --ifm-color-primary-darkest: #1678a1; + --ifm-color-primary-light: #3eb3e4; + --ifm-color-primary-lighter: #4cb8e6; + --ifm-color-primary-lightest: #6bc4ea; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 0000000000..0f5bdf4d3d --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,10 @@ +.sectionCard { + display: block; + height: 100%; + border: 1px solid var(--ifm-color-emphasis-200); +} + +.sectionCard:hover { + border-color: var(--ifm-color-primary); + text-decoration: none; +} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx new file mode 100644 index 0000000000..1e6cf34288 --- /dev/null +++ b/docs/src/pages/index.tsx @@ -0,0 +1,35 @@ +import type {ReactNode} from 'react'; +import Link from '@docusaurus/Link'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import Heading from '@theme/Heading'; + +import styles from './index.module.css'; + +const sections = [ + {to: '/user-guide/', label: 'User guide'}, + {to: '/technical/', label: 'Technical documentation'}, +]; + +export default function Home(): ReactNode { + const {siteConfig} = useDocusaurusContext(); + return ( + +
+ {siteConfig.title} +

{siteConfig.tagline}

+
+ {sections.map((section) => ( +
+ + + {section.label} + + +
+ ))} +
+
+
+ ); +} diff --git a/docs/img/error-example.png b/docs/static/img/error-example.png similarity index 100% rename from docs/img/error-example.png rename to docs/static/img/error-example.png diff --git a/docs/static/img/favicon.png b/docs/static/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..730a38bae7acc15ebf7aefd2a35170978af23ff6 GIT binary patch literal 5624 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 Sh9f2b0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg new file mode 100644 index 0000000000..1446eb5412 --- /dev/null +++ b/docs/static/img/logo.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/technical/architecture/_category_.json b/docs/technical/architecture/_category_.json new file mode 100644 index 0000000000..b7a3ae9db0 --- /dev/null +++ b/docs/technical/architecture/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Architecture", + "position": 2 +} diff --git a/docs/technical/architecture/integrations.md b/docs/technical/architecture/integrations.md new file mode 100644 index 0000000000..11d61a9cae --- /dev/null +++ b/docs/technical/architecture/integrations.md @@ -0,0 +1,87 @@ +--- +title: Integrations +sidebar_position: 2 +--- + +What Lexbox and FieldWorks Lite talk to, and over which protocol. Start here if you maintain another tool and want to connect it. + +## Classic FieldWorks via Chorus (Mercurial) + +FLEx desktop sends and receives through Chorus, which is a Mercurial client. Lexbox's .NET API proxies those requests to two containers sharing the repository volume: `hgweb` (standard hg wire protocol) and `hgresumable` (chunked, resumable transfer for bad connections). + +| Route on lexbox-api | Purpose | +| --- | --- | +| `/{project-code}` or `/hg/{project-code}` | hg Send/Receive. The bare `/{project-code}` form is the URL baked into Chorus clients around the world, so it has the lowest route precedence. | +| `/api/v03` | hg-resumable Send/Receive | + +Production hostnames all route to `lexbox`: `hg-public.languagedepot.org`, `hg-private.languagedepot.org`, `resumable.languagedepot.org` (and the matching `*.languageforge.org` names). Staging uses `hg-staging.languageforge.org` / `resumable-staging.languagedepot.org`; develop uses `hg-develop.lexbox.org` / `resumable-develop.lexbox.org`. + +## Legacy Language Depot API + +Older clients still call the Language Depot API, so it stays: + +| Route | Used by | +| --- | --- | +| `POST /api/user/{userName}/projects` | Chorus/FLEx and Language Forge, to list a user's projects. Anonymous route; the password goes in the body and is checked against the stored hash. Returns identifier, name, repository URL and role per project. | + +## CRDT sync: FieldWorks Lite ↔ Lexbox + +FW Lite keeps the whole project locally in SQLite as a [SIL.Harmony](https://github.com/sillsdev/harmony) CRDT: every edit is a commit, and merging is order-independent, so there are no conflicts to resolve. Sync is plain HTTPS; SignalR only says "something changed, come and get it". + +```mermaid +sequenceDiagram + participant A as FW Lite client A + participant S as lexbox-api + participant B as FW Lite client B + A->>S: POST /api/crdt/{projectId}/add (new commits) + S-->>B: SignalR OnProjectUpdated(projectId, clientId) + B->>S: POST /api/crdt/{projectId}/changes (my sync state) + S-->>B: commits missing from client B +``` + +| Endpoint | Purpose | +| --- | --- | +| `GET /api/crdt/{projectId}/get` | server's sync state (head commits) | +| `POST /api/crdt/{projectId}/add` | push commits; the server then broadcasts `OnProjectUpdated` | +| `POST /api/crdt/{projectId}/changes` | send your sync state, stream back what you're missing | +| `POST /api/crdt/{projectId}/countChanges` | cheap "how far behind am I" count | +| `GET /api/crdt/listProjects`, `/lookupProjectId` | discovery | + +The push hub is at `/api/hub/crdt/project-changes`; a client calls `ListenForProjectChanges(projectId)` to join the project group. All of it requires an auth token with the `SendAndReceive` scope. See [How sync works](/user-guide/how-sync-works) for the user-facing version. + +## FwHeadless: the bridge between CRDT and Mercurial + +FwHeadless owns a working copy of the FieldWorks project and reconciles both worlds: it pulls/pushes the `.fwdata` file over Mercurial, and syncs the same content as CRDT commits with lexbox-api. + +```mermaid +flowchart LR + user(["Sync pressed in FW Lite
or on the project page"]) --> api([lexbox-api]) + api -- "POST /api/merge/execute" --> queue["FwHeadless job queue
one project at a time"] + queue --> job[merge job] + job -- "hg pull / push" --- repos[(hg repository)] + job -- "FwData ↔ CRDT" --- fwdata[(.fwdata working copy)] + job -- "/api/crdt sync" --- api +``` + +**It is not a scheduler and it does not watch for changes.** The merge job runs only when a user asks for it: the Sync button in FW Lite or "Sync FieldWorks Lite" on the Lexbox project page. Both go through `POST /api/fw-lite/sync/trigger/{projectId}` on lexbox-api, which calls FwHeadless's `POST /api/merge/execute`, which queues the job. The queue is in-process and serialized, so one project syncs at a time and a project already queued is not queued twice. Callers watch `GET /api/merge/status` and `GET /api/merge/await-finished`. Media files ride along with the same job over `/api/media/*`. + +## Platform.Bible extension + +`platform.bible-extension/` is a Platform.Bible (paranext) extension named `lexicon`. On activation it launches a FW Lite process on `http://localhost:29348` and talks to it over HTTP REST, then exposes `lexicon.entryService` as a PAPI network object so other extensions can add, find and display dictionary entries. UI is React WebViews registered with the platform. + +## APIs Lexbox offers + +| API | Where | Notes | +| --- | --- | --- | +| GraphQL | `/api/graphql` | Hot Chocolate; this is what the SvelteKit UI uses. Explorer (Banana Cake Pop) at `/api/graphql/ui`. | +| REST | `/api/**` | Includes `/api/crdt/*`, `/api/fw-lite/sync/*` and TUS project upload at `/api/project/upload-zip/{project-code}`. Swagger UI at `/api/swagger`. | +| Health | `/api/healthz` | | +| Security contact | `/.well-known/security.txt` | [security.txt standard](https://securitytxt.org/) | + +## Localization: Crowdin + +Source strings live in gettext catalogs; Crowdin holds the translations. Inbound, Crowdin opens a PR from `l10n_develop` on each sync. Outbound is export-only from GitHub's side, so updated source strings are pushed with the Crowdin CLI (`crowdin push sources`). All seven target locales are machine-translation covered, which is why brand names (`Lexbox`, `FieldWorks`, `SIL`) need glossary "Trademark" entries — MT otherwise translates them literally. + +## Observability: OpenTelemetry → Honeycomb + +Every service exports OTEL traces to an otel-collector sidecar (gRPC 4317, HTTP 4318), which forwards to [Honeycomb](https://ui.honeycomb.io/sil-language-forge/). The "Error code" shown at the bottom of an error message in the app is the trace ID: Ctrl+click it to open the trace. Locally, traces go to the Aspire dashboard on port 18888; set `HONEYCOMB_API_KEY` in `deployment/local-dev/local.env` to send them to Honeycomb instead. diff --git a/docs/technical/architecture/overview.md b/docs/technical/architecture/overview.md new file mode 100644 index 0000000000..2463b3ce5e --- /dev/null +++ b/docs/technical/architecture/overview.md @@ -0,0 +1,80 @@ +--- +title: System overview +sidebar_position: 1 +--- + +Three things live in this repo, and they share one database and one set of Mercurial repositories. + +| Part | What it is | +| --- | --- | +| **Lexbox** (formerly Language Depot) | The web app and project host: user/org/project management, permissions, and the server side of both sync protocols. SvelteKit UI in front of a .NET API. | +| **FieldWorks Lite** (FW Lite) | A lightweight dictionary editor for desktop, mobile and browser. Keeps a local SQLite copy of the project and syncs it to Lexbox as CRDT commits. | +| **FwHeadless** | The server-side bridge between the CRDT world (FW Lite) and the Mercurial world (classic FieldWorks). It runs the merge job that reconciles the two. | + +Classic FieldWorks (FLEx) is not in this repo, but it's a first-class client: it talks to Lexbox with Chorus Send/Receive over Mercurial. + +## Deployed system + +```mermaid +flowchart LR + FLEx(["Classic FieldWorks
Chorus Send/Receive"]) -- "https: hg / resumable" --- proxy + FWL(["FieldWorks Lite
desktop, mobile, web"]) -- "https: /api/crdt + SignalR" --- proxy + Web(["Browser"]) -- "https: lexbox.org" --- proxy([ingress]) + + proxy -- "http:5158 /api or /hg" --- api([lexbox-api]) + proxy -- "http:3000" --- node([sveltekit ui]) + node <--> api + + api -- "postgres:5432" --- db[(postgres)] + api -- "http:8088/hg" --- hgweb([hgweb]) + api -- "http:80" --- hgres([hgresumable]) + api --- repos[hg repositories] + hgweb --- repos + hgres --- repos + + api -- "http:8081 /api/merge" --> fwh([fw-headless]) + fwh --- repos + fwh --- db + fwh -- "CRDT sync via /api/crdt" --> api + + api -- "gRPC:4317" --- otel([otel-collector]) + node -- "gRPC:4317" --- otel +``` + +Everything above runs in Kubernetes; the same manifests serve production, staging, develop and local development (see [deployment](https://github.com/sillsdev/languageforge-lexbox/blob/develop/deployment/README.md)). Telemetry is OpenTelemetry, exported to Honeycomb. + +## Tech stack + +- **Backend**: .NET 10, C#, Entity Framework Core, GraphQL (Hot Chocolate) +- **Frontend**: SvelteKit, TypeScript +- **FW Lite client**: .NET MAUI (desktop/mobile) or an ASP.NET Core host (web), both driving the same Svelte viewer +- **CRDT substrate**: [SIL.Harmony](https://github.com/sillsdev/harmony), stored in SQLite on the client +- **Database**: PostgreSQL +- **Version control for FieldWorks projects**: Mercurial (hgweb + hgresumable), driven by Chorus +- **Infrastructure**: Docker, Kubernetes, Skaffold, Tilt + +## Repo layout + +```text +languageforge-lexbox/ +├── backend/ +│ ├── LexBoxApi/ # Main API (ASP.NET Core + GraphQL) +│ ├── LexCore/ # Core domain models +│ ├── LexData/ # Data access layer (EF Core) +│ ├── FwLite/ # FW Lite apps (MAUI, Web) and the MiniLcm API +│ ├── FwHeadless/ # Headless FieldWorks sync service +│ └── Testing/ # Test projects +├── frontend/ # Lexbox SvelteKit web app +├── frontend/viewer/ # FieldWorks Lite frontend Svelte code +├── deployment/ # K8s/Docker configs +├── docs/ # This documentation site +├── hgweb/ # hgweb Dockerfile and config +├── otel/ # OpenTelemetry collector config +├── crowdin/ # Localization workflow +└── platform.bible-extension/ # Platform.Bible extension +``` + +## Next + +- [Integrations](./integrations.md) — how FW Lite and Lexbox talk to FieldWorks, Platform.Bible and everything else. +- [Development setup](../development/setup-windows.md) — get it running locally. diff --git a/docs/technical/ci-cd.md b/docs/technical/ci-cd.md new file mode 100644 index 0000000000..175010cd2a --- /dev/null +++ b/docs/technical/ci-cd.md @@ -0,0 +1,47 @@ +--- +title: CI/CD +sidebar_position: 5 +--- + +Builds and deployments run on GitHub Actions. Most build workflows are `workflow_call`-only so `release-pipeline.yaml` can compose them; deployment goes through a separate fleet repo. + +The full reference (every workflow, known flaky failures, troubleshooting) is [`.github/AGENTS.md`](https://github.com/sillsdev/languageforge-lexbox/blob/develop/.github/AGENTS.md). + +## Workflow dependencies + +```mermaid +flowchart TD + RP[release-pipeline.yaml] -->|calls| API[lexbox-api.yaml] + RP -->|calls| UI[lexbox-ui.yaml] + RP -->|calls| FWH[lexbox-fw-headless.yaml] + + API --> IT[integration-test-gha.yaml] + UI --> IT + FWH --> IT + + IT --> DEP[deploy.yaml] + + FWL[fw-lite.yaml] -.->|independent| ART[standalone app artifacts] +``` + +`fw-lite.yaml` stands apart: core .NET build and tests on Linux (`FwLiteCore.slnf`), MAUI on Windows, its own test suite, and it publishes standalone apps for five platforms instead of Docker images. It never deploys to Kubernetes. + +Docker images for the deployed services go to `ghcr.io/sillsdev/` (`lexbox-api`, `lexbox-ui`, `lexbox-fw-headless`, `lexbox-hgweb`), tagged with the branch name, PR number, commit SHA, and `latest` on main. + +## Environments + +| Environment | Domain | When deployed | +|---|---|---| +| develop | develop.lexbox.org | every push to develop | +| staging | staging.languagedepot.org | manual | +| production | lexbox.org, languagedepot.org | manual, with approval | + +Each runs the same set of workloads in its own Kubernetes cluster: the lexbox pod (.NET API plus OTEL collector), Postgres, the hg pod (hgweb and hg-resumable), and the SvelteKit UI. Non-production environments add an init container that seeds a test repo. Per-environment hostnames are listed in [`deployment/README.md`](https://github.com/sillsdev/languageforge-lexbox/blob/develop/deployment/README.md). + +## Fleet repo and GitOps + +Nothing in CI talks to a cluster directly. A deploy job builds the image, runs `kubectl kustomize` to render `resources.yaml`, clones the fleet repo, copies the manifest in with the new image tag, and pushes. The cluster watches the fleet repo and applies what it finds. That indirection buys an audit trail of every deployment and makes a rollback a revert in the fleet repo. + +Kubernetes config lives in `deployment/`: a shared `base/` plus one Kustomize overlay per target (`develop/`, `staging/`, `production/`, `gha/` for integration tests in GitHub Actions, and `local-dev/`). Each overlay includes `base/` and patches in its own settings. + +If a deployment doesn't show up: check the deploy job actually ran (production needs approval), that the fleet repo was updated, that the cluster pulled it, and the `https:///api/healthz` endpoint. diff --git a/docs/technical/development/_category_.json b/docs/technical/development/_category_.json new file mode 100644 index 0000000000..a7eccd6d6f --- /dev/null +++ b/docs/technical/development/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Development", + "position": 4 +} diff --git a/docs/technical/development/index.md b/docs/technical/development/index.md new file mode 100644 index 0000000000..24f5e6c6ea --- /dev/null +++ b/docs/technical/development/index.md @@ -0,0 +1,70 @@ +--- +title: Local development +sidebar_position: 0 +--- + +Two ways to run Lexbox locally: everything in Kubernetes via Tilt, or infrastructure in Kubernetes with the API and/or UI running directly on your machine. + +Full detail lives in the [repo README](https://github.com/sillsdev/languageforge-lexbox/blob/develop/README.md); this page is the short version. + +## Prerequisites + +* Docker and Compose, with Kubernetes enabled in the Docker Desktop settings +* [Taskfile](https://taskfile.dev/installation/) and [Tilt](https://docs.tilt.dev/) on your PATH (check with `tilt version`) +* Node v20+ (SvelteKit UI) and the .NET SDK (API) if you want to run either directly +* Optionally [Kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/) + +OS-specific steps (hosts file entries, install commands, quirks): + +* [Windows setup](./setup-windows.md) +* [Linux setup](./setup-linux.md) +* [macOS setup](./setup-macos.md) + +Then run `git push` once to confirm your GitHub credentials work, and `task setup`, which initializes `local.env`, points Git at the ignore-revs file, and downloads the FLEx seed-data repo. + +## Kubernetes workflow + +```bash +task up +``` + +The whole app comes up at http://localhost. + +## Running services directly + +| Goal | Commands | +|---|---| +| Develop the .NET API | `task infra-up`, then `task api:only` | +| Develop the SvelteKit UI | `task backend-up`, then `task ui:only` (or `task ui-dev` in one console) | +| Develop both | `task infra-up`, then `task api:only` and `task ui:only` | +| K8s already running | `task infra-forward` (API deps) or `task backend-forward` (UI deps) | + +The UI running directly is at http://localhost:3000. The k8s-hosted UI at http://localhost is always there, but is only reliable when the whole project was started with `task up`. + +## Service URLs + +| URL | Service | +|---|---| +| http://localhost | k8s ingress | +| http://localhost:3000 | SvelteKit UI | +| http://localhost:5158/api | .NET API | +| http://localhost:5158/api/swagger | Swagger UI | +| http://localhost:5158/api/graphql | GraphQL API | +| http://localhost:5158/api/graphql/ui | GraphQL UI | +| http://localhost:8088/hg | hgweb (append the project code and use the URL in FLEx to clone) | +| http://localhost:1080 | maildev UI | +| http://localhost:4810 | pgadmin UI (`admin@test.com` / `pass`) | +| http://localhost:18888 | [Aspire dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard) (OTEL traces) | + +## Seeded logins + +The backend seeds these users when it creates the database. The password for all of them is `pass`. + +| User | Role | +|---|---| +| admin@test.com | super admin | +| manager@test.com | project manager | +| editor@test.com | project editor | +| user@test.com | user with no projects | + +One project, Sena 3, is seeded too. It has no hg repository unless you do the optional setup in the README. diff --git a/docs/DEVELOPER-linux.md b/docs/technical/development/setup-linux.md similarity index 97% rename from docs/DEVELOPER-linux.md rename to docs/technical/development/setup-linux.md index e523392d2c..b357bc64ba 100644 --- a/docs/DEVELOPER-linux.md +++ b/docs/technical/development/setup-linux.md @@ -1,3 +1,8 @@ +--- +title: Linux setup +sidebar_position: 2 +--- + ### Prerequisites * [Docker Desktop for Linux](https://docs.docker.com/desktop/setup/install/linux/) (provides docker and compose) * using native docker can lead to permissions issues with shared volumes, and some of our code (e.g. the Tiltfile) assumes you're running Docker Desktop diff --git a/docs/DEVELOPER-osx.md b/docs/technical/development/setup-macos.md similarity index 86% rename from docs/DEVELOPER-osx.md rename to docs/technical/development/setup-macos.md index 9d074ee6a9..e1175ede9e 100644 --- a/docs/DEVELOPER-osx.md +++ b/docs/technical/development/setup-macos.md @@ -1,3 +1,8 @@ +--- +title: macOS setup +sidebar_position: 3 +--- + ### MacOS specific requirements * Install ICU4c (MacOS does not have ICU installed by default) * `brew install icu4c` diff --git a/docs/DEVELOPER-win.md b/docs/technical/development/setup-windows.md similarity index 94% rename from docs/DEVELOPER-win.md rename to docs/technical/development/setup-windows.md index b7d81e578f..6215294b6a 100644 --- a/docs/DEVELOPER-win.md +++ b/docs/technical/development/setup-windows.md @@ -1,3 +1,8 @@ +--- +title: Windows setup +sidebar_position: 1 +--- + ### Prerequisites * docker and compose * enable Kubernetes in the Docker Desktop settings diff --git a/docs/technical/index.md b/docs/technical/index.md new file mode 100644 index 0000000000..942d8ea227 --- /dev/null +++ b/docs/technical/index.md @@ -0,0 +1,6 @@ +--- +title: Technical documentation +sidebar_position: 1 +--- + +How FieldWorks Lite and Lexbox are built, deployed and developed. diff --git a/docs/technical/sync/_category_.json b/docs/technical/sync/_category_.json new file mode 100644 index 0000000000..a2bec0b0fb --- /dev/null +++ b/docs/technical/sync/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Sync", + "position": 3 +} diff --git a/docs/technical/sync/crdt.md b/docs/technical/sync/crdt.md new file mode 100644 index 0000000000..ab4bdd17b4 --- /dev/null +++ b/docs/technical/sync/crdt.md @@ -0,0 +1,52 @@ +--- +title: CRDT sync +sidebar_position: 2 +--- + +FieldWorks Lite stores a project as a [SIL.Harmony](https://github.com/sillsdev/harmony) CRDT in SQLite, not as a +document. Every edit becomes a *change* inside a *commit*; syncing is just exchanging commits with the server. + +## How Harmony merges + +- **Commits carry a hybrid logical clock** (`Commit.HybridDateTime`) — a wall-clock timestamp plus a counter, so + every client can put the same set of commits in the same total order without a central clock. +- **State is derived, not stored.** Applying commits in that order rebuilds per-entity snapshots, so two clients + that hold the same commits end up with the same data regardless of the order they received them in. +- **Merging is per change, not per record.** Two clients editing different fields of one entry both keep their + edit. Two clients editing the *same* field settle on the later commit in clock order — last writer wins, per + field. +- **Changes must tolerate missing targets.** A change can reference an entity another client already deleted, so + change classes check for that (`LcmCrdt/Changes/`). See `backend/FwLite/AGENTS.md` for the rules when adding + one. + +Nothing is ever overwritten in the log: a sync only adds commits the other side is missing, in both directions +(`DataModel.SyncWith`). + +## What triggers a client sync + +| Trigger | Where | Notes | +|---|---|---| +| A local edit | `MiniLcmJsInvokable.OnDataChanged` | Every write queues a sync; the background worker waits ~100 ms before running it. | +| Opening a project | `ProjectServicesProvider` | Also starts the push listener for that project. | +| `OnProjectUpdated` push | `LexboxHubConnection` | The server pushes to everyone subscribed to the project after another client uploads commits. The pushing client's own id is passed along and that client ignores it. | +| Push listener (re)connect | `LexboxHubConnection.OnConnected` | A reconnect moves no data by itself — the server only pushes changes made after subscribing — so a connect transition triggers a catch-up sync for every tracked project. | +| Successful sync | `SyncService.ExecuteSync` | Best-effort restart of a listener that failed to start earlier (e.g. the user was offline at project open). | +| 5-minute recovery check | `PushListenerRecoveryService` | Cross-platform backstop that revives a listener the event-driven paths missed. Idempotent: a healthy connection short-circuits. | + +Sync requests are queued on a channel and processed one project at a time +(`FwLiteShared/Sync/BackgroundSyncService.cs`), so a burst of edits collapses into a few syncs rather than one +request per keystroke. + +## When a sync does nothing + +`ExecuteSync` never throws at the caller; it reports a status and leaves the local commits queued: + +| Status | Cause | +|---|---| +| `NoServer` | The project has no origin domain — it was never uploaded to a server. | +| `NotLoggedIn` | No account for that server. Actionable by the user, so it's reported ahead of `Offline`. | +| `Offline` | Token unrefreshable, connection dropped, or the server is unreachable. | +| `UnknownError` | The exchange ran but came back not-synced. | + +None of this touches classic FieldWorks. Getting CRDT data into FwData is a separate, user-triggered job — see +[The FwHeadless merge](./fwheadless-merge.md). diff --git a/docs/technical/sync/fwheadless-merge.md b/docs/technical/sync/fwheadless-merge.md new file mode 100644 index 0000000000..fa4a791227 --- /dev/null +++ b/docs/technical/sync/fwheadless-merge.md @@ -0,0 +1,105 @@ +--- +title: The FwHeadless merge +sidebar_position: 3 +--- + +FwHeadless is the only place where CRDT data and FwData meet. It keeps a per-project CRDT database *and* a +Mercurial working copy of the FieldWorks project, and merges between them on request. + +:::warning Data-loss territory +This is the highest-risk code in the repo. A bug here can overwrite FieldWorks edits, corrupt the hg repo, or +produce divergent data that can't be reconciled. Read `backend/FwHeadless/AGENTS.md` and +`backend/FwLite/AGENTS.md` before changing anything under `FwLiteProjectSync/`. +::: + +## The merge is user-triggered, always + +There is no scheduler, no cron and no Mercurial hook. A merge happens because someone pressed a button: + +- FieldWorks Lite → the Sync dialog's **Sync** button, or +- LexBox → **Sync FieldWorks Lite** on the project page. + +Both go `POST /api/fw-lite/sync/trigger/{projectId}` (LexBox) → `POST /api/merge/execute` (FwHeadless), which +only *queues* the job. `SyncHostedService` runs one global sequential worker, so projects are processed one at a +time and a queued project waits. Queuing is deduplicated: triggering a project that's already queued or running +is a no-op. + +The client then polls `await-sync-finished` for the result. FieldWorks Lite gives up after **15 minutes** +(re-requesting every 25 s to dodge the 30 s HTTP timeout); the LexBox web button keeps polling. The **first-ever** +sync for a project clones the hg repo and imports every entry into a new CRDT database, which takes minutes. + +## The sync cycle + +```mermaid +flowchart TD + A[Queued job starts] --> B{Project code known?
LexBox auth OK?
Not blocked?} + B -- no --> X[Return failure status] + B -- yes --> C{FwData copy exists?} + C -- no --> D[hg clone
first sync only] + C -- yes --> E{Pending hg commits?} + E -- yes --> F[Send/Receive] + E -- no --> G + D --> G[Open FwData + CRDT copies] + F --> G + G --> H[Harmony sync with LexBox
pull Lite changes down] + H --> I{Snapshot exists?} + I -- no --> J[Import: whole FwData project into CRDT] + I -- yes --> K[Merge: two directional diffs] + K --> L{FwData changed?} + L -- yes --> M[Send/Receive
retry once on HTTP 500] + L -- no --> N + J --> N[Regenerate ProjectSnapshot from the CRDT] + M --> N + N --> O[Harmony sync with LexBox
push FieldWorks-origin changes] + + style K fill:#f99,stroke:#333 + style N fill:#ff9,stroke:#333 +``` + +The snapshot is regenerated **after** the post-merge Send/Receive succeeds and **from the CRDT api**, not from +FwData — see the long comment in `SyncWorker.ExecuteSync` for why both details matter. + +## Merge semantics + +`CrdtFwdataProjectSyncService.Sync` computes two directional diffs per entity type against the last +`ProjectSnapshot` (the state as of the previous successful merge): + +1. snapshot → current FwData, applied to the CRDT +2. current FwData → current CRDT, applied to FwData + +Because step 1 runs first, its result is already in the CRDT when step 2 reads it. So: + +| Field changed since last merge | Result | +|---|---| +| In FieldWorks only | FieldWorks value wins (arrives in CRDT via step 1) | +| In FieldWorks Lite only | Lite value wins (arrives in FwData via step 2) | +| On both sides | **FieldWorks Classic value wins** | + +Entity order matters — writing systems, publications, parts of speech, semantic domains, complex form types and +morph types are synced before entries, because entries reference them. Complex forms are two-phase for the same +reason. On the hg side, Chorus does the merging between FwHeadless's copy and other users' commits; FwHeadless +never resolves those itself. + +## Failure modes + +`SyncJobResult.Status` (`LexCore/Sync/SyncJobResult.cs`): + +| Status | Meaning | +|---|---| +| `Success` | Merge completed; the result carries CRDT and FwData change counts. | +| `SuccessHarmonyOnly` | Only the Harmony sync ran (the `sync-harmony` recovery endpoint). | +| `ProjectNotFound` | No project with that id. | +| `UnableToAuthenticate` | FwHeadless couldn't authenticate to LexBox — checked up front so the job fails fast. | +| `SyncBlocked` | Project is blocked from syncing (HTTP 423 from the trigger endpoint). | +| `ProjectIncompatible` | The clone produced no `.fwdata` file — e.g. the repo isn't a FieldWorks project. | +| `SendReceiveFailed` | hg Send/Receive failed before or after the merge. | +| `CrdtSyncFailed` / `UnableToSync` / `UnknownError` | Harmony sync or the job itself failed. | +| `SyncJobNotFound`, `SyncJobTimedOut`, `TimedOutAwaitingSyncStatus` | Polling outcomes, not merge outcomes: the job was never queued, it outlived the wait, or the client's own wait expired while the job kept running. | + +**Blocking.** If Chorus reports a rollback during Send/Receive, FwHeadless blocks the project from syncing +immediately (before *and* after the merge) and returns `SyncBlocked`. A blocked project is rejected at the +trigger endpoint with HTTP 423 and re-checked inside the worker in case it was blocked while queued. Unblocking +is a deliberate admin action via `/api/fw-lite/sync/unblock`. + +Other landmines worth knowing: a stale `ProjectSnapshot` makes every subsequent diff wrong; stuck `.hg/wlock` +files hang Send/Receive; and an `FdoDataModelVersion` mismatch with FieldWorks risks corrupt data. diff --git a/docs/technical/sync/index.md b/docs/technical/sync/index.md new file mode 100644 index 0000000000..22810ca687 --- /dev/null +++ b/docs/technical/sync/index.md @@ -0,0 +1,95 @@ +--- +title: The sync chain +sidebar_position: 1 +--- + +Data gets from FieldWorks Lite to classic FieldWorks (and back) through four separate hops, each with its own +trigger, transport and failure modes. Nothing is one big pipeline: hops 1 and 2 are the only ones a user starts +directly, and only hop 2 moves data between the CRDT world and the Mercurial world. + +For the non-technical version, see the [user guide explainer](/user-guide/how-sync-works). + +```mermaid +flowchart LR + subgraph USER[User machines] + LITE[FieldWorks Lite
CRDT SQLite] + FLEX[Classic FieldWorks
FwData XML] + end + + subgraph LEXBOX[LexBox server] + HARMONY[(Harmony commits
Postgres)] + HG[(Mercurial repo
hgweb)] + API[LexBoxApi
+ SignalR hub] + end + + subgraph HEADLESS[FwHeadless] + WORKER[Sync worker
CRDT copy + FwData copy] + end + + LITE <-- "1. Harmony sync over HTTP
+ SignalR push" --> API + API --- HARMONY + API -- "2. user presses Sync
POST /api/merge/execute" --> WORKER + WORKER <-- "2a. Harmony sync" --> HARMONY + WORKER <-- "3. Chorus Send/Receive" --> HG + FLEX <-- "4. Send/Receive" --> HG + + style WORKER fill:#ff9,stroke:#333 +``` + +## Hop 1 — FieldWorks Lite ↔ LexBox (Harmony CRDT) + +| | | +|---|---| +| Trigger | Every local edit, project open, a SignalR `OnProjectUpdated` push, listener (re)connect, and a 5-minute recovery check. See [CRDT sync](./crdt.md). | +| Travels | Harmony commits (each a list of changes) in both directions, plus pending media uploads/downloads. | +| Transport | HTTP to `/api/crdt/{projectId}/…`; push notifications over the SignalR hub `/api/hub/crdt/project-changes`. | +| Code | `FwLiteShared/Sync/SyncService.cs`, `FwLiteShared/Projects/LexboxHubConnection.cs`, `LexBoxApi/Controllers/CrdtController.cs` | + +Failure modes: not signed in (`SyncStatus.NotLoggedIn`), server unreachable or token unrefreshable +(`SyncStatus.Offline`) — both leave the local edits safely queued for the next sync. A push listener that dies +and never recovers is worse: edits still sync out on the next local edit, but incoming changes stop arriving +until something else triggers a sync. + +## Hop 2 — LexBox → FwHeadless merge job + +| | | +|---|---| +| Trigger | **A user, always.** FieldWorks Lite's Sync dialog, or "Sync FieldWorks Lite" on the LexBox project page. No scheduler, no hg hook. | +| Travels | Only the project id: `POST /api/fw-lite/sync/trigger/{projectId}` → FwHeadless `POST /api/merge/execute`, which queues the job. | +| Runs | One global sequential worker; a second project waits its turn. | +| Code | `LexBoxApi/Controllers/SyncController.cs`, `FwHeadless/Routes/MergeRoutes.cs`, `FwHeadless/Services/SyncHostedService.cs` | + +Failure modes: 403 (FwHeadless cannot authenticate to LexBox), 404 (project unknown), 423 (project blocked from +syncing). The client then polls for the result — details and the full status list in +[The FwHeadless merge](./fwheadless-merge.md). + +## Hop 3 — FwHeadless ↔ the Mercurial repo + +| | | +|---|---| +| Trigger | Inside the merge job only: a Send/Receive before the merge if there are pending hg commits (a clone on the very first sync), and one after the merge if the merge wrote FwData changes. | +| Travels | Mercurial changesets of the project's `.fwdata` file and friends. Chorus/LfMergeBridge does the hg-side merging. | +| Code | `FwHeadless/Services/SendReceiveService.cs`, `FwHeadless/Services/SendReceiveHelpers.cs` | + +Failure modes: `SendReceiveFailed` (HTTP 500 is retried once); a Chorus-detected rollback blocks the project from +further syncing; a clone that produces no `.fwdata` reports `ProjectIncompatible` (e.g. the repo is a WeSay +project); stuck `.hg/wlock` files hang operations; an `FdoDataModelVersion` mismatch between FwHeadless and +FieldWorks is a data-corruption risk. + +## Hop 4 — Mercurial repo ↔ classic FieldWorks + +| | | +|---|---| +| Trigger | The user's own Send/Receive in FieldWorks. | +| Travels | Mercurial changesets; Chorus merges the FwData XML on the user's machine. | + +Failure mode that matters most: none of the FieldWorks Lite edits reach the FieldWorks user until they do a +Send/Receive, and their own edits only reach FieldWorks Lite once someone presses Sync (hop 2). The end-to-end +path is only as live as its slowest manual step. + +## Which copy wins + +FwHeadless keeps its own CRDT database *and* its own FwData working copy per project. The merge diffs both +against the last `ProjectSnapshot` and applies **FwData → CRDT first**, so a field edited on both sides since the +last merge ends up with the FieldWorks Classic value. Within hop 1 (Lite clients only) there is no such +asymmetry — Harmony merges per change. See [The FwHeadless merge](./fwheadless-merge.md). diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000000..405d777064 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,12 @@ +// This file is not used by "docusaurus start/build" commands. +// It is here to improve your IDE experience (type-checking, autocompletion...), +// and can also run the package.json "typecheck" script manually. +{ + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": ".", + "ignoreDeprecations": "6.0", + "strict": true + }, + "exclude": [".docusaurus", "build"] +} diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md new file mode 100644 index 0000000000..263a8d1090 --- /dev/null +++ b/docs/user-guide/faq.md @@ -0,0 +1,50 @@ +--- +title: Questions and answers +sidebar_position: 3 +--- + +Common questions about FieldWorks Lite. Questions about syncing are answered on +[How sync works](/user-guide/how-sync-works). + +### Do I need a Lexbox account? + +Not to try the app. You can install FieldWorks Lite and choose **Create Example Project** +to practice on a small dictionary that stays on your device. You do need a Lexbox account +to open a real project, because that is where your team's projects live. + +### Does FieldWorks Lite replace FieldWorks Classic? + +No. It is a companion to FieldWorks Classic. Think of it as an easier way to do everyday +dictionary work, especially away from your desk. FieldWorks Classic is still the place +for everything else in your project. + +### What can I work on in FieldWorks Lite? + +The dictionary: entries, senses, definitions, examples and the pictures and sound files +that go with them. Other parts of a FieldWorks Classic project are not shown. + +### Can I use it on my phone? + +Yes. There are versions for Android phones and tablets and for iPhone and iPad, as well +as for Windows, Mac and Linux. It is the same app on every device. + +### Is my work safe if my phone or computer breaks? + +Anything that has reached Lexbox is safe. Lexbox keeps your project on the server, so you +can install FieldWorks Lite on a new device, sign in and download the project again. +Changes that are still only on a broken device cannot be recovered, so it is worth +getting online now and then. + +### How do I report a problem or ask for help? + +In the app, open **Feedback & Support** from the sidebar. From there you can ask a +question on the [community forum](https://community.software.sil.org/c/fwlite/48), +suggest an improvement, report a technical problem, or email +[lexbox_support@groups.sil.org](mailto:lexbox_support@groups.sil.org). Telling us what +device you were using and what you were doing at the time helps a lot. + +### Is FieldWorks Lite finished? + +Not yet. It is still being developed, and new things arrive regularly. Your data is +backed up on Lexbox, but if you hit a problem with a project, please say that you are +using FieldWorks Lite when you contact support. diff --git a/docs/user-guide/getting-started.md b/docs/user-guide/getting-started.md new file mode 100644 index 0000000000..d823aeeacd --- /dev/null +++ b/docs/user-guide/getting-started.md @@ -0,0 +1,45 @@ +--- +title: Getting started +sidebar_position: 1 +--- + +This page takes you from nothing installed to your first edit. + +## 1. Install the app + +Go to [lexbox.org/fw-lite](https://lexbox.org/fw-lite) and choose the download for your +device. On a phone or tablet, install it the same way you install any other app. + +## 2. Try it first, or sign in + +You do not need an account to look around. On the home screen, choose **Create Example +Project**. This makes a small practice dictionary on your device. Nothing you do in it +touches anyone else's work. + +To work on a real project, choose **Login** and sign in with your Lexbox account. Your +projects on the server then appear in the list. + +## 3. Download your project + +Find your project in the list and choose **Download**. FieldWorks Lite copies the +dictionary onto your device. This can take a while the first time on a large project. + +After that, the project stays on your device, so you can work without an internet +connection. + +## 4. Open it and edit an entry + +Choose **Open** on the project. Go to **Browse** to see the entries, pick one, and change +a field. To add a word, use **New Entry**. + +:::note Coming soon +A walk-through of the entry editor, with pictures. +::: + +## 5. Your changes sync on their own + +You do not have to save your work to the server by hand. FieldWorks Lite sends your +changes to Lexbox and picks up other people's changes whenever it can reach the server. + +See [How sync works](/user-guide/how-sync-works) for what happens to your changes, what +to expect when you are offline, and how FieldWorks Classic fits in. diff --git a/docs/user-guide/how-sync-works.mdx b/docs/user-guide/how-sync-works.mdx new file mode 100644 index 0000000000..b5a4a0b852 --- /dev/null +++ b/docs/user-guide/how-sync-works.mdx @@ -0,0 +1,61 @@ +--- +title: How sync works +sidebar_position: 2 +--- + +import SyncExplainer from '@site/src/components/SyncExplainer'; + +Your project lives in **Lexbox** in **two copies**: a **FieldWorks Lite copy** and a +**FieldWorks Classic copy**. An edit reaches a colleague in up to three legs — some automatic, +some not. + + + +
+How it works under the hood + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
On this pageActuallyWorth knowing
FieldWorks Lite copyA CRDT change database (SIL Harmony)Every edit is a small change record; merging is automatic and gives the same result on every device.
Leg 1 “automatic”HTTP sync plus a push channel (SignalR)Runs after every edit, when you open a project, and when your connection comes back. A recovery loop retries every 5 minutes.
Leg 2 “the Sync button”A merge job in the FwHeadless serviceThere is no schedule. It runs only when someone presses Sync in FieldWorks Lite or Sync FieldWorks Lite on the Lexbox project page. Jobs queue one project at a time; the very first sync imports the whole project and can take minutes.
FieldWorks Classic copyA Mercurial repository (Language Depot)The same repository FieldWorks Send/Receive has always used.
Leg 3 “Send/Receive”Chorus over MercurialUnchanged for FieldWorks Classic users — FieldWorks Lite adds nothing they must learn.
“The same field” clashesDeterministic merge rulesBetween two Lite users, the most recent change wins. Between Lite and Classic (since the last leg-2 sync), the Classic value wins. Lite’s change history keeps everything.
+ +Full technical documentation: [Sync](/technical/sync/). + +
diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md new file mode 100644 index 0000000000..b6879f2509 --- /dev/null +++ b/docs/user-guide/index.md @@ -0,0 +1,28 @@ +--- +title: FieldWorks Lite user guide +sidebar_position: 0 +--- + +FieldWorks Lite is a fast, simple app for building a dictionary. You can use it on a +phone, a tablet or a computer. It works offline, and it keeps your work in step with the +rest of your team through Lexbox. + +FieldWorks Lite is a companion to FieldWorks Classic, not a replacement. It edits the +dictionary part of your project. The rest of your project stays in FieldWorks Classic, +and the two are kept in step through Lexbox. + +## Get FieldWorks Lite + +Download it from [lexbox.org/fw-lite](https://lexbox.org/fw-lite). + +There are versions for Windows, Mac, Linux, Android phones and tablets, and iPhone and +iPad. + +## In this guide + +- [Getting started](/user-guide/getting-started) — install the app, open a project and + make your first edit. +- [How sync works](/user-guide/how-sync-works) — what happens to your changes, and how + they reach the rest of your team. + +Need help? Ask on the [community forum](https://community.software.sil.org/c/fwlite/48). From 40ef3782d39d42c24b65da5e082da4e72585c30e Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 20:25:11 +0200 Subject: [PATCH 02/14] Address DeepSource findings; record classic-docs and framework decisions Named type imports in the Docusaurus config, Boolean() coercions, content-derived keys, arrow-const components, and Topology/Stepper extracted from SyncExplainer. DOCS-PLAN.md gains the FieldWorks Classic docs relationship and the React-vs-Svelte decision with its revisit trigger. Co-Authored-By: Claude Fable 5 --- DOCS-PLAN.md | 2 + docs/docusaurus.config.ts | 12 +- docs/src/components/SyncExplainer/index.tsx | 368 +++++++++++--------- docs/src/pages/index.tsx | 6 +- docs/user-guide/faq.md | 3 +- 5 files changed, 218 insertions(+), 173 deletions(-) diff --git a/DOCS-PLAN.md b/DOCS-PLAN.md index aa1279a1d9..c6affdb295 100644 --- a/DOCS-PLAN.md +++ b/DOCS-PLAN.md @@ -27,6 +27,8 @@ Docusaurus is the SIL convention: markdown in git, Crowdin for translation, stat - **Seed content is adapted from already-reviewed sources** (README, AGENTS.md files, DEVELOPER-*.md), not newly authored prose. `AGENTS.md` files are untouched in this PR; de-duplicating them to link into the site is a follow-up. - **Deployment**: GitHub Pages workflow included (build on PR, deploy on develop push). Target URL and DNS (`docs.lexbox.org`?) are a team decision. - Later, in rough order: Crowdin wiring for the user guide (copy Scripture Forge's setup), Algolia DocSearch + Ask AI (copy Bloom's config), screenshots in the user guide, moving `AGENTS.md` architecture content into the site and linking back. +- **Relationship to FieldWorks Classic docs**: sibling products, sibling doc sites — link, don't share. The app already deep-links per-field into the classic FieldWorks help site (`FieldHelpIcon`), and these docs do the same: user-guide pages link out to classic help/product pages wherever the reader needs classic-side steps (Send/Receive, installing FieldWorks), and never duplicate classic documentation. No shared tooling required; "FieldWorks Classic" is our UI's name for it, used consistently. +- **Component framework**: the site is Docusaurus, so interactive doc components are React — accepted, not preferred (products are Svelte). Mitigation: everything maintainers routinely edit lives in framework-neutral files (`syncScenarios.ts`, plain CSS); only the rendering file is React. Revisit trigger: if product-like interactive components accumulate here, either compile Svelte components to web components for MDX (loses SSR, adds a Svelte build step) or move the site to Astro Starlight (native Svelte islands, at the cost of the shared-SIL-tooling argument). ## The sync explainer diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 4cefaf52de..de4a18f8c8 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -1,7 +1,7 @@ import {themes as prismThemes} from 'prism-react-renderer'; import type {Config} from '@docusaurus/types'; -import type * as Preset from '@docusaurus/preset-classic'; -import type * as DocsPlugin from '@docusaurus/plugin-content-docs'; +import type {Options as PresetOptions, ThemeConfig} from '@docusaurus/preset-classic'; +import type {Options as DocsOptions} from '@docusaurus/plugin-content-docs'; // Docusaurus appends the path of each doc relative to this directory. const editUrl = 'https://github.com/sillsdev/languageforge-lexbox/tree/develop/docs'; @@ -44,7 +44,7 @@ const config: Config = { theme: { customCss: './src/css/custom.css', }, - } satisfies Preset.Options, + } satisfies PresetOptions, ], ], @@ -57,7 +57,7 @@ const config: Config = { routeBasePath: 'user-guide', sidebarPath: './sidebars.ts', editUrl, - } satisfies DocsPlugin.Options, + } satisfies DocsOptions, ], [ '@docusaurus/plugin-content-docs', @@ -67,7 +67,7 @@ const config: Config = { routeBasePath: 'technical', sidebarPath: './sidebars.ts', editUrl, - } satisfies DocsPlugin.Options, + } satisfies DocsOptions, ], ], @@ -100,7 +100,7 @@ const config: Config = { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, - } satisfies Preset.ThemeConfig, + } satisfies ThemeConfig, }; export default config; diff --git a/docs/src/components/SyncExplainer/index.tsx b/docs/src/components/SyncExplainer/index.tsx index fe23862b91..d1aebe1524 100644 --- a/docs/src/components/SyncExplainer/index.tsx +++ b/docs/src/components/SyncExplainer/index.tsx @@ -1,4 +1,4 @@ -import {useEffect, useRef, useState, type ReactNode} from 'react'; +import {useEffect, useRef, useState, type Dispatch, type ReactNode, type SetStateAction} from 'react'; import { BADGE_LABELS, @@ -33,16 +33,22 @@ interface TokenPos { const HIDDEN_TOKEN: TokenPos = {visible: false, x: 0, y: 0}; -function cx(...classes: (string | false | undefined)[]): string { - return classes.filter(Boolean).join(' '); -} +const cx = (...classes: (string | false | undefined)[]): string => classes.filter(Boolean).join(' '); /** Only INITIAL.text uses this; step sentences are plain text. */ -function withBold(text: string): ReactNode[] { - return text.split(/\*\*(.+?)\*\*/g).map((part, i) => (i % 2 ? {part} : part)); -} +const withBold = (text: string): ReactNode[] => { + let offset = 0; + return text.split(/\*\*(.+?)\*\*/g).map((part, i) => { + const key = offset; + offset += part.length; + return i % 2 ? {part} : {part}; + }); +}; -function NodeBox({ +const isTextInput = (el: HTMLElement | null): boolean => + Boolean(el?.isContentEditable) || ['INPUT', 'TEXTAREA', 'SELECT'].includes(el?.tagName ?? ''); + +const NodeBox = ({ label, icon, hl, @@ -56,20 +62,18 @@ function NodeBox({ dim: boolean; checked: boolean; elRef: (el: HTMLDivElement | null) => void; -}): ReactNode { - return ( -
- - {icon &&
{icon}
} -
{label.kind}
-
{label.name}
-
- ); -} +}): ReactNode => ( +
+ + {icon &&
{icon}
} +
{label.kind}
+
{label.name}
+
+); -function Connector({ +const Connector = ({ num, kind, trigger, @@ -87,26 +91,24 @@ function Connector({ off?: boolean; inner?: boolean; elRef: (el: HTMLDivElement | null) => void; -}): ReactNode { - return ( -
- {num} -
- -
- {trigger} +}): ReactNode => ( +
+ {num} +
+
- ); -} + {trigger} +
+); const phoneIcon = ( ); -export default function SyncExplainer(): ReactNode { +interface StepQueries { + isHl: (id: NodeId | LegId) => boolean; + isDim: (id: NodeId | LegId) => boolean; + isChecked: (id: CheckableNodeId) => boolean; +} + +const Topology = ({ + step, + queries: {isHl, isDim, isChecked}, + setEl, +}: { + step: Step | null; + queries: StepQueries; + setEl: (id: MeasurableId) => (el: HTMLDivElement | null) => void; +}): ReactNode => ( +
+
+ + {GHOST_LABEL} +
+ + + +
+
+ + {cloudIcon} {CLOUD_LABELS.name} + + {CLOUD_LABELS.sub} +
+
+ + + +
+
+ + + +
+ +
+
+); + +const Stepper = ({ + scenario, + stepIndex, + setStepIndex, + onReset, +}: { + scenario: Scenario; + stepIndex: number; + setStepIndex: Dispatch>; + onReset: () => void; +}): ReactNode => { + const lastStep = stepIndex === scenario.steps.length - 1; + return ( +
+ + {STEPPER_LABELS.count(stepIndex + 1, scenario.steps.length)} + + + + {lastStep && ( + + )} +
+ ); +}; + +const SyncExplainer = (): ReactNode => { const [scenario, setScenario] = useState(null); const [stepIndex, setStepIndex] = useState(0); const [tokens, setTokens] = useState<[TokenPos, TokenPos]>([HIDDEN_TOKEN, HIDDEN_TOKEN]); @@ -166,12 +307,14 @@ export default function SyncExplainer(): ReactNode { }; const step: Step | null = scenario ? scenario.steps[stepIndex] : null; - const lastStep = scenario ? stepIndex === scenario.steps.length - 1 : false; - const has = (list: readonly string[] | undefined, id: string): boolean => !!list?.includes(id); - const isHl = (id: NodeId | LegId): boolean => has(step?.legs, id) || has(step?.hlNodes, id); - const isDim = (id: NodeId | LegId): boolean => has(step?.dim, id); - const isChecked = (id: CheckableNodeId): boolean => has(step?.check, id); + const has = (list: readonly string[] | undefined, id: string): boolean => + Boolean(list?.includes(id)); + const queries: StepQueries = { + isHl: (id) => has(step?.legs, id) || has(step?.hlNodes, id), + isDim: (id) => has(step?.dim, id), + isChecked: (id) => has(step?.check, id), + }; useEffect(() => { const stage = stageRef.current; @@ -187,7 +330,7 @@ export default function SyncExplainer(): ReactNode { : rect.top - stageRect.top + rect.height / 2 - 8; return {visible: true, x: rect.left - stageRect.left + rect.width / 2 - 8 + offset, y}; }; - const coLocated = !!step?.t1 && step.t1 === step.t2; + const coLocated = step?.t1 !== undefined && step.t1 === step.t2; setTokens((previous) => [ place(step?.t1, coLocated ? -12 : 0, previous[0]), place(step?.t2, coLocated ? 12 : 0, previous[1]), @@ -210,14 +353,15 @@ export default function SyncExplainer(): ReactNode { useEffect(() => { if (!scenario) return; const onKeyDown = (e: KeyboardEvent): void => { - const target = e.target as HTMLElement | null; // Don't steal arrow keys from the search box or any other text field. - if (target?.isContentEditable || ['INPUT', 'TEXTAREA', 'SELECT'].includes(target?.tagName ?? '')) return; + if (isTextInput(e.target as HTMLElement | null)) return; if (e.key === 'ArrowRight') setStepIndex((i) => Math.min(i + 1, scenario.steps.length - 1)); if (e.key === 'ArrowLeft') setStepIndex((i) => Math.max(i - 1, 0)); }; document.addEventListener('keydown', onKeyDown); - return () => document.removeEventListener('keydown', onKeyDown); + return () => { + document.removeEventListener('keydown', onKeyDown); + }; }, [scenario]); const selectScenario = (s: Scenario): void => { @@ -226,90 +370,17 @@ export default function SyncExplainer(): ReactNode { capTitleRef.current?.focus({preventScroll: true}); }; + const reset = (): void => { + setScenario(null); + setStepIndex(0); + }; + const badge = step?.badge; return (
-
-
- - {GHOST_LABEL} -
- - - -
-
- - {cloudIcon} {CLOUD_LABELS.name} - - {CLOUD_LABELS.sub} -
-
- - - -
-
- - - -
- -
-
+ {([ ['you', TOKEN_TAGS.you, tokens[0]], @@ -359,42 +430,11 @@ export default function SyncExplainer(): ReactNode {

{step ? step.text : withBold(INITIAL.text)}

{scenario && ( -
- - - {STEPPER_LABELS.count(stepIndex + 1, scenario.steps.length)} - - - - - {lastStep && ( - - )} -
+ )}
); -} +}; + +export default SyncExplainer; diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 1e6cf34288..50eed67a79 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -11,7 +11,7 @@ const sections = [ {to: '/technical/', label: 'Technical documentation'}, ]; -export default function Home(): ReactNode { +const Home = (): ReactNode => { const {siteConfig} = useDocusaurusContext(); return ( @@ -32,4 +32,6 @@ export default function Home(): ReactNode { ); -} +}; + +export default Home; diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md index 263a8d1090..5c9ceeccb0 100644 --- a/docs/user-guide/faq.md +++ b/docs/user-guide/faq.md @@ -16,7 +16,8 @@ to open a real project, because that is where your team's projects live. No. It is a companion to FieldWorks Classic. Think of it as an easier way to do everyday dictionary work, especially away from your desk. FieldWorks Classic is still the place -for everything else in your project. +for everything else in your project — it has its own +[help and documentation](https://software.sil.org/fieldworks/). ### What can I work on in FieldWorks Lite? From 8ebc55ab4d6fe92458aeaf8ac8581b15161e66e4 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 20:28:33 +0200 Subject: [PATCH 03/14] Return undefined explicitly from the keydown effect Co-Authored-By: Claude Fable 5 --- docs/src/components/SyncExplainer/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/components/SyncExplainer/index.tsx b/docs/src/components/SyncExplainer/index.tsx index d1aebe1524..2e287993a8 100644 --- a/docs/src/components/SyncExplainer/index.tsx +++ b/docs/src/components/SyncExplainer/index.tsx @@ -351,7 +351,7 @@ const SyncExplainer = (): ReactNode => { }, []); useEffect(() => { - if (!scenario) return; + if (!scenario) return undefined; const onKeyDown = (e: KeyboardEvent): void => { // Don't steal arrow keys from the search box or any other text field. if (isTextInput(e.target as HTMLElement | null)) return; From 23ec7d00783af96d4bb387135ad4bc7c45c60d0a Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 20:42:37 +0200 Subject: [PATCH 04/14] Allow overriding the docs site URL via environment variables Lets CI deploy previews to another host (e.g. a fork's GitHub Pages) until the production URL is decided. Co-Authored-By: Claude Fable 5 --- docs/docusaurus.config.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index de4a18f8c8..a43f0a9c78 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -17,8 +17,9 @@ const config: Config = { }, // Deploy target and DNS are still a team decision. - url: 'https://docs.lexbox.org', - baseUrl: '/', + // Overridable so CI can deploy previews to another host (e.g. a fork's GitHub Pages). + url: process.env.DOCS_URL ?? 'https://docs.lexbox.org', + baseUrl: process.env.DOCS_BASE_URL ?? '/', organizationName: 'sillsdev', projectName: 'languageforge-lexbox', From bcffdd9fe6faf43e79b87330e657e0eca549003d Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 20:47:47 +0200 Subject: [PATCH 05/14] Apply CodeRabbit review fixes persist-credentials off in the docs workflow checkout, correct the shared-storage claim in the system overview, read-only credential check in the dev setup, FAQ headings to level 2. Co-Authored-By: Claude Fable 5 --- .github/workflows/docs.yaml | 2 ++ docs/technical/architecture/overview.md | 2 +- docs/technical/development/index.md | 2 +- docs/user-guide/faq.md | 14 +++++++------- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 70b1d3a02f..4bda3f42fb 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -25,6 +25,8 @@ jobs: working-directory: ./docs steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 with: package_json_file: 'docs/package.json' diff --git a/docs/technical/architecture/overview.md b/docs/technical/architecture/overview.md index 2463b3ce5e..4bd7654af2 100644 --- a/docs/technical/architecture/overview.md +++ b/docs/technical/architecture/overview.md @@ -3,7 +3,7 @@ title: System overview sidebar_position: 1 --- -Three things live in this repo, and they share one database and one set of Mercurial repositories. +Three things live in this repo. Lexbox and FwHeadless run server-side and share one database and one set of Mercurial repositories; FieldWorks Lite is a client app with its own local copy of each project. | Part | What it is | | --- | --- | diff --git a/docs/technical/development/index.md b/docs/technical/development/index.md index 24f5e6c6ea..1591667e3d 100644 --- a/docs/technical/development/index.md +++ b/docs/technical/development/index.md @@ -20,7 +20,7 @@ OS-specific steps (hosts file entries, install commands, quirks): * [Linux setup](./setup-linux.md) * [macOS setup](./setup-macos.md) -Then run `git push` once to confirm your GitHub credentials work, and `task setup`, which initializes `local.env`, points Git at the ignore-revs file, and downloads the FLEx seed-data repo. +Then confirm your GitHub credentials work (`git ls-remote origin HEAD`), and run `task setup`, which initializes `local.env`, points Git at the ignore-revs file, and downloads the FLEx seed-data repo. ## Kubernetes workflow diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md index 5c9ceeccb0..bc762b4566 100644 --- a/docs/user-guide/faq.md +++ b/docs/user-guide/faq.md @@ -6,37 +6,37 @@ sidebar_position: 3 Common questions about FieldWorks Lite. Questions about syncing are answered on [How sync works](/user-guide/how-sync-works). -### Do I need a Lexbox account? +## Do I need a Lexbox account? Not to try the app. You can install FieldWorks Lite and choose **Create Example Project** to practice on a small dictionary that stays on your device. You do need a Lexbox account to open a real project, because that is where your team's projects live. -### Does FieldWorks Lite replace FieldWorks Classic? +## Does FieldWorks Lite replace FieldWorks Classic? No. It is a companion to FieldWorks Classic. Think of it as an easier way to do everyday dictionary work, especially away from your desk. FieldWorks Classic is still the place for everything else in your project — it has its own [help and documentation](https://software.sil.org/fieldworks/). -### What can I work on in FieldWorks Lite? +## What can I work on in FieldWorks Lite? The dictionary: entries, senses, definitions, examples and the pictures and sound files that go with them. Other parts of a FieldWorks Classic project are not shown. -### Can I use it on my phone? +## Can I use it on my phone? Yes. There are versions for Android phones and tablets and for iPhone and iPad, as well as for Windows, Mac and Linux. It is the same app on every device. -### Is my work safe if my phone or computer breaks? +## Is my work safe if my phone or computer breaks? Anything that has reached Lexbox is safe. Lexbox keeps your project on the server, so you can install FieldWorks Lite on a new device, sign in and download the project again. Changes that are still only on a broken device cannot be recovered, so it is worth getting online now and then. -### How do I report a problem or ask for help? +## How do I report a problem or ask for help? In the app, open **Feedback & Support** from the sidebar. From there you can ask a question on the [community forum](https://community.software.sil.org/c/fwlite/48), @@ -44,7 +44,7 @@ suggest an improvement, report a technical problem, or email [lexbox_support@groups.sil.org](mailto:lexbox_support@groups.sil.org). Telling us what device you were using and what you were doing at the time helps a lot. -### Is FieldWorks Lite finished? +## Is FieldWorks Lite finished? Not yet. It is still being developed, and new things arrive regularly. Your data is backed up on Lexbox, but if you hit a problem with a project, please say that you are From f67fdef147ef76fa522c106d28508c5ab32e18aa Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 20:53:35 +0200 Subject: [PATCH 06/14] Keep withBold keys unique when bold sits at text edges Empty split parts produced duplicate position keys; skip them and count the ** markers when advancing. Co-Authored-By: Claude Fable 5 --- docs/src/components/SyncExplainer/index.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/src/components/SyncExplainer/index.tsx b/docs/src/components/SyncExplainer/index.tsx index 2e287993a8..d612c0ed0d 100644 --- a/docs/src/components/SyncExplainer/index.tsx +++ b/docs/src/components/SyncExplainer/index.tsx @@ -37,12 +37,16 @@ const cx = (...classes: (string | false | undefined)[]): string => classes.filte /** Only INITIAL.text uses this; step sentences are plain text. */ const withBold = (text: string): ReactNode[] => { - let offset = 0; - return text.split(/\*\*(.+?)\*\*/g).map((part, i) => { - const key = offset; - offset += part.length; - return i % 2 ? {part} : {part}; + const nodes: ReactNode[] = []; + let pos = 0; + text.split(/\*\*(.+?)\*\*/g).forEach((part, i) => { + const bold = i % 2 === 1; + const key = pos; + // Advance past the part plus its ** markers so keys stay unique source positions. + pos += part.length + (bold ? 4 : 0); + if (part) nodes.push(bold ? {part} : {part}); }); + return nodes; }; const isTextInput = (el: HTMLElement | null): boolean => From b72527cb0f1e6e27cac99ecd9c169716073f8359 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 21:09:12 +0200 Subject: [PATCH 07/14] Anchor the sync explainer to the real app UI Correct the platform list (no Mac or iOS builds ship), add a scenario step disclosing that the FW Lite Sync button and the project page's 'Sync FieldWorks Lite' are the same action, and add a 'Where you'll see this in the app' section mapping each leg to its dialog tab, statuses, and buttons. Co-Authored-By: Claude Fable 5 --- .../components/SyncExplainer/syncScenarios.ts | 5 ++ docs/src/css/custom.css | 48 ++++++++++++++++++ docs/undefined/app-map.png | Bin 0 -> 37194 bytes docs/user-guide/faq.md | 4 +- docs/user-guide/how-sync-works.mdx | 37 ++++++++++++++ docs/user-guide/index.md | 3 +- 6 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 docs/undefined/app-map.png diff --git a/docs/src/components/SyncExplainer/syncScenarios.ts b/docs/src/components/SyncExplainer/syncScenarios.ts index 96e26580eb..2da493dbca 100644 --- a/docs/src/components/SyncExplainer/syncScenarios.ts +++ b/docs/src/components/SyncExplainer/syncScenarios.ts @@ -131,6 +131,11 @@ export const SCENARIOS: Scenario[] = [ badge: 'you', text: 'The Sync button works entirely inside Lexbox: it merges the project’s two copies — FieldWorks Lite and FieldWorks Classic.', }, + { + hlNodes: ['cloud'], + badge: 'you', + text: 'It lives in two places — the Lexbox tab under Synchronize in FieldWorks Lite, and “Sync FieldWorks Lite” on your project’s page on the Lexbox website — and both do exactly the same thing.', + }, { t1: 'leg2', legs: ['leg2'], diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index c7a62d85f0..e78d551db3 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -20,3 +20,51 @@ --ifm-color-primary-lightest: #6bc4ea; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } + +/* "Where you'll see this in the app" map on the sync page. + Leg colors match the SyncExplainer palette (auto/manual/colleague). */ +:root { + --leg-1: #0f766e; + --leg-2: #b45309; + --leg-3: #6d28d9; +} +[data-theme='dark'] { + --leg-1: #3fbdb0; + --leg-2: #f0a44b; + --leg-3: #b79df5; +} + +table.app-map td:first-child { + white-space: nowrap; + vertical-align: top; +} + +.leg-num { + display: inline-block; + width: 1.5em; + height: 1.5em; + line-height: calc(1.5em - 2px); + text-align: center; + border-radius: 50%; + border: 1.5px solid currentColor; + font-size: 0.85em; + font-weight: 700; +} +.leg-num--1 { color: var(--leg-1); } +.leg-num--2 { color: var(--leg-2); } +.leg-num--3 { color: var(--leg-3); } + +.app-chip { + display: inline-block; + padding: 0 0.5em; + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: 99px; + background: var(--ifm-background-surface-color); + font-size: 0.85em; + font-weight: 600; + white-space: nowrap; +} +.app-chip--button { + border-radius: 7px; + border-color: var(--ifm-color-emphasis-500); +} diff --git a/docs/undefined/app-map.png b/docs/undefined/app-map.png new file mode 100644 index 0000000000000000000000000000000000000000..7de0cf91ea713e7ce25a5acad51dfefd0bfc00e1 GIT binary patch literal 37194 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
C&Ez+^FR>l@=MF+~!1KS$ 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 +## Where you'll see this in the app + + + + + + + + + + + + + + + + +
1 + In FieldWorks Lite: Synchronize in the sidebar (the item with the + status dot), on the FieldWorks Lite tab. It shows{' '} + Up to date or Pending, + with counts of changes waiting in each direction. The{' '} + Auto syncing button runs a sync right + now. +
2 + The same dialog's Lexbox tab. Its two boxes — FieldWorks + Lite and FieldWorks Classic — are the same two copies you see + inside the Lexbox cloud in the diagram above. Between them:{' '} + New data or No new data, + and the Sync button. On the Lexbox + website, the Sync FieldWorks Lite button + on your project's page does the same thing. +
3 + Nothing in FieldWorks Lite. This one happens on your colleague's computer, in FieldWorks + Classic's Send/Receive. +
+
How it works under the hood diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md index b6879f2509..cf515ade6f 100644 --- a/docs/user-guide/index.md +++ b/docs/user-guide/index.md @@ -15,8 +15,7 @@ and the two are kept in step through Lexbox. Download it from [lexbox.org/fw-lite](https://lexbox.org/fw-lite). -There are versions for Windows, Mac, Linux, Android phones and tablets, and iPhone and -iPad. +There are versions for Windows and Linux computers and for Android phones and tablets. ## In this guide From a7582a869d85e5fb9f92a73d9272d3351ec0fc1c Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 29 Jul 2026 21:09:40 +0200 Subject: [PATCH 08/14] Remove stray screenshot committed by accident Co-Authored-By: Claude Fable 5 --- docs/undefined/app-map.png | Bin 37194 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/undefined/app-map.png diff --git a/docs/undefined/app-map.png b/docs/undefined/app-map.png deleted file mode 100644 index 7de0cf91ea713e7ce25a5acad51dfefd0bfc00e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37194 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
C&Ez+^FR>l@=MF+~!1KS$ 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 Date: Wed, 29 Jul 2026 21:19:15 +0200 Subject: [PATCH 09/14] Reserve ghost-pill space only while its scenario is active The always-reserved space read as a dead gap between the device box and leg 1, worst on mobile. Also tell pure-FieldWorks-Lite teams up front that legs 2 and 3 don't concern them. Co-Authored-By: Claude Fable 5 --- docs/src/components/SyncExplainer/index.tsx | 9 +++++++-- docs/src/components/SyncExplainer/styles.module.css | 8 ++++++-- docs/user-guide/how-sync-works.mdx | 3 ++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/src/components/SyncExplainer/index.tsx b/docs/src/components/SyncExplainer/index.tsx index d612c0ed0d..059133d769 100644 --- a/docs/src/components/SyncExplainer/index.tsx +++ b/docs/src/components/SyncExplainer/index.tsx @@ -166,10 +166,12 @@ interface StepQueries { const Topology = ({ step, + ghostReserved, queries: {isHl, isDim, isChecked}, setEl, }: { step: Step | null; + ghostReserved: boolean; queries: StepQueries; setEl: (id: MeasurableId) => (el: HTMLDivElement | null) => void; }): ReactNode => ( @@ -183,7 +185,9 @@ const Topology = ({ checked={isChecked('device')} elRef={setEl('device')} /> - {GHOST_LABEL} + + {GHOST_LABEL} +
{ }; const step: Step | null = scenario ? scenario.steps[stepIndex] : null; + const ghostReserved = scenario?.steps.some((s) => s.ghost) ?? false; const has = (list: readonly string[] | undefined, id: string): boolean => Boolean(list?.includes(id)); @@ -384,7 +389,7 @@ const SyncExplainer = (): ReactNode => { return (
- + {([ ['you', TOKEN_TAGS.you, tokens[0]], diff --git a/docs/src/components/SyncExplainer/styles.module.css b/docs/src/components/SyncExplainer/styles.module.css index d977c73e38..70872b0724 100644 --- a/docs/src/components/SyncExplainer/styles.module.css +++ b/docs/src/components/SyncExplainer/styles.module.css @@ -277,10 +277,11 @@ border: 1px dashed var(--sx-danger); } -/* ghost node: teammates on FW Lite. Space stays reserved so nothing jumps. */ +/* ghost node: teammates on FW Lite. Space is reserved only while a scenario + that uses it is active, so other views get no dead gap under the device box. */ .ghost { + display: none; visibility: hidden; - display: inline-flex; align-items: center; gap: 6px; font-size: 12px; @@ -290,6 +291,9 @@ padding: 3px 11px; font-weight: 600; } +.ghost.reserved { + display: inline-flex; +} .ghost.on { visibility: visible; } diff --git a/docs/user-guide/how-sync-works.mdx b/docs/user-guide/how-sync-works.mdx index 950fa33a18..7b221236b5 100644 --- a/docs/user-guide/how-sync-works.mdx +++ b/docs/user-guide/how-sync-works.mdx @@ -7,7 +7,8 @@ import SyncExplainer from '@site/src/components/SyncExplainer'; Your project lives in **Lexbox** in **two copies**: a **FieldWorks Lite copy** and a **FieldWorks Classic copy**. An edit reaches a colleague in up to three legs — some automatic, -some not. +some not. If everyone on your team uses FieldWorks Lite, only leg 1 concerns you — legs 2 +and 3 exist for teams that also work in FieldWorks Classic. From f60aa0f7047bf432ac097b19fc6e40734c66af73 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Jul 2026 14:42:53 +0000 Subject: [PATCH 10/14] Address review feedback on the sync docs and explainer - Ground "Lexbox" for FieldWorks Lite users in the user-guide index and a new FAQ, so the FWL guide stays self-contained and doesn't assume readers know or visit Lexbox. - Explain the sync snapshot as the JSON file recording the last merged state (the diff baseline, and the "have we synced before?" flag), instead of using the bare term "ProjectSnapshot". - Make the explainer diagram interactive: the three leg triggers are now tap/click toggletips (touch + keyboard + screen-reader friendly) that reveal where the Sync button lives and that its two names are the same action. - Color the diagram's leg numbers at rest to match the numbered table below, so a leg in the diagram ties to its row. - Put the caption and stepper directly under the diagram in one "player" card so the controls read as driving the picture; compact the phone layout and scroll the player into view on select so the diagram and Next are co-visible. - Turn the diagram vertical by container width (not viewport) so the wide horizontal layout never overflows the docs column into the sidebars. - Give the page real section headings so "On this page" lists the first section instead of starting mid-page. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01TZKRnigoAXxEWZVJFrto1k --- docs/src/components/SyncExplainer/index.tsx | 168 +++++++++++--- .../SyncExplainer/styles.module.css | 216 ++++++++++++++++-- .../components/SyncExplainer/syncScenarios.ts | 22 +- docs/technical/sync/fwheadless-merge.md | 22 +- docs/technical/sync/index.md | 3 +- docs/user-guide/faq.md | 8 + docs/user-guide/how-sync-works.mdx | 9 +- docs/user-guide/index.md | 9 +- 8 files changed, 384 insertions(+), 73 deletions(-) diff --git a/docs/src/components/SyncExplainer/index.tsx b/docs/src/components/SyncExplainer/index.tsx index 059133d769..35f5787894 100644 --- a/docs/src/components/SyncExplainer/index.tsx +++ b/docs/src/components/SyncExplainer/index.tsx @@ -12,6 +12,7 @@ import { SCENARIOS, STEPPER_LABELS, TOKEN_TAGS, + TRIGGER_INFO, type CheckableNodeId, type LegId, type NodeId, @@ -52,6 +53,9 @@ const withBold = (text: string): ReactNode[] => { const isTextInput = (el: HTMLElement | null): boolean => Boolean(el?.isContentEditable) || ['INPUT', 'TEXTAREA', 'SELECT'].includes(el?.tagName ?? ''); +const prefersReducedMotion = (): boolean => + typeof window !== 'undefined' && Boolean(window.matchMedia?.('(prefers-reduced-motion: reduce)').matches); + const NodeBox = ({ label, icon, @@ -81,6 +85,9 @@ const Connector = ({ num, kind, trigger, + info, + infoOpen, + onToggleInfo, hl, dim, off, @@ -90,6 +97,9 @@ const Connector = ({ num: number; kind: 'auto' | 'manual' | 'their'; trigger: string; + info?: {title: string; body: string}; + infoOpen?: boolean; + onToggleInfo?: () => void; hl: boolean; dim: boolean; off?: boolean; @@ -110,7 +120,30 @@ const Connector = ({
- {trigger} + {info ? ( + + + {/* Kept mounted so the live region announces on open, not on insert. */} + + {infoOpen && ( + <> + {info.title} {info.body} + + )} + + + ) : ( + {trigger} + )}
); @@ -169,11 +202,15 @@ const Topology = ({ ghostReserved, queries: {isHl, isDim, isChecked}, setEl, + openInfo, + onToggleInfo, }: { step: Step | null; ghostReserved: boolean; queries: StepQueries; setEl: (id: MeasurableId) => (el: HTMLDivElement | null) => void; + openInfo: LegId | null; + onToggleInfo: (id: LegId) => void; }): ReactNode => (
@@ -194,6 +231,9 @@ const Topology = ({ num={1} kind="auto" trigger={step?.offline ? LEG_TRIGGERS.offline : LEG_TRIGGERS.leg1} + info={TRIGGER_INFO.leg1} + infoOpen={openInfo === 'leg1'} + onToggleInfo={() => onToggleInfo('leg1')} hl={isHl('leg1')} dim={isDim('leg1')} off={step?.offline} @@ -222,6 +262,9 @@ const Topology = ({ kind="manual" inner trigger={LEG_TRIGGERS.leg2} + info={TRIGGER_INFO.leg2} + infoOpen={openInfo === 'leg2'} + onToggleInfo={() => onToggleInfo('leg2')} hl={isHl('leg2')} dim={isDim('leg2')} elRef={setEl('leg2')} @@ -240,6 +283,9 @@ const Topology = ({ num={3} kind="their" trigger={LEG_TRIGGERS.leg3} + info={TRIGGER_INFO.leg3} + infoOpen={openInfo === 'leg3'} + onToggleInfo={() => onToggleInfo('leg3')} hl={isHl('leg3')} dim={isDim('leg3')} elRef={setEl('leg3')} @@ -291,6 +337,7 @@ const Stepper = ({ disabled={lastStep} onClick={() => setStepIndex((i) => Math.min(i + 1, scenario.steps.length - 1))}> {STEPPER_LABELS.next} + {lastStep && (
- -
- {badge && {BADGE_LABELS[badge]}} -

- {scenario ? scenario.q : INITIAL.title} -

-

{step ? step.text : withBold(INITIAL.text)}

- {scenario && ( - - )} -
); }; diff --git a/docs/src/components/SyncExplainer/styles.module.css b/docs/src/components/SyncExplainer/styles.module.css index 70872b0724..4beb68c409 100644 --- a/docs/src/components/SyncExplainer/styles.module.css +++ b/docs/src/components/SyncExplainer/styles.module.css @@ -16,6 +16,10 @@ --sx-danger: #b3261e; --sx-shadow: 0 1px 2px rgba(38, 34, 28, 0.06), 0 4px 14px rgba(38, 34, 28, 0.05); color: var(--sx-ink); + /* Respond to our own width, not the viewport: the docs column narrows as + Docusaurus shows its sidebars, and the wide horizontal diagram must turn + vertical when the column can't hold it — regardless of screen size. */ + container-type: inline-size; } :global([data-theme='dark']) .root { @@ -32,15 +36,22 @@ --sx-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 14px rgba(0, 0, 0, 0.3); } -/* ---------- Diagram ---------- */ -.stage { - position: relative; +/* ---------- Player: the diagram and its caption/stepper are one card, so the + controls read as driving the picture above them. ---------- */ +.player { + margin-top: 26px; background: var(--sx-surface); border: 1px solid var(--sx-line); border-radius: 14px; box-shadow: var(--sx-shadow); - padding: 30px 22px 22px; - margin-top: 26px; + /* leave room for the sticky navbar when we scroll the player into view */ + scroll-margin-top: 70px; +} + +/* ---------- Diagram ---------- */ +.stage { + position: relative; + padding: 30px 22px 18px; } .topology { display: flex; @@ -165,16 +176,27 @@ gap: 5px; padding: 0 4px; } +/* Base leg color so the number circle carries it at rest, matching the numbered + circles in the "Where you'll see this in the app" table below the diagram. */ +.connector.auto { + color: var(--sx-auto); +} +.connector.manual { + color: var(--sx-accent); +} +.connector.their { + color: var(--sx-colleague); +} .connector .legnum { font-size: 12px; font-weight: 700; - color: var(--sx-ink-soft); - background: var(--sx-surface-2); - border: 1px solid var(--sx-line); + color: currentColor; + background: var(--sx-surface); + border: 1.5px solid currentColor; border-radius: 50%; width: 21px; height: 21px; - line-height: 19px; + line-height: 18px; text-align: center; } .connector .track { @@ -263,8 +285,8 @@ } .connector.hl .legnum { border-color: currentColor; - color: inherit; - background: var(--sx-surface); + background: currentColor; + color: var(--sx-surface); } .connector.off .track::before { @@ -277,6 +299,93 @@ border: 1px dashed var(--sx-danger); } +/* ---------- Trigger toggletips: tap a leg's pill to reveal where/when ---------- */ +.infoAnchor { + position: relative; + display: inline-flex; +} +.trigger.hasInfo { + font: inherit; + font-size: 11px; + font-weight: 600; + letter-spacing: 0.02em; + cursor: pointer; + display: inline-flex; + align-items: center; + gap: 5px; + min-height: 24px; + padding: 3px 10px; +} +.trigger.hasInfo:hover { + filter: brightness(0.97); +} +.trigger.hasInfo:focus-visible { + outline: 2.5px solid currentColor; + outline-offset: 2px; +} +.infoMark { + display: inline-flex; + align-items: center; + justify-content: center; + width: 14px; + height: 14px; + border-radius: 50%; + border: 1.2px solid currentColor; + font-size: 9px; + font-weight: 700; + font-style: italic; + line-height: 1; + opacity: 0.8; +} +.infoPop { + position: absolute; + top: calc(100% + 9px); + left: 50%; + transform: translateX(-50%); + z-index: 6; + width: max-content; + max-width: min(240px, 78vw); + text-align: left; + font-size: 12.5px; + font-weight: 400; + letter-spacing: normal; + line-height: 1.45; + color: var(--sx-ink); + white-space: normal; +} +.infoPop:not(.on) { + width: 0; + height: 0; + overflow: hidden; +} +.infoPop.on { + background: var(--sx-surface); + border: 1px solid var(--sx-line); + border-radius: 10px; + box-shadow: var(--sx-shadow); + padding: 9px 12px; +} +.infoPop.on::before, +.infoPop.on::after { + content: ''; + position: absolute; + bottom: 100%; + left: 50%; + border: 6px solid transparent; +} +.infoPop.on::before { + transform: translate(-50%, 1px); + border-bottom-color: var(--sx-line); +} +.infoPop.on::after { + transform: translateX(-50%); + border-bottom-color: var(--sx-surface); +} +.infoTitle { + font-weight: 700; + color: currentColor; +} + /* ghost node: teammates on FW Lite. Space is reserved only while a scenario that uses it is active, so other views get no dead gap under the device box. */ .ghost { @@ -353,9 +462,9 @@ /* ---------- Questions ---------- */ .questions { - margin-top: 24px; + margin-top: 22px; } -.questions h2 { +.qlabel { font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; @@ -397,17 +506,19 @@ /* ---------- Caption / stepper ---------- */ .caption { - margin-top: 18px; - background: var(--sx-surface); - border: 1px solid var(--sx-line); - border-radius: 14px; - box-shadow: var(--sx-shadow); + border-top: 1px solid var(--sx-line); padding: 18px 22px; - min-height: 150px; + min-height: 132px; display: flex; flex-direction: column; gap: 12px; } +/* Once a question is chosen the deck holds the answer + controls; tint it a + touch so it reads as the diagram's control panel, not loose text. */ +.caption.active { + background: var(--sx-surface-2); + border-radius: 0 0 14px 14px; +} .caption h3 { margin: 0; font-size: 16px; @@ -452,6 +563,8 @@ align-items: center; gap: 14px; margin-top: auto; + padding-top: 14px; + border-top: 1px solid var(--sx-line); flex-wrap: wrap; } .stepper .dots { @@ -527,8 +640,21 @@ background: var(--sx-colleague); } -/* ---------- Mobile: the topology turns vertical ---------- */ -@media (max-width: 720px) { +/* ---------- Narrow column: the topology turns vertical ---------- */ +@container (max-width: 880px) { + /* Compact so diagram + one-sentence caption + stepper fit ~one viewport, + keeping the Next button close to the picture it drives. */ + .stage { + padding: 20px 16px 14px; + } + .node { + min-width: 0; + padding: 9px 12px 8px; + } + .caption { + padding: 16px; + min-height: 0; + } .topology { flex-direction: column; } @@ -539,7 +665,7 @@ } .connector .track { width: 12px !important; - height: 46px; + height: 34px; } .connector .track::before { left: 5px; @@ -628,3 +754,49 @@ border-bottom-color: transparent; } } + +/* ---------- Phones: squeeze so diagram + caption + stepper share one screen, + keeping Next next to the picture it drives. ---------- */ +@container (max-width: 560px) { + .stage { + padding: 16px 14px 10px; + } + /* the badges in the caption already carry the color key */ + .legend { + display: none; + } + .cloud { + padding: 9px 10px 10px; + } + .cloudHead { + margin-bottom: 7px; + } + .connector { + padding: 3px 0; + } + .connector .track { + height: 22px; + } + .caption { + padding: 14px; + gap: 9px; + } + .caption h3 { + font-size: 15px; + } + .stepper { + gap: 10px; + padding-top: 12px; + } + .stepper .dots { + display: none; + } + /* keep the controls left, clear of the floating back-to-top button */ + .stepper .grow { + display: none; + } + .stepper button { + min-height: 36px; + padding: 6px 14px; + } +} diff --git a/docs/src/components/SyncExplainer/syncScenarios.ts b/docs/src/components/SyncExplainer/syncScenarios.ts index 2da493dbca..2c5a7b0440 100644 --- a/docs/src/components/SyncExplainer/syncScenarios.ts +++ b/docs/src/components/SyncExplainer/syncScenarios.ts @@ -322,7 +322,7 @@ export const INITIAL = { 'Leg **1**: your device ⇄ Lexbox — automatic whenever you’re online. ' + 'Leg **2**: between the two copies inside Lexbox — someone presses the **Sync** button. ' + 'Leg **3**: Lexbox ⇄ your colleague — they run **Send/Receive** in FieldWorks Classic. ' + - 'Pick a question above to watch it happen.', + 'Pick a question below to watch it happen.', }; export const BADGE_LABELS: Record = { @@ -354,6 +354,26 @@ export const LEG_TRIGGERS: Record & {offline: string} = { offline: 'offline', }; +/** + * Tap-to-reveal detail behind each leg's trigger pill (a toggletip in the + * diagram). Keeps the "where do I find it" fact next to the leg it belongs to, + * instead of only in the table below. One or two short sentences each. + */ +export const TRIGGER_INFO: Record = { + leg1: { + title: 'Automatic', + body: 'Runs by itself — after every edit, when you open the project, and when your connection comes back. Nothing to press.', + }, + leg2: { + title: 'The Sync button', + body: 'Two buttons, same job: in FieldWorks Lite it’s Synchronize → Lexbox tab → Sync; on the Lexbox website it’s “Sync FieldWorks Lite” on your project page.', + }, + leg3: { + title: 'Send/Receive', + body: 'Happens on your colleague’s computer, in FieldWorks Classic’s Send/Receive. There’s nothing to do on your side.', + }, +}; + export const TOKEN_TAGS = {you: 'your edit', them: 'their edit'}; export const LEGEND = [ diff --git a/docs/technical/sync/fwheadless-merge.md b/docs/technical/sync/fwheadless-merge.md index fa4a791227..b2223598c0 100644 --- a/docs/technical/sync/fwheadless-merge.md +++ b/docs/technical/sync/fwheadless-merge.md @@ -42,13 +42,13 @@ flowchart TD D --> G[Open FwData + CRDT copies] F --> G G --> H[Harmony sync with LexBox
pull Lite changes down] - H --> I{Snapshot exists?} + H --> I{Snapshot file exists?} I -- no --> J[Import: whole FwData project into CRDT] I -- yes --> K[Merge: two directional diffs] K --> L{FwData changed?} L -- yes --> M[Send/Receive
retry once on HTTP 500] L -- no --> N - J --> N[Regenerate ProjectSnapshot from the CRDT] + J --> N[Save fresh snapshot
from the CRDT] M --> N N --> O[Harmony sync with LexBox
push FieldWorks-origin changes] @@ -56,13 +56,21 @@ flowchart TD style N fill:#ff9,stroke:#333 ``` -The snapshot is regenerated **after** the post-merge Send/Receive succeeds and **from the CRDT api**, not from -FwData — see the long comment in `SyncWorker.ExecuteSync` for why both details matter. +**The snapshot** is a JSON file (`{project}_snapshot.json`) kept next to the project's data. It records the whole +dictionary state — entries, senses, parts of speech and the rest — as of the last successful merge. Two things +depend on it: + +- It's the baseline the merge diffs against (see [Merge semantics](#merge-semantics) below). Without a "what it + was last time", there's no way to tell what each side changed. +- Its mere presence is how FwHeadless knows a project has synced before. No snapshot means the first-ever sync, + which *imports* the whole FwData project into a new CRDT instead of merging. + +It's rewritten only **after** the post-merge Send/Receive succeeds, and **from the CRDT api**, not from FwData — +see the long comment in `SyncWorker.ExecuteSync` for why both details matter. ## Merge semantics -`CrdtFwdataProjectSyncService.Sync` computes two directional diffs per entity type against the last -`ProjectSnapshot` (the state as of the previous successful merge): +`CrdtFwdataProjectSyncService.Sync` computes two directional diffs per entity type against the snapshot: 1. snapshot → current FwData, applied to the CRDT 2. current FwData → current CRDT, applied to FwData @@ -101,5 +109,5 @@ immediately (before *and* after the merge) and returns `SyncBlocked`. A blocked trigger endpoint with HTTP 423 and re-checked inside the worker in case it was blocked while queued. Unblocking is a deliberate admin action via `/api/fw-lite/sync/unblock`. -Other landmines worth knowing: a stale `ProjectSnapshot` makes every subsequent diff wrong; stuck `.hg/wlock` +Other landmines worth knowing: a stale snapshot makes every subsequent diff wrong; stuck `.hg/wlock` files hang Send/Receive; and an `FdoDataModelVersion` mismatch with FieldWorks risks corrupt data. diff --git a/docs/technical/sync/index.md b/docs/technical/sync/index.md index 22810ca687..3f887b35c4 100644 --- a/docs/technical/sync/index.md +++ b/docs/technical/sync/index.md @@ -90,6 +90,7 @@ path is only as live as its slowest manual step. ## Which copy wins FwHeadless keeps its own CRDT database *and* its own FwData working copy per project. The merge diffs both -against the last `ProjectSnapshot` and applies **FwData → CRDT first**, so a field edited on both sides since the +against the snapshot (a JSON file recording the state as of the last successful merge) and applies +**FwData → CRDT first**, so a field edited on both sides since the last merge ends up with the FieldWorks Classic value. Within hop 1 (Lite clients only) there is no such asymmetry — Harmony merges per change. See [The FwHeadless merge](./fwheadless-merge.md). diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md index 394ec25173..a40fe3d47b 100644 --- a/docs/user-guide/faq.md +++ b/docs/user-guide/faq.md @@ -6,6 +6,14 @@ sidebar_position: 3 Common questions about FieldWorks Lite. Questions about syncing are answered on [How sync works](/user-guide/how-sync-works). +## What is Lexbox? + +Lexbox is the online service that stores your team's projects and keeps everyone's copies +in step. FieldWorks Lite signs in to it and syncs with it for you, so you don't need to +open the Lexbox website to do your dictionary work — that all happens in the app. The +website is there if you want it (for example, to manage who is on a project), but everyday +work lives entirely in FieldWorks Lite. + ## Do I need a Lexbox account? Not to try the app. You can install FieldWorks Lite and choose **Create Example Project** diff --git a/docs/user-guide/how-sync-works.mdx b/docs/user-guide/how-sync-works.mdx index 7b221236b5..0823b4975b 100644 --- a/docs/user-guide/how-sync-works.mdx +++ b/docs/user-guide/how-sync-works.mdx @@ -10,6 +10,11 @@ Your project lives in **Lexbox** in **two copies**: a **FieldWorks Lite copy** a some not. If everyone on your team uses FieldWorks Lite, only leg 1 concerns you — legs 2 and 3 exist for teams that also work in FieldWorks Classic. +## See it in action + +Pick a question and step through what happens. Tap any colored trigger (**automatic**, +**the Sync button**, **their Send/Receive**) to see where you'll find it. + ## Where you'll see this in the app @@ -49,8 +54,10 @@ and 3 exist for teams that also work in FieldWorks Classic. +## Under the hood +
-How it works under the hood +Show the technical detail diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md index cf515ade6f..e981cf95b6 100644 --- a/docs/user-guide/index.md +++ b/docs/user-guide/index.md @@ -5,11 +5,14 @@ sidebar_position: 0 FieldWorks Lite is a fast, simple app for building a dictionary. You can use it on a phone, a tablet or a computer. It works offline, and it keeps your work in step with the -rest of your team through Lexbox. +rest of your team through **Lexbox** — the online service that stores your team's projects. FieldWorks Lite is a companion to FieldWorks Classic, not a replacement. It edits the -dictionary part of your project. The rest of your project stays in FieldWorks Classic, -and the two are kept in step through Lexbox. +dictionary part of your project. The rest of your project stays in FieldWorks Classic, and +Lexbox keeps the two in step. + +You sign in to FieldWorks Lite with a Lexbox account, but you don't need to open the Lexbox +website to use FieldWorks Lite from day to day — syncing happens inside the app. ## Get FieldWorks Lite From 4d394f0f2150e4ca5747cd8c9a125637a0c7b8b2 Mon Sep 17 00:00:00 2001 From: upload-screenshot Date: Thu, 30 Jul 2026 21:07:05 +0000 Subject: [PATCH 11/14] screenshot: claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png --- .../b281e81ab3b866cb.png | Bin 0 -> 115330 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png diff --git a/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png b/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png new file mode 100644 index 0000000000000000000000000000000000000000..840ebe1716eaa9503f4963b2913ef95439846418 GIT binary patch literal 115330 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 Date: Thu, 30 Jul 2026 21:07:05 +0000 Subject: [PATCH 12/14] remove screenshot: claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png --- .../b281e81ab3b866cb.png | Bin 115330 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png diff --git a/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png b/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/b281e81ab3b866cb.png deleted file mode 100644 index 840ebe1716eaa9503f4963b2913ef95439846418..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115330 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 Date: Thu, 30 Jul 2026 21:07:56 +0000 Subject: [PATCH 13/14] screenshot: claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png --- .../7360fb7e0652828a.png | Bin 0 -> 63544 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png diff --git a/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png b/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png new file mode 100644 index 0000000000000000000000000000000000000000..126967f1c859f3e55da2b5f652f8b5af64a5f20f GIT binary patch literal 63544 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 literal 0 HcmV?d00001 From f2c8075eb68540d517820af4a2fc6940a9be2c82 Mon Sep 17 00:00:00 2001 From: upload-screenshot Date: Thu, 30 Jul 2026 21:07:56 +0000 Subject: [PATCH 14/14] remove screenshot: claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png --- .../7360fb7e0652828a.png | Bin 63544 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png diff --git a/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png b/claude/fw-lite-lexbox-docs-0e3415-hwa2rw/7360fb7e0652828a.png deleted file mode 100644 index 126967f1c859f3e55da2b5f652f8b5af64a5f20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63544 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