From 7b15a4ad54ffda8eb12993f7f62eadc5a31b94a5 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:45:19 +0200 Subject: [PATCH 01/16] Nuke site for full rebuild Remove the entire Astro/Starlight site (landing, docs, config, styles, deploy workflow) to start fresh from an empty repository. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/deploy.yml | 45 - .gitignore | 3 - astro.config.mjs | 78 - package-lock.json | 6920 ----------------- package.json | 19 - pnpm-lock.yaml | 4408 ----------- public/favicon.svg | 4 - public/install.sh | 82 - src/content.config.ts | 10 - .../docs/docs/concepts/observations.md | 28 - src/content/docs/docs/concepts/regressions.md | 25 - .../docs/docs/developing/architecture.md | 55 - src/content/docs/docs/forager/benchmarks.md | 106 - src/content/docs/docs/forager/exec.md | 29 - src/content/docs/docs/forager/llvm-lines.md | 45 - src/content/docs/docs/introduction.md | 17 - src/content/docs/docs/quickstart.md | 97 - .../docs/docs/self-hosting/docker-compose.md | 6 - .../docs/docs/self-hosting/overview.md | 37 - src/home/index.mdx | 65 - src/layouts/Base.astro | 227 - src/pages/index.astro | 122 - src/pages/pricing.astro | 610 -- src/styles/global.css | 252 - src/styles/home.css | 266 - src/styles/starlight.css | 83 - tsconfig.json | 3 - 27 files changed, 13642 deletions(-) delete mode 100644 .github/workflows/deploy.yml delete mode 100644 .gitignore delete mode 100644 astro.config.mjs delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 pnpm-lock.yaml delete mode 100644 public/favicon.svg delete mode 100644 public/install.sh delete mode 100644 src/content.config.ts delete mode 100644 src/content/docs/docs/concepts/observations.md delete mode 100644 src/content/docs/docs/concepts/regressions.md delete mode 100644 src/content/docs/docs/developing/architecture.md delete mode 100644 src/content/docs/docs/forager/benchmarks.md delete mode 100644 src/content/docs/docs/forager/exec.md delete mode 100644 src/content/docs/docs/forager/llvm-lines.md delete mode 100644 src/content/docs/docs/introduction.md delete mode 100644 src/content/docs/docs/quickstart.md delete mode 100644 src/content/docs/docs/self-hosting/docker-compose.md delete mode 100644 src/content/docs/docs/self-hosting/overview.md delete mode 100644 src/home/index.mdx delete mode 100644 src/layouts/Base.astro delete mode 100644 src/pages/index.astro delete mode 100644 src/pages/pricing.astro delete mode 100644 src/styles/global.css delete mode 100644 src/styles/home.css delete mode 100644 src/styles/starlight.css delete mode 100644 tsconfig.json diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 7d1881c..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Deploy to GitHub Pages - -on: - push: - branches: [main] - pull_request: - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: pages - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-node@v4 - with: - node-version: 22 - cache: npm - - - run: npm ci - - run: npm run build - - - uses: actions/upload-pages-artifact@v3 - with: - path: dist - - deploy: - needs: build - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - id: deployment - uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 262e83b..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -dist/ -.astro/ \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs deleted file mode 100644 index fce42ac..0000000 --- a/astro.config.mjs +++ /dev/null @@ -1,78 +0,0 @@ -import { defineConfig } from "astro/config"; -import starlight from "@astrojs/starlight"; -import mdx from "@astrojs/mdx"; - -export default defineConfig({ - site: process.env.SITE_URL ?? "https://wezel.build", - base: process.env.SITE_BASE ?? "/", - - // /docs has no landing page of its own — send it to the introduction. - redirects: { - "/docs": "/docs/introduction", - }, - - // Code blocks in the hand-authored landing body (src/home/index.mdx). - // Starlight manages its own theming for docs separately. - markdown: { - shikiConfig: { theme: "vitesse-dark", wrap: false }, - }, - - integrations: [ - starlight({ - title: "Wezel Docs", - description: - "Build observability for teams that care about developer experience.", - - social: [ - { - icon: "github", - label: "GitHub", - href: "https://github.com/wezel-build/wezel", - }, - ], - sidebar: [ - { - label: "Getting Started", - items: [ - { label: "Introduction", link: "/docs/introduction" }, - { label: "Quick Start", link: "/docs/quickstart" }, - ], - }, - { label: "Concepts", autogenerate: { directory: "docs/concepts" } }, - { - label: "Self-Hosting", - autogenerate: { directory: "docs/self-hosting" }, - }, - { - label: "Forager", - autogenerate: { directory: "docs/forager" }, - }, - { - label: "Developing Wezel", - autogenerate: { directory: "docs/developing" }, - }, - ], - customCss: ["./src/styles/starlight.css"], - head: [ - // Light-only: pin the theme so expressive-code and everything else - // render light, regardless of OS preference or any stored value. - { - tag: 'script', - content: - "try{localStorage.setItem('starlight-theme','light')}catch(e){}document.documentElement.dataset.theme='light';", - }, - { - tag: 'script', - attrs: { - src: 'https://cloud.umami.is/script.js', - 'data-website-id': '83b509e2-8cc4-430d-a0aa-876262ff4082', - defer: true, - }, - }, - ], - }), - // mdx() must come after starlight() — Starlight registers - // expressive-code, which has to be set up before MDX. - mdx(), - ], -}); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 21a3be5..0000000 --- a/package-lock.json +++ /dev/null @@ -1,6920 +0,0 @@ -{ - "name": "wezel-www", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "wezel-www", - "version": "0.0.1", - "dependencies": { - "@astrojs/mdx": "^4.3.14", - "@astrojs/starlight": "^0.37.6", - "@fontsource/ibm-plex-sans": "^5.2.8", - "@fontsource/iosevka": "^5.2.5", - "@fontsource/iosevka-aile": "^5.2.5", - "astro": "^5.10.0", - "ci-info": "^4.4.0" - } - }, - "node_modules/@astrojs/compiler": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", - "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", - "license": "MIT" - }, - "node_modules/@astrojs/internal-helpers": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.5.tgz", - "integrity": "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==", - "license": "MIT" - }, - "node_modules/@astrojs/markdown-remark": { - "version": "6.3.10", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.10.tgz", - "integrity": "sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==", - "license": "MIT", - "dependencies": { - "@astrojs/internal-helpers": "0.7.5", - "@astrojs/prism": "3.3.0", - "github-slugger": "^2.0.0", - "hast-util-from-html": "^2.0.3", - "hast-util-to-text": "^4.0.2", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", - "mdast-util-definitions": "^6.0.0", - "rehype-raw": "^7.0.0", - "rehype-stringify": "^10.0.1", - "remark-gfm": "^4.0.1", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.2", - "remark-smartypants": "^3.0.2", - "shiki": "^3.19.0", - "smol-toml": "^1.5.2", - "unified": "^11.0.5", - "unist-util-remove-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.2", - "vfile": "^6.0.3" - } - }, - "node_modules/@astrojs/mdx": { - "version": "4.3.14", - "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.14.tgz", - "integrity": "sha512-FBrqJQORVm+rkRa2TS5CjU9PBA6hkhrwLVBSS9A77gN2+iehvjq1w6yya/d0YKC7osiVorKkr3Qd9wNbl0ZkGA==", - "license": "MIT", - "dependencies": { - "@astrojs/markdown-remark": "6.3.11", - "@mdx-js/mdx": "^3.1.1", - "acorn": "^8.15.0", - "es-module-lexer": "^1.7.0", - "estree-util-visit": "^2.0.0", - "hast-util-to-html": "^9.0.5", - "piccolore": "^0.1.3", - "rehype-raw": "^7.0.0", - "remark-gfm": "^4.0.1", - "remark-smartypants": "^3.0.2", - "source-map": "^0.7.6", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.3" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - }, - "peerDependencies": { - "astro": "^5.0.0" - } - }, - "node_modules/@astrojs/mdx/node_modules/@astrojs/internal-helpers": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", - "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", - "license": "MIT" - }, - "node_modules/@astrojs/mdx/node_modules/@astrojs/markdown-remark": { - "version": "6.3.11", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", - "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", - "license": "MIT", - "dependencies": { - "@astrojs/internal-helpers": "0.7.6", - "@astrojs/prism": "3.3.0", - "github-slugger": "^2.0.0", - "hast-util-from-html": "^2.0.3", - "hast-util-to-text": "^4.0.2", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", - "mdast-util-definitions": "^6.0.0", - "rehype-raw": "^7.0.0", - "rehype-stringify": "^10.0.1", - "remark-gfm": "^4.0.1", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.2", - "remark-smartypants": "^3.0.2", - "shiki": "^3.21.0", - "smol-toml": "^1.6.0", - "unified": "^11.0.5", - "unist-util-remove-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.2", - "vfile": "^6.0.3" - } - }, - "node_modules/@astrojs/prism": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", - "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", - "license": "MIT", - "dependencies": { - "prismjs": "^1.30.0" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - } - }, - "node_modules/@astrojs/sitemap": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.0.tgz", - "integrity": "sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA==", - "license": "MIT", - "dependencies": { - "sitemap": "^8.0.2", - "stream-replace-string": "^2.0.0", - "zod": "^3.25.76" - } - }, - "node_modules/@astrojs/starlight": { - "version": "0.37.6", - "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.37.6.tgz", - "integrity": "sha512-wQrKwH431q+8FsLBnNQeG+R36TMtEGxTQ2AuiVpcx9APcazvL3n7wVW8mMmYyxX0POjTnxlcWPkdMGR3Yj1L+w==", - "license": "MIT", - "dependencies": { - "@astrojs/markdown-remark": "^6.3.1", - "@astrojs/mdx": "^4.2.3", - "@astrojs/sitemap": "^3.3.0", - "@pagefind/default-ui": "^1.3.0", - "@types/hast": "^3.0.4", - "@types/js-yaml": "^4.0.9", - "@types/mdast": "^4.0.4", - "astro-expressive-code": "^0.41.1", - "bcp-47": "^2.1.0", - "hast-util-from-html": "^2.0.1", - "hast-util-select": "^6.0.2", - "hast-util-to-string": "^3.0.0", - "hastscript": "^9.0.0", - "i18next": "^23.11.5", - "js-yaml": "^4.1.0", - "klona": "^2.0.6", - "magic-string": "^0.30.17", - "mdast-util-directive": "^3.0.0", - "mdast-util-to-markdown": "^2.1.0", - "mdast-util-to-string": "^4.0.0", - "pagefind": "^1.3.0", - "rehype": "^13.0.1", - "rehype-format": "^5.0.0", - "remark-directive": "^3.0.0", - "ultrahtml": "^1.6.0", - "unified": "^11.0.5", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.2" - }, - "peerDependencies": { - "astro": "^5.5.0" - } - }, - "node_modules/@astrojs/telemetry": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", - "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^4.2.0", - "debug": "^4.4.0", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "is-docker": "^3.0.0", - "is-wsl": "^3.1.0", - "which-pm-runs": "^1.1.0" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@capsizecss/unpack": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", - "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", - "license": "MIT", - "dependencies": { - "fontkitten": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", - "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@expressive-code/core": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.41.7.tgz", - "integrity": "sha512-ck92uZYZ9Wba2zxkiZLsZGi9N54pMSAVdrI9uW3Oo9AtLglD5RmrdTwbYPCT2S/jC36JGB2i+pnQtBm/Ib2+dg==", - "license": "MIT", - "dependencies": { - "@ctrl/tinycolor": "^4.0.4", - "hast-util-select": "^6.0.2", - "hast-util-to-html": "^9.0.1", - "hast-util-to-text": "^4.0.1", - "hastscript": "^9.0.0", - "postcss": "^8.4.38", - "postcss-nested": "^6.0.1", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.1" - } - }, - "node_modules/@expressive-code/plugin-frames": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.41.7.tgz", - "integrity": "sha512-diKtxjQw/979cTglRFaMCY/sR6hWF0kSMg8jsKLXaZBSfGS0I/Hoe7Qds3vVEgeoW+GHHQzMcwvgx/MOIXhrTA==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.41.7" - } - }, - "node_modules/@expressive-code/plugin-shiki": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.41.7.tgz", - "integrity": "sha512-DL605bLrUOgqTdZ0Ot5MlTaWzppRkzzqzeGEu7ODnHF39IkEBbFdsC7pbl3LbUQ1DFtnfx6rD54k/cdofbW6KQ==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.41.7", - "shiki": "^3.2.2" - } - }, - "node_modules/@expressive-code/plugin-text-markers": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.41.7.tgz", - "integrity": "sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.41.7" - } - }, - "node_modules/@fontsource/ibm-plex-sans": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/@fontsource/ibm-plex-sans/-/ibm-plex-sans-5.2.8.tgz", - "integrity": "sha512-eztSXjDhPhcpxNIiGTgMebdLP9qS4rWkysuE1V7c+DjOR0qiezaiDaTwQE7bTnG5HxAY/8M43XKDvs3cYq6ZYQ==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@fontsource/iosevka": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@fontsource/iosevka/-/iosevka-5.2.5.tgz", - "integrity": "sha512-Zv/UHJodDug1LcnWv2u2+GPp3oWP3U6Xp16cJOsqqZQNsCu8sA/ttT331N0NypxBZ+7c8szlSRlYDcy9liZ8pw==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@fontsource/iosevka-aile": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@fontsource/iosevka-aile/-/iosevka-aile-5.2.5.tgz", - "integrity": "sha512-K9EwsSxfWPWjvrYM+NkgHaImpHgaVgC67l6uWf6W+4taeca6LKMJn/U11mQiRwLlecoI0PP2Q9o/8iIPaLOSgg==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@img/colour": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", - "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "cpu": [ - "riscv64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.7.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", - "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "acorn": "^8.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-scope": "^1.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "recma-build-jsx": "^1.0.0", - "recma-jsx": "^1.0.0", - "recma-stringify": "^1.0.0", - "rehype-recma": "^1.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@oslojs/encoding": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", - "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", - "license": "MIT" - }, - "node_modules/@pagefind/darwin-arm64": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.4.0.tgz", - "integrity": "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@pagefind/darwin-x64": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.4.0.tgz", - "integrity": "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@pagefind/default-ui": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.4.0.tgz", - "integrity": "sha512-wie82VWn3cnGEdIjh4YwNESyS1G6vRHwL6cNjy9CFgNnWW/PGRjsLq300xjVH5sfPFK3iK36UxvIBymtQIEiSQ==", - "license": "MIT" - }, - "node_modules/@pagefind/freebsd-x64": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.4.0.tgz", - "integrity": "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@pagefind/linux-arm64": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.4.0.tgz", - "integrity": "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pagefind/linux-x64": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.4.0.tgz", - "integrity": "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pagefind/windows-x64": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.4.0.tgz", - "integrity": "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@shikijs/core": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", - "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.5" - } - }, - "node_modules/@shikijs/engine-javascript": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", - "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.4" - } - }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", - "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2" - } - }, - "node_modules/@shikijs/langs": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", - "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0" - } - }, - "node_modules/@shikijs/themes": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", - "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0" - } - }, - "node_modules/@shikijs/types": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", - "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "license": "MIT" - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/js-yaml": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/nlcst": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", - "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/node": { - "version": "25.3.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz", - "integrity": "sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-iterate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", - "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/astro": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.0.tgz", - "integrity": "sha512-CHiohwJIS4L0G6/IzE1Fx3dgWqXBCXus/od0eGUfxrZJD2um2pE7ehclMmgL/fXqbU7NfE1Ze2pq34h2QaA6iQ==", - "license": "MIT", - "dependencies": { - "@astrojs/compiler": "^2.13.0", - "@astrojs/internal-helpers": "0.7.5", - "@astrojs/markdown-remark": "6.3.10", - "@astrojs/telemetry": "3.3.0", - "@capsizecss/unpack": "^4.0.0", - "@oslojs/encoding": "^1.1.0", - "@rollup/pluginutils": "^5.3.0", - "acorn": "^8.15.0", - "aria-query": "^5.3.2", - "axobject-query": "^4.1.0", - "boxen": "8.0.1", - "ci-info": "^4.3.1", - "clsx": "^2.1.1", - "common-ancestor-path": "^1.0.1", - "cookie": "^1.1.1", - "cssesc": "^3.0.0", - "debug": "^4.4.3", - "deterministic-object-hash": "^2.0.2", - "devalue": "^5.6.2", - "diff": "^8.0.3", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "es-module-lexer": "^1.7.0", - "esbuild": "^0.27.3", - "estree-walker": "^3.0.3", - "flattie": "^1.1.1", - "fontace": "~0.4.0", - "github-slugger": "^2.0.0", - "html-escaper": "3.0.3", - "http-cache-semantics": "^4.2.0", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", - "magic-string": "^0.30.21", - "magicast": "^0.5.1", - "mrmime": "^2.0.1", - "neotraverse": "^0.6.18", - "p-limit": "^6.2.0", - "p-queue": "^8.1.1", - "package-manager-detector": "^1.6.0", - "piccolore": "^0.1.3", - "picomatch": "^4.0.3", - "prompts": "^2.4.2", - "rehype": "^13.0.2", - "semver": "^7.7.3", - "shiki": "^3.21.0", - "smol-toml": "^1.6.0", - "svgo": "^4.0.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tsconfck": "^3.1.6", - "ultrahtml": "^1.6.0", - "unifont": "~0.7.3", - "unist-util-visit": "^5.0.0", - "unstorage": "^1.17.4", - "vfile": "^6.0.3", - "vite": "^6.4.1", - "vitefu": "^1.1.1", - "xxhash-wasm": "^1.1.0", - "yargs-parser": "^21.1.1", - "yocto-spinner": "^0.2.3", - "zod": "^3.25.76", - "zod-to-json-schema": "^3.25.1", - "zod-to-ts": "^1.2.0" - }, - "bin": { - "astro": "astro.js" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/astrodotbuild" - }, - "optionalDependencies": { - "sharp": "^0.34.0" - } - }, - "node_modules/astro-expressive-code": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.41.7.tgz", - "integrity": "sha512-hUpogGc6DdAd+I7pPXsctyYPRBJDK7Q7d06s4cyP0Vz3OcbziP3FNzN0jZci1BpCvLn9675DvS7B9ctKKX64JQ==", - "license": "MIT", - "dependencies": { - "rehype-expressive-code": "^0.41.7" - }, - "peerDependencies": { - "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", - "license": "MIT" - }, - "node_modules/bcp-47": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", - "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/bcp-47-match": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", - "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "license": "MIT", - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ci-info": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", - "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", - "license": "ISC" - }, - "node_modules/cookie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", - "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/cookie-es": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", - "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", - "license": "MIT" - }, - "node_modules/crossws": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", - "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", - "license": "MIT", - "dependencies": { - "uncrypto": "^0.1.3" - } - }, - "node_modules/css-select": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-selector-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", - "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", - "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "license": "MIT" - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", - "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/deterministic-object-hash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", - "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", - "license": "MIT", - "dependencies": { - "base-64": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/devalue": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.3.tgz", - "integrity": "sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==", - "license": "MIT" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/diff": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/direction": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", - "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", - "license": "MIT", - "bin": { - "direction": "cli.js" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dset": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "license": "MIT" - }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "license": "MIT" - }, - "node_modules/esast-util-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", - "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esast-util-from-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", - "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "acorn": "^8.0.0", - "esast-util-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-scope": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", - "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", - "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", - "license": "MIT" - }, - "node_modules/expressive-code": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.41.7.tgz", - "integrity": "sha512-2wZjC8OQ3TaVEMcBtYY4Va3lo6J+Ai9jf3d4dbhURMJcU4Pbqe6EcHe424MIZI0VHUA1bR6xdpoHYi3yxokWqA==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.41.7", - "@expressive-code/plugin-frames": "^0.41.7", - "@expressive-code/plugin-shiki": "^0.41.7", - "@expressive-code/plugin-text-markers": "^0.41.7" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/flattie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", - "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/fontace": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", - "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", - "license": "MIT", - "dependencies": { - "fontkitten": "^1.0.2" - } - }, - "node_modules/fontkitten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.2.tgz", - "integrity": "sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==", - "license": "MIT", - "dependencies": { - "tiny-inflate": "^1.0.3" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", - "license": "ISC" - }, - "node_modules/h3": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", - "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", - "license": "MIT", - "dependencies": { - "cookie-es": "^1.2.2", - "crossws": "^0.3.5", - "defu": "^6.1.4", - "destr": "^2.0.5", - "iron-webcrypto": "^1.2.1", - "node-mock-http": "^1.0.4", - "radix3": "^1.1.2", - "ufo": "^1.6.3", - "uncrypto": "^0.1.3" - } - }, - "node_modules/hast-util-embedded": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", - "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-format": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", - "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-minify-whitespace": "^1.0.0", - "hast-util-phrasing": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "html-whitespace-sensitive-tag-names": "^3.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", - "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", - "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^7.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-has-property": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", - "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-body-ok-link": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", - "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-minify-whitespace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", - "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-is-body-ok-link": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-select": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", - "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "bcp-47-match": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "css-selector-parser": "^3.0.0", - "devlop": "^1.0.0", - "direction": "^2.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-to-string": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "nth-check": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", - "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.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.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", - "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-string": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", - "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/html-escaper": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", - "license": "MIT" - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-whitespace-sensitive-tag-names": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", - "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" - }, - "node_modules/i18next": { - "version": "23.16.8", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", - "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2" - } - }, - "node_modules/import-meta-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", - "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/inline-style-parser": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", - "license": "MIT" - }, - "node_modules/iron-webcrypto": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", - "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/brc-dd" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/magicast": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", - "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "source-map-js": "^1.2.1" - } - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-definitions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", - "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-directive": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", - "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", - "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", - "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.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.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", - "license": "CC0-1.0" - }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-directive": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", - "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", - "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", - "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", - "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", - "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", - "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/neotraverse": { - "version": "0.6.18", - "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", - "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/nlcst-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", - "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/node-fetch-native": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", - "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", - "license": "MIT" - }, - "node_modules/node-mock-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", - "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/ofetch": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", - "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", - "license": "MIT", - "dependencies": { - "destr": "^2.0.5", - "node-fetch-native": "^1.6.7", - "ufo": "^1.6.1" - } - }, - "node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/oniguruma-parser": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", - "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", - "license": "MIT" - }, - "node_modules/oniguruma-to-es": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", - "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", - "license": "MIT", - "dependencies": { - "oniguruma-parser": "^0.12.1", - "regex": "^6.0.1", - "regex-recursion": "^6.0.2" - } - }, - "node_modules/p-limit": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", - "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-queue": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", - "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^5.0.1", - "p-timeout": "^6.1.2" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-manager-detector": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", - "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", - "license": "MIT" - }, - "node_modules/pagefind": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.4.0.tgz", - "integrity": "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==", - "license": "MIT", - "bin": { - "pagefind": "lib/runner/bin.cjs" - }, - "optionalDependencies": { - "@pagefind/darwin-arm64": "1.4.0", - "@pagefind/darwin-x64": "1.4.0", - "@pagefind/freebsd-x64": "1.4.0", - "@pagefind/linux-arm64": "1.4.0", - "@pagefind/linux-x64": "1.4.0", - "@pagefind/windows-x64": "1.4.0" - } - }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/parse-latin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", - "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "@types/unist": "^3.0.0", - "nlcst-to-string": "^4.0.0", - "unist-util-modify-children": "^4.0.0", - "unist-util-visit-children": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/piccolore": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", - "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", - "license": "ISC" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/radix3": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", - "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/recma-build-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", - "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-jsx": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", - "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", - "license": "MIT", - "dependencies": { - "acorn-jsx": "^5.0.0", - "estree-util-to-js": "^2.0.0", - "recma-parse": "^1.0.0", - "recma-stringify": "^1.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/recma-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", - "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "esast-util-from-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-stringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", - "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-to-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", - "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-recursion": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", - "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "license": "MIT" - }, - "node_modules/rehype": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", - "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "rehype-parse": "^9.0.0", - "rehype-stringify": "^10.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-expressive-code": { - "version": "0.41.7", - "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.41.7.tgz", - "integrity": "sha512-25f8ZMSF1d9CMscX7Cft0TSQIqdwjce2gDOvQ+d/w0FovsMwrSt3ODP4P3Z7wO1jsIJ4eYyaDRnIR/27bd/EMQ==", - "license": "MIT", - "dependencies": { - "expressive-code": "^0.41.7" - } - }, - "node_modules/rehype-format": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", - "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-format": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", - "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-html": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-recma": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", - "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "hast-util-to-estree": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-stringify": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", - "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-html": "^9.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-directive": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz", - "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", - "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", - "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-smartypants": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", - "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", - "license": "MIT", - "dependencies": { - "retext": "^9.0.0", - "retext-smartypants": "^6.0.0", - "unified": "^11.0.4", - "unist-util-visit": "^5.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", - "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "retext-latin": "^4.0.0", - "retext-stringify": "^4.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", - "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "parse-latin": "^7.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", - "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "nlcst-to-string": "^4.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", - "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "nlcst-to-string": "^4.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/sax": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", - "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=11.0.0" - } - }, - "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } - }, - "node_modules/shiki": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", - "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", - "license": "MIT", - "dependencies": { - "@shikijs/core": "3.23.0", - "@shikijs/engine-javascript": "3.23.0", - "@shikijs/engine-oniguruma": "3.23.0", - "@shikijs/langs": "3.23.0", - "@shikijs/themes": "3.23.0", - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.3.tgz", - "integrity": "sha512-9Ew1tR2WYw8RGE2XLy7GjkusvYXy8Rg6y8TYuBuQMfIEdGcWoJpY2Wr5DzsEiL/TKCw56+YKTCCUHglorEYK+A==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.4.1" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/smol-toml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", - "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 18" - }, - "funding": { - "url": "https://github.com/sponsors/cyyynthia" - } - }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stream-replace-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", - "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", - "license": "MIT" - }, - "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/style-to-js": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", - "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", - "license": "MIT", - "dependencies": { - "style-to-object": "1.0.14" - } - }, - "node_modules/style-to-object": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", - "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.7" - } - }, - "node_modules/svgo": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", - "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", - "license": "MIT", - "dependencies": { - "commander": "^11.1.0", - "css-select": "^5.1.0", - "css-tree": "^3.0.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.1.1", - "sax": "^1.4.1" - }, - "bin": { - "svgo": "bin/svgo.js" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "optional": true - }, - "node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ufo": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", - "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", - "license": "MIT" - }, - "node_modules/ultrahtml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", - "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", - "license": "MIT" - }, - "node_modules/uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "license": "MIT" - }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unifont": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", - "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", - "license": "MIT", - "dependencies": { - "css-tree": "^3.1.0", - "ofetch": "^1.5.1", - "ohash": "^2.0.11" - } - }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-modify-children": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", - "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "array-iterate": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", - "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-children": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", - "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unstorage": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", - "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", - "license": "MIT", - "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^5.0.0", - "destr": "^2.0.5", - "h3": "^1.15.5", - "lru-cache": "^11.2.0", - "node-fetch-native": "^1.6.7", - "ofetch": "^1.5.1", - "ufo": "^1.6.3" - }, - "peerDependencies": { - "@azure/app-configuration": "^1.8.0", - "@azure/cosmos": "^4.2.0", - "@azure/data-tables": "^13.3.0", - "@azure/identity": "^4.6.0", - "@azure/keyvault-secrets": "^4.9.0", - "@azure/storage-blob": "^12.26.0", - "@capacitor/preferences": "^6 || ^7 || ^8", - "@deno/kv": ">=0.9.0", - "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", - "@planetscale/database": "^1.19.0", - "@upstash/redis": "^1.34.3", - "@vercel/blob": ">=0.27.1", - "@vercel/functions": "^2.2.12 || ^3.0.0", - "@vercel/kv": "^1 || ^2 || ^3", - "aws4fetch": "^1.0.20", - "db0": ">=0.2.1", - "idb-keyval": "^6.2.1", - "ioredis": "^5.4.2", - "uploadthing": "^7.4.4" - }, - "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@deno/kv": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/blob": { - "optional": true - }, - "@vercel/functions": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "aws4fetch": { - "optional": true - }, - "db0": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "uploadthing": { - "optional": true - } - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", - "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/vitefu": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.2.tgz", - "integrity": "sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==", - "license": "MIT", - "workspaces": [ - "tests/deps/*", - "tests/projects/*", - "tests/projects/workspace/packages/*" - ], - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-beta.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", - "license": "MIT", - "dependencies": { - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/xxhash-wasm": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", - "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", - "license": "MIT" - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", - "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-spinner": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", - "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", - "license": "MIT", - "dependencies": { - "yoctocolors": "^2.1.1" - }, - "engines": { - "node": ">=18.19" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.25 || ^4" - } - }, - "node_modules/zod-to-ts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", - "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", - "peerDependencies": { - "typescript": "^4.9.4 || ^5.0.2", - "zod": "^3" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index bdfc06b..0000000 --- a/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "wezel-www", - "type": "module", - "version": "0.0.1", - "scripts": { - "dev": "astro dev", - "build": "astro build", - "preview": "astro preview" - }, - "dependencies": { - "@astrojs/mdx": "^4.3.14", - "@astrojs/starlight": "^0.37.6", - "@fontsource/ibm-plex-sans": "^5.2.8", - "@fontsource/iosevka": "^5.2.5", - "@fontsource/iosevka-aile": "^5.2.5", - "astro": "^5.10.0", - "ci-info": "^4.4.0" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 1846c4e..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,4408 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@astrojs/starlight': - specifier: ^0.37.6 - version: 0.37.7(astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3)) - astro: - specifier: ^5.10.0 - version: 5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3) - -packages: - - '@astrojs/compiler@2.13.1': - resolution: {integrity: sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==} - - '@astrojs/internal-helpers@0.7.5': - resolution: {integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==} - - '@astrojs/internal-helpers@0.7.6': - resolution: {integrity: sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==} - - '@astrojs/markdown-remark@6.3.10': - resolution: {integrity: sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==} - - '@astrojs/markdown-remark@6.3.11': - resolution: {integrity: sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==} - - '@astrojs/mdx@4.3.14': - resolution: {integrity: sha512-FBrqJQORVm+rkRa2TS5CjU9PBA6hkhrwLVBSS9A77gN2+iehvjq1w6yya/d0YKC7osiVorKkr3Qd9wNbl0ZkGA==} - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} - peerDependencies: - astro: ^5.0.0 - - '@astrojs/prism@3.3.0': - resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} - - '@astrojs/sitemap@3.7.2': - resolution: {integrity: sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA==} - - '@astrojs/starlight@0.37.7': - resolution: {integrity: sha512-KyBnou8aKIlPJUSNx6a1SN7XyH22oj/VAvTGC+Edld4Bnei1A//pmCRTBvSrSeoGrdUjK0ErFUfaEhhO1bPfDg==} - peerDependencies: - astro: ^5.5.0 - - '@astrojs/telemetry@3.3.0': - resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} - - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} - - '@capsizecss/unpack@4.0.0': - resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} - engines: {node: '>=18'} - - '@ctrl/tinycolor@4.2.0': - resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} - engines: {node: '>=14'} - - '@emnapi/runtime@1.8.1': - resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} - - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.27.3': - resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.27.3': - resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.27.3': - resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.27.3': - resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.27.3': - resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.27.3': - resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.27.3': - resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.27.3': - resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.27.3': - resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.27.3': - resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.27.3': - resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.27.3': - resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.27.3': - resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.27.3': - resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.27.3': - resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.27.3': - resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.27.3': - resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.27.3': - resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.3': - resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.27.3': - resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.3': - resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.27.3': - resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.27.3': - resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.27.3': - resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.27.3': - resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.27.3': - resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@expressive-code/core@0.41.7': - resolution: {integrity: sha512-ck92uZYZ9Wba2zxkiZLsZGi9N54pMSAVdrI9uW3Oo9AtLglD5RmrdTwbYPCT2S/jC36JGB2i+pnQtBm/Ib2+dg==} - - '@expressive-code/plugin-frames@0.41.7': - resolution: {integrity: sha512-diKtxjQw/979cTglRFaMCY/sR6hWF0kSMg8jsKLXaZBSfGS0I/Hoe7Qds3vVEgeoW+GHHQzMcwvgx/MOIXhrTA==} - - '@expressive-code/plugin-shiki@0.41.7': - resolution: {integrity: sha512-DL605bLrUOgqTdZ0Ot5MlTaWzppRkzzqzeGEu7ODnHF39IkEBbFdsC7pbl3LbUQ1DFtnfx6rD54k/cdofbW6KQ==} - - '@expressive-code/plugin-text-markers@0.41.7': - resolution: {integrity: sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==} - - '@img/colour@1.1.0': - resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} - engines: {node: '>=18'} - - '@img/sharp-darwin-arm64@0.34.5': - resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - - '@img/sharp-darwin-x64@0.34.5': - resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - - '@img/sharp-libvips-darwin-arm64@1.2.4': - resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} - cpu: [arm64] - os: [darwin] - - '@img/sharp-libvips-darwin-x64@1.2.4': - resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} - cpu: [x64] - os: [darwin] - - '@img/sharp-libvips-linux-arm64@1.2.4': - resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} - cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linux-arm@1.2.4': - resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} - cpu: [arm] - os: [linux] - - '@img/sharp-libvips-linux-ppc64@1.2.4': - resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} - cpu: [ppc64] - os: [linux] - - '@img/sharp-libvips-linux-riscv64@1.2.4': - resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} - cpu: [riscv64] - os: [linux] - - '@img/sharp-libvips-linux-s390x@1.2.4': - resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} - cpu: [s390x] - os: [linux] - - '@img/sharp-libvips-linux-x64@1.2.4': - resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} - cpu: [x64] - os: [linux] - - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} - cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linuxmusl-x64@1.2.4': - resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} - cpu: [x64] - os: [linux] - - '@img/sharp-linux-arm64@0.34.5': - resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - - '@img/sharp-linux-arm@0.34.5': - resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - - '@img/sharp-linux-ppc64@0.34.5': - resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ppc64] - os: [linux] - - '@img/sharp-linux-riscv64@0.34.5': - resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [riscv64] - os: [linux] - - '@img/sharp-linux-s390x@0.34.5': - resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] - - '@img/sharp-linux-x64@0.34.5': - resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - - '@img/sharp-linuxmusl-arm64@0.34.5': - resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - - '@img/sharp-linuxmusl-x64@0.34.5': - resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - - '@img/sharp-wasm32@0.34.5': - resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] - - '@img/sharp-win32-arm64@0.34.5': - resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [win32] - - '@img/sharp-win32-ia32@0.34.5': - resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] - - '@img/sharp-win32-x64@0.34.5': - resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@mdx-js/mdx@3.1.1': - resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - - '@oslojs/encoding@1.1.0': - resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} - - '@pagefind/darwin-arm64@1.5.0': - resolution: {integrity: sha512-OXQVlxALU9+Lz/LxkAa+RvaxY1cnRKUDCuwl9o8PY5Lg/znP573y4WIbVOOIz8Bv7uj7r00TGy7pD+NSLMJGBw==} - cpu: [arm64] - os: [darwin] - - '@pagefind/darwin-x64@1.5.0': - resolution: {integrity: sha512-+LK1Xq5n/B0hHc08DW61SnfIlfLKyXZ1oKcbfZ1MimE7Rn0Q6R0VI/TlC04f/JDPm+67zAOwPGizzvefOi5vqQ==} - cpu: [x64] - os: [darwin] - - '@pagefind/default-ui@1.5.0': - resolution: {integrity: sha512-C8VZ5pDz1Kc89GicXsWZiIlAwTVwUtFDOzh0RzJt5FmbkJzsmPVICPkLUfOsWgBCyFAH/vYR+lUTaGPDxZ4IXw==} - - '@pagefind/freebsd-x64@1.5.0': - resolution: {integrity: sha512-kicDfUF9gn/z06NimTwNlZXF8z3pLsN3BIPPt6N8unuh0n55fr64tVs2p3a5RKYmQkJGjPfOE/C9GI5YTEpURg==} - cpu: [x64] - os: [freebsd] - - '@pagefind/linux-arm64@1.5.0': - resolution: {integrity: sha512-e5rDB3wPm89bcSLiatKBDTrVTbsMQrrtkXRaAoUJYU0C1suXVvEzZfjmMvrUDvYhZBx/Ls8hGuGxlqSJBz3gDg==} - cpu: [arm64] - os: [linux] - - '@pagefind/linux-x64@1.5.0': - resolution: {integrity: sha512-vh52DcBiF/mRMmq+Rwt3M3RgEWgl00jFk/M5NWhLEHJFq4+papQXwbyKbi7cNlxaeYrKx6wOfW3fm9cftfc/Kg==} - cpu: [x64] - os: [linux] - - '@pagefind/windows-arm64@1.5.0': - resolution: {integrity: sha512-kg+szZwffZdyWn6SL6RHjAYjhSvJ2bT4qkv3KepGsbmD9fuSHUSC+2kydDneDVUA9qEDRf9uSFoEAsXsp1/JKA==} - cpu: [arm64] - os: [win32] - - '@pagefind/windows-x64@1.5.0': - resolution: {integrity: sha512-8eOCmB8lnpyvwz+HrcTXLuBxhj7UseAFh6KGEXRe8UCcAfVQih+qPy/4akJRezViI+ONijz9oi7HpMkw9rdtBg==} - cpu: [x64] - os: [win32] - - '@rollup/pluginutils@5.3.0': - resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/rollup-android-arm-eabi@4.59.0': - resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.59.0': - resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.59.0': - resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.59.0': - resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.59.0': - resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.59.0': - resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.59.0': - resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.59.0': - resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loong64-gnu@4.59.0': - resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-loong64-musl@4.59.0': - resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-ppc64-musl@4.59.0': - resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.59.0': - resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-musl@4.59.0': - resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.59.0': - resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.59.0': - resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.59.0': - resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-openbsd-x64@4.59.0': - resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.59.0': - resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.59.0': - resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.59.0': - resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.59.0': - resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.59.0': - resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} - cpu: [x64] - os: [win32] - - '@shikijs/core@3.23.0': - resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} - - '@shikijs/engine-javascript@3.23.0': - resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==} - - '@shikijs/engine-oniguruma@3.23.0': - resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} - - '@shikijs/langs@3.23.0': - resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} - - '@shikijs/themes@3.23.0': - resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} - - '@shikijs/types@3.23.0': - resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} - - '@shikijs/vscode-textmate@10.0.2': - resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - - '@types/js-yaml@4.0.9': - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - - '@types/nlcst@2.0.3': - resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} - - '@types/node@24.12.2': - resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} - - '@types/sax@1.2.7': - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - - '@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==} - - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} - hasBin: true - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - 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@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} - - 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==} - - aria-query@5.3.2: - resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} - engines: {node: '>= 0.4'} - - array-iterate@2.0.1: - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - - astring@1.9.0: - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} - hasBin: true - - astro-expressive-code@0.41.7: - resolution: {integrity: sha512-hUpogGc6DdAd+I7pPXsctyYPRBJDK7Q7d06s4cyP0Vz3OcbziP3FNzN0jZci1BpCvLn9675DvS7B9ctKKX64JQ==} - peerDependencies: - astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta - - astro@5.18.0: - resolution: {integrity: sha512-CHiohwJIS4L0G6/IzE1Fx3dgWqXBCXus/od0eGUfxrZJD2um2pE7ehclMmgL/fXqbU7NfE1Ze2pq34h2QaA6iQ==} - engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} - hasBin: true - - axobject-query@4.1.0: - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} - - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - - base-64@1.0.0: - resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} - - bcp-47-match@2.0.3: - resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} - - bcp-47@2.1.0: - resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} - - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - boxen@8.0.1: - resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} - engines: {node: '>=18'} - - camelcase@8.0.0: - resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} - engines: {node: '>=16'} - - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - 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==} - - chokidar@5.0.0: - resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} - engines: {node: '>= 20.19.0'} - - ci-info@4.4.0: - resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} - engines: {node: '>=8'} - - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} - - collapse-white-space@2.1.0: - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - - common-ancestor-path@1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - - cookie-es@1.2.2: - resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - - cookie@1.1.1: - resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} - engines: {node: '>=18'} - - crossws@0.3.5: - resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} - - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - - css-selector-parser@3.3.0: - resolution: {integrity: sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==} - - 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@3.1.0: - resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} - 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'} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - 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'} - - 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==} - - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - destr@2.0.5: - resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} - - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} - - deterministic-object-hash@2.0.2: - resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} - engines: {node: '>=18'} - - devalue@5.6.3: - resolution: {integrity: sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==} - - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - - diff@8.0.3: - resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} - engines: {node: '>=0.3.1'} - - direction@2.0.1: - resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} - hasBin: true - - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - - dset@3.1.4: - resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} - engines: {node: '>=4'} - - emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - 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'} - - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - - 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==} - - esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.27.3: - resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} - engines: {node: '>=18'} - hasBin: true - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - 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-visit@2.0.0: - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - - expressive-code@0.41.7: - resolution: {integrity: sha512-2wZjC8OQ3TaVEMcBtYY4Va3lo6J+Ai9jf3d4dbhURMJcU4Pbqe6EcHe424MIZI0VHUA1bR6xdpoHYi3yxokWqA==} - - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - flattie@1.1.1: - resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} - engines: {node: '>=8'} - - fontace@0.4.1: - resolution: {integrity: sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==} - - fontkitten@1.0.2: - resolution: {integrity: sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==} - engines: {node: '>=20'} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - get-east-asian-width@1.5.0: - resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} - engines: {node: '>=18'} - - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - - h3@1.15.5: - resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} - - hast-util-embedded@3.0.0: - resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} - - hast-util-format@1.1.0: - resolution: {integrity: sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==} - - hast-util-from-html@2.0.3: - resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} - - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - - hast-util-has-property@3.0.0: - resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} - - hast-util-is-body-ok-link@3.0.1: - resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==} - - hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - - hast-util-minify-whitespace@1.0.1: - resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==} - - hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - - hast-util-phrasing@3.0.1: - resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} - - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - - hast-util-select@6.0.4: - resolution: {integrity: sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==} - - hast-util-to-estree@3.1.3: - resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} - - hast-util-to-html@9.0.5: - resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} - - 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-to-string@3.0.1: - resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - - hast-util-to-text@4.0.2: - resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} - - 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==} - - html-escaper@3.0.3: - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} - - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - - html-whitespace-sensitive-tag-names@3.0.1: - resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==} - - http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - - i18next@23.16.8: - resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} - - import-meta-resolve@4.2.0: - resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - - inline-style-parser@0.2.7: - resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - - iron-webcrypto@1.2.1: - resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} - - 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-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - - 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-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - 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-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-wsl@3.1.1: - resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} - engines: {node: '>=16'} - - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} - hasBin: true - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - - lru-cache@11.2.6: - resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} - engines: {node: 20 || >=22} - - magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - - magicast@0.5.2: - resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} - - 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==} - - mdast-util-definitions@6.0.0: - resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} - - 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-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.12.2: - resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - - 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-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@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@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@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - - micromark@4.0.2: - resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - neotraverse@0.6.18: - resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} - engines: {node: '>= 10'} - - nlcst-to-string@4.0.0: - resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} - - node-fetch-native@1.6.7: - resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} - - node-mock-http@1.0.4: - resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - ofetch@1.5.1: - resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} - - ohash@2.0.11: - resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - - oniguruma-parser@0.12.1: - resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} - - oniguruma-to-es@4.3.4: - resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} - - p-limit@6.2.0: - resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} - engines: {node: '>=18'} - - p-queue@8.1.1: - resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==} - engines: {node: '>=18'} - - p-timeout@6.1.4: - resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} - engines: {node: '>=14.16'} - - package-manager-detector@1.6.0: - resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} - - pagefind@1.5.0: - resolution: {integrity: sha512-7vQ2xh0ZmjPjsuWONR68nqzb+QNfpPh7pdT6n6YDAthWAQiUkSACVegSswY5zPNONGYFWebFVgdnS5/m/Qqn+w==} - hasBin: true - - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - - parse-latin@7.0.0: - resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} - - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - - piccolore@0.1.3: - resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} - - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - - radix3@1.1.2: - resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} - - readdirp@5.0.0: - resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} - engines: {node: '>= 20.19.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==} - - regex-recursion@6.0.2: - resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} - - regex-utilities@2.3.0: - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - - regex@6.1.0: - resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - - rehype-expressive-code@0.41.7: - resolution: {integrity: sha512-25f8ZMSF1d9CMscX7Cft0TSQIqdwjce2gDOvQ+d/w0FovsMwrSt3ODP4P3Z7wO1jsIJ4eYyaDRnIR/27bd/EMQ==} - - rehype-format@5.0.1: - resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==} - - rehype-parse@9.0.1: - resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - - rehype-recma@1.0.0: - resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - - rehype-stringify@10.0.1: - resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} - - rehype@13.0.2: - resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==} - - remark-directive@3.0.1: - resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} - - 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-smartypants@3.0.2: - resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} - engines: {node: '>=16.0.0'} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - - retext-latin@4.0.0: - resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} - - retext-smartypants@6.2.0: - resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==} - - retext-stringify@4.0.0: - resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} - - retext@9.0.0: - resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} - - rollup@4.59.0: - resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - sax@1.5.0: - resolution: {integrity: sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==} - engines: {node: '>=11.0.0'} - - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} - hasBin: true - - sharp@0.34.5: - resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - - shiki@3.23.0: - resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - sitemap@9.0.1: - resolution: {integrity: sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==} - engines: {node: '>=20.19.5', npm: '>=10.8.2'} - hasBin: true - - smol-toml@1.6.0: - resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==} - engines: {node: '>= 18'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - 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==} - - stream-replace-string@2.0.0: - resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - - 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'} - - style-to-js@1.1.21: - resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - - style-to-object@1.0.14: - resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - - svgo@4.0.0: - resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==} - engines: {node: '>=16'} - hasBin: true - - tiny-inflate@1.0.3: - resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} - - tinyexec@1.0.2: - resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} - engines: {node: '>=18'} - - tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} - engines: {node: '>=12.0.0'} - - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - tsconfck@3.1.6: - resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} - engines: {node: ^18 || >=20} - hasBin: true - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - ufo@1.6.3: - resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} - - ultrahtml@1.6.0: - resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} - - uncrypto@0.1.3: - resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - - unifont@0.7.4: - resolution: {integrity: sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==} - - unist-util-find-after@5.0.0: - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - - unist-util-modify-children@4.0.0: - resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} - - 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-remove-position@5.0.0: - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-children@3.0.0: - resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} - - 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==} - - unstorage@1.17.4: - resolution: {integrity: sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==} - peerDependencies: - '@azure/app-configuration': ^1.8.0 - '@azure/cosmos': ^4.2.0 - '@azure/data-tables': ^13.3.0 - '@azure/identity': ^4.6.0 - '@azure/keyvault-secrets': ^4.9.0 - '@azure/storage-blob': ^12.26.0 - '@capacitor/preferences': ^6 || ^7 || ^8 - '@deno/kv': '>=0.9.0' - '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 - '@planetscale/database': ^1.19.0 - '@upstash/redis': ^1.34.3 - '@vercel/blob': '>=0.27.1' - '@vercel/functions': ^2.2.12 || ^3.0.0 - '@vercel/kv': ^1 || ^2 || ^3 - aws4fetch: ^1.0.20 - db0: '>=0.2.1' - idb-keyval: ^6.2.1 - ioredis: ^5.4.2 - uploadthing: ^7.4.4 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@deno/kv': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/blob': - optional: true - '@vercel/functions': - optional: true - '@vercel/kv': - optional: true - aws4fetch: - optional: true - db0: - optional: true - idb-keyval: - optional: true - ioredis: - optional: true - uploadthing: - optional: true - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - 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==} - - vite@6.4.1: - resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vitefu@1.1.2: - resolution: {integrity: sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-beta.0 - peerDependenciesMeta: - vite: - optional: true - - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - - which-pm-runs@1.1.0: - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} - engines: {node: '>=4'} - - widest-line@5.0.0: - resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} - engines: {node: '>=18'} - - wrap-ansi@9.0.2: - resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} - engines: {node: '>=18'} - - xxhash-wasm@1.1.0: - resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} - - yocto-spinner@0.2.3: - resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} - engines: {node: '>=18.19'} - - yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} - engines: {node: '>=18'} - - zod-to-json-schema@3.25.1: - resolution: {integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==} - peerDependencies: - zod: ^3.25 || ^4 - - zod-to-ts@1.2.0: - resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} - peerDependencies: - typescript: ^4.9.4 || ^5.0.2 - zod: ^3 - - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - - zod@4.3.6: - resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@astrojs/compiler@2.13.1': {} - - '@astrojs/internal-helpers@0.7.5': {} - - '@astrojs/internal-helpers@0.7.6': {} - - '@astrojs/markdown-remark@6.3.10': - dependencies: - '@astrojs/internal-helpers': 0.7.5 - '@astrojs/prism': 3.3.0 - github-slugger: 2.0.0 - hast-util-from-html: 2.0.3 - hast-util-to-text: 4.0.2 - import-meta-resolve: 4.2.0 - js-yaml: 4.1.1 - mdast-util-definitions: 6.0.0 - rehype-raw: 7.0.0 - rehype-stringify: 10.0.1 - remark-gfm: 4.0.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - remark-smartypants: 3.0.2 - shiki: 3.23.0 - smol-toml: 1.6.0 - unified: 11.0.5 - unist-util-remove-position: 5.0.0 - unist-util-visit: 5.1.0 - unist-util-visit-parents: 6.0.2 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@astrojs/markdown-remark@6.3.11': - dependencies: - '@astrojs/internal-helpers': 0.7.6 - '@astrojs/prism': 3.3.0 - github-slugger: 2.0.0 - hast-util-from-html: 2.0.3 - hast-util-to-text: 4.0.2 - import-meta-resolve: 4.2.0 - js-yaml: 4.1.1 - mdast-util-definitions: 6.0.0 - rehype-raw: 7.0.0 - rehype-stringify: 10.0.1 - remark-gfm: 4.0.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - remark-smartypants: 3.0.2 - shiki: 3.23.0 - smol-toml: 1.6.0 - unified: 11.0.5 - unist-util-remove-position: 5.0.0 - unist-util-visit: 5.1.0 - unist-util-visit-parents: 6.0.2 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@astrojs/mdx@4.3.14(astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3))': - dependencies: - '@astrojs/markdown-remark': 6.3.11 - '@mdx-js/mdx': 3.1.1 - acorn: 8.16.0 - astro: 5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3) - es-module-lexer: 1.7.0 - estree-util-visit: 2.0.0 - hast-util-to-html: 9.0.5 - piccolore: 0.1.3 - rehype-raw: 7.0.0 - remark-gfm: 4.0.1 - remark-smartypants: 3.0.2 - source-map: 0.7.6 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@astrojs/prism@3.3.0': - dependencies: - prismjs: 1.30.0 - - '@astrojs/sitemap@3.7.2': - dependencies: - sitemap: 9.0.1 - stream-replace-string: 2.0.0 - zod: 4.3.6 - - '@astrojs/starlight@0.37.7(astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3))': - dependencies: - '@astrojs/markdown-remark': 6.3.10 - '@astrojs/mdx': 4.3.14(astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3)) - '@astrojs/sitemap': 3.7.2 - '@pagefind/default-ui': 1.5.0 - '@types/hast': 3.0.4 - '@types/js-yaml': 4.0.9 - '@types/mdast': 4.0.4 - astro: 5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3) - astro-expressive-code: 0.41.7(astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3)) - bcp-47: 2.1.0 - hast-util-from-html: 2.0.3 - hast-util-select: 6.0.4 - hast-util-to-string: 3.0.1 - hastscript: 9.0.1 - i18next: 23.16.8 - js-yaml: 4.1.1 - klona: 2.0.6 - magic-string: 0.30.21 - mdast-util-directive: 3.1.0 - mdast-util-to-markdown: 2.1.2 - mdast-util-to-string: 4.0.0 - pagefind: 1.5.0 - rehype: 13.0.2 - rehype-format: 5.0.1 - remark-directive: 3.0.1 - ultrahtml: 1.6.0 - unified: 11.0.5 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@astrojs/telemetry@3.3.0': - dependencies: - ci-info: 4.4.0 - debug: 4.4.3 - dlv: 1.1.3 - dset: 3.1.4 - is-docker: 3.0.0 - is-wsl: 3.1.1 - which-pm-runs: 1.1.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/parser@7.29.0': - dependencies: - '@babel/types': 7.29.0 - - '@babel/runtime@7.29.2': {} - - '@babel/types@7.29.0': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@capsizecss/unpack@4.0.0': - dependencies: - fontkitten: 1.0.2 - - '@ctrl/tinycolor@4.2.0': {} - - '@emnapi/runtime@1.8.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@esbuild/aix-ppc64@0.25.12': - optional: true - - '@esbuild/aix-ppc64@0.27.3': - optional: true - - '@esbuild/android-arm64@0.25.12': - optional: true - - '@esbuild/android-arm64@0.27.3': - optional: true - - '@esbuild/android-arm@0.25.12': - optional: true - - '@esbuild/android-arm@0.27.3': - optional: true - - '@esbuild/android-x64@0.25.12': - optional: true - - '@esbuild/android-x64@0.27.3': - optional: true - - '@esbuild/darwin-arm64@0.25.12': - optional: true - - '@esbuild/darwin-arm64@0.27.3': - optional: true - - '@esbuild/darwin-x64@0.25.12': - optional: true - - '@esbuild/darwin-x64@0.27.3': - optional: true - - '@esbuild/freebsd-arm64@0.25.12': - optional: true - - '@esbuild/freebsd-arm64@0.27.3': - optional: true - - '@esbuild/freebsd-x64@0.25.12': - optional: true - - '@esbuild/freebsd-x64@0.27.3': - optional: true - - '@esbuild/linux-arm64@0.25.12': - optional: true - - '@esbuild/linux-arm64@0.27.3': - optional: true - - '@esbuild/linux-arm@0.25.12': - optional: true - - '@esbuild/linux-arm@0.27.3': - optional: true - - '@esbuild/linux-ia32@0.25.12': - optional: true - - '@esbuild/linux-ia32@0.27.3': - optional: true - - '@esbuild/linux-loong64@0.25.12': - optional: true - - '@esbuild/linux-loong64@0.27.3': - optional: true - - '@esbuild/linux-mips64el@0.25.12': - optional: true - - '@esbuild/linux-mips64el@0.27.3': - optional: true - - '@esbuild/linux-ppc64@0.25.12': - optional: true - - '@esbuild/linux-ppc64@0.27.3': - optional: true - - '@esbuild/linux-riscv64@0.25.12': - optional: true - - '@esbuild/linux-riscv64@0.27.3': - optional: true - - '@esbuild/linux-s390x@0.25.12': - optional: true - - '@esbuild/linux-s390x@0.27.3': - optional: true - - '@esbuild/linux-x64@0.25.12': - optional: true - - '@esbuild/linux-x64@0.27.3': - optional: true - - '@esbuild/netbsd-arm64@0.25.12': - optional: true - - '@esbuild/netbsd-arm64@0.27.3': - optional: true - - '@esbuild/netbsd-x64@0.25.12': - optional: true - - '@esbuild/netbsd-x64@0.27.3': - optional: true - - '@esbuild/openbsd-arm64@0.25.12': - optional: true - - '@esbuild/openbsd-arm64@0.27.3': - optional: true - - '@esbuild/openbsd-x64@0.25.12': - optional: true - - '@esbuild/openbsd-x64@0.27.3': - optional: true - - '@esbuild/openharmony-arm64@0.25.12': - optional: true - - '@esbuild/openharmony-arm64@0.27.3': - optional: true - - '@esbuild/sunos-x64@0.25.12': - optional: true - - '@esbuild/sunos-x64@0.27.3': - optional: true - - '@esbuild/win32-arm64@0.25.12': - optional: true - - '@esbuild/win32-arm64@0.27.3': - optional: true - - '@esbuild/win32-ia32@0.25.12': - optional: true - - '@esbuild/win32-ia32@0.27.3': - optional: true - - '@esbuild/win32-x64@0.25.12': - optional: true - - '@esbuild/win32-x64@0.27.3': - optional: true - - '@expressive-code/core@0.41.7': - dependencies: - '@ctrl/tinycolor': 4.2.0 - hast-util-select: 6.0.4 - hast-util-to-html: 9.0.5 - hast-util-to-text: 4.0.2 - hastscript: 9.0.1 - postcss: 8.5.6 - postcss-nested: 6.2.0(postcss@8.5.6) - unist-util-visit: 5.1.0 - unist-util-visit-parents: 6.0.2 - - '@expressive-code/plugin-frames@0.41.7': - dependencies: - '@expressive-code/core': 0.41.7 - - '@expressive-code/plugin-shiki@0.41.7': - dependencies: - '@expressive-code/core': 0.41.7 - shiki: 3.23.0 - - '@expressive-code/plugin-text-markers@0.41.7': - dependencies: - '@expressive-code/core': 0.41.7 - - '@img/colour@1.1.0': - optional: true - - '@img/sharp-darwin-arm64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.2.4 - optional: true - - '@img/sharp-darwin-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.2.4 - optional: true - - '@img/sharp-libvips-darwin-arm64@1.2.4': - optional: true - - '@img/sharp-libvips-darwin-x64@1.2.4': - optional: true - - '@img/sharp-libvips-linux-arm64@1.2.4': - optional: true - - '@img/sharp-libvips-linux-arm@1.2.4': - optional: true - - '@img/sharp-libvips-linux-ppc64@1.2.4': - optional: true - - '@img/sharp-libvips-linux-riscv64@1.2.4': - optional: true - - '@img/sharp-libvips-linux-s390x@1.2.4': - optional: true - - '@img/sharp-libvips-linux-x64@1.2.4': - optional: true - - '@img/sharp-libvips-linuxmusl-arm64@1.2.4': - optional: true - - '@img/sharp-libvips-linuxmusl-x64@1.2.4': - optional: true - - '@img/sharp-linux-arm64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.2.4 - optional: true - - '@img/sharp-linux-arm@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.2.4 - optional: true - - '@img/sharp-linux-ppc64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.2.4 - optional: true - - '@img/sharp-linux-riscv64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.2.4 - optional: true - - '@img/sharp-linux-s390x@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.2.4 - optional: true - - '@img/sharp-linux-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.2.4 - optional: true - - '@img/sharp-linuxmusl-arm64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 - optional: true - - '@img/sharp-linuxmusl-x64@0.34.5': - optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 - optional: true - - '@img/sharp-wasm32@0.34.5': - dependencies: - '@emnapi/runtime': 1.8.1 - optional: true - - '@img/sharp-win32-arm64@0.34.5': - optional: true - - '@img/sharp-win32-ia32@0.34.5': - optional: true - - '@img/sharp-win32-x64@0.34.5': - optional: true - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@mdx-js/mdx@3.1.1': - dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 - acorn: 8.16.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.16.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 - - '@oslojs/encoding@1.1.0': {} - - '@pagefind/darwin-arm64@1.5.0': - optional: true - - '@pagefind/darwin-x64@1.5.0': - optional: true - - '@pagefind/default-ui@1.5.0': {} - - '@pagefind/freebsd-x64@1.5.0': - optional: true - - '@pagefind/linux-arm64@1.5.0': - optional: true - - '@pagefind/linux-x64@1.5.0': - optional: true - - '@pagefind/windows-arm64@1.5.0': - optional: true - - '@pagefind/windows-x64@1.5.0': - optional: true - - '@rollup/pluginutils@5.3.0(rollup@4.59.0)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.59.0 - - '@rollup/rollup-android-arm-eabi@4.59.0': - optional: true - - '@rollup/rollup-android-arm64@4.59.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.59.0': - optional: true - - '@rollup/rollup-darwin-x64@4.59.0': - optional: true - - '@rollup/rollup-freebsd-arm64@4.59.0': - optional: true - - '@rollup/rollup-freebsd-x64@4.59.0': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.59.0': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.59.0': - optional: true - - '@rollup/rollup-linux-loong64-gnu@4.59.0': - optional: true - - '@rollup/rollup-linux-loong64-musl@4.59.0': - optional: true - - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - optional: true - - '@rollup/rollup-linux-ppc64-musl@4.59.0': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.59.0': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.59.0': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.59.0': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.59.0': - optional: true - - '@rollup/rollup-linux-x64-musl@4.59.0': - optional: true - - '@rollup/rollup-openbsd-x64@4.59.0': - optional: true - - '@rollup/rollup-openharmony-arm64@4.59.0': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.59.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.59.0': - optional: true - - '@rollup/rollup-win32-x64-gnu@4.59.0': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.59.0': - optional: true - - '@shikijs/core@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.5 - - '@shikijs/engine-javascript@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 4.3.4 - - '@shikijs/engine-oniguruma@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 - - '@shikijs/langs@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - - '@shikijs/themes@3.23.0': - dependencies: - '@shikijs/types': 3.23.0 - - '@shikijs/types@3.23.0': - dependencies: - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - - '@shikijs/vscode-textmate@10.0.2': {} - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 - - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.8 - - '@types/estree@1.0.8': {} - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/js-yaml@4.0.9': {} - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdx@2.0.13': {} - - '@types/ms@2.1.0': {} - - '@types/nlcst@2.0.3': - dependencies: - '@types/unist': 3.0.3 - - '@types/node@24.12.2': - dependencies: - undici-types: 7.16.0 - - '@types/sax@1.2.7': - dependencies: - '@types/node': 24.12.2 - - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - - '@ungap/structured-clone@1.3.0': {} - - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - - acorn@8.16.0: {} - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.2: {} - - ansi-styles@6.2.3: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - arg@5.0.2: {} - - argparse@2.0.1: {} - - aria-query@5.3.2: {} - - array-iterate@2.0.1: {} - - astring@1.9.0: {} - - astro-expressive-code@0.41.7(astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3)): - dependencies: - astro: 5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3) - rehype-expressive-code: 0.41.7 - - astro@5.18.0(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.9.3): - dependencies: - '@astrojs/compiler': 2.13.1 - '@astrojs/internal-helpers': 0.7.5 - '@astrojs/markdown-remark': 6.3.10 - '@astrojs/telemetry': 3.3.0 - '@capsizecss/unpack': 4.0.0 - '@oslojs/encoding': 1.1.0 - '@rollup/pluginutils': 5.3.0(rollup@4.59.0) - acorn: 8.16.0 - aria-query: 5.3.2 - axobject-query: 4.1.0 - boxen: 8.0.1 - ci-info: 4.4.0 - clsx: 2.1.1 - common-ancestor-path: 1.0.1 - cookie: 1.1.1 - cssesc: 3.0.0 - debug: 4.4.3 - deterministic-object-hash: 2.0.2 - devalue: 5.6.3 - diff: 8.0.3 - dlv: 1.1.3 - dset: 3.1.4 - es-module-lexer: 1.7.0 - esbuild: 0.27.3 - estree-walker: 3.0.3 - flattie: 1.1.1 - fontace: 0.4.1 - github-slugger: 2.0.0 - html-escaper: 3.0.3 - http-cache-semantics: 4.2.0 - import-meta-resolve: 4.2.0 - js-yaml: 4.1.1 - magic-string: 0.30.21 - magicast: 0.5.2 - mrmime: 2.0.1 - neotraverse: 0.6.18 - p-limit: 6.2.0 - p-queue: 8.1.1 - package-manager-detector: 1.6.0 - piccolore: 0.1.3 - picomatch: 4.0.3 - prompts: 2.4.2 - rehype: 13.0.2 - semver: 7.7.4 - shiki: 3.23.0 - smol-toml: 1.6.0 - svgo: 4.0.0 - tinyexec: 1.0.2 - tinyglobby: 0.2.15 - tsconfck: 3.1.6(typescript@5.9.3) - ultrahtml: 1.6.0 - unifont: 0.7.4 - unist-util-visit: 5.1.0 - unstorage: 1.17.4 - vfile: 6.0.3 - vite: 6.4.1(@types/node@24.12.2) - vitefu: 1.1.2(vite@6.4.1(@types/node@24.12.2)) - xxhash-wasm: 1.1.0 - yargs-parser: 21.1.1 - yocto-spinner: 0.2.3 - zod: 3.25.76 - zod-to-json-schema: 3.25.1(zod@3.25.76) - zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76) - optionalDependencies: - sharp: 0.34.5 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@types/node' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - db0 - - idb-keyval - - ioredis - - jiti - - less - - lightningcss - - rollup - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - typescript - - uploadthing - - yaml - - axobject-query@4.1.0: {} - - bail@2.0.2: {} - - base-64@1.0.0: {} - - bcp-47-match@2.0.3: {} - - bcp-47@2.1.0: - dependencies: - is-alphabetical: 2.0.1 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - - boolbase@1.0.0: {} - - boxen@8.0.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 8.0.0 - chalk: 5.6.2 - cli-boxes: 3.0.0 - string-width: 7.2.0 - type-fest: 4.41.0 - widest-line: 5.0.0 - wrap-ansi: 9.0.2 - - camelcase@8.0.0: {} - - ccount@2.0.1: {} - - chalk@5.6.2: {} - - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - - character-entities@2.0.2: {} - - character-reference-invalid@2.0.1: {} - - chokidar@5.0.0: - dependencies: - readdirp: 5.0.0 - - ci-info@4.4.0: {} - - cli-boxes@3.0.0: {} - - clsx@2.1.1: {} - - collapse-white-space@2.1.0: {} - - comma-separated-tokens@2.0.3: {} - - commander@11.1.0: {} - - common-ancestor-path@1.0.1: {} - - cookie-es@1.2.2: {} - - cookie@1.1.1: {} - - crossws@0.3.5: - dependencies: - uncrypto: 0.1.3 - - 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-selector-parser@3.3.0: {} - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@3.1.0: - dependencies: - mdn-data: 2.12.2 - source-map-js: 1.2.1 - - css-what@6.2.2: {} - - cssesc@3.0.0: {} - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - decode-named-character-reference@1.3.0: - dependencies: - character-entities: 2.0.2 - - defu@6.1.4: {} - - dequal@2.0.3: {} - - destr@2.0.5: {} - - detect-libc@2.1.2: - optional: true - - deterministic-object-hash@2.0.2: - dependencies: - base-64: 1.0.0 - - devalue@5.6.3: {} - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - diff@8.0.3: {} - - direction@2.0.1: {} - - dlv@1.1.3: {} - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dset@3.1.4: {} - - emoji-regex@10.6.0: {} - - emoji-regex@8.0.0: {} - - entities@4.5.0: {} - - entities@6.0.1: {} - - es-module-lexer@1.7.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.16.0 - esast-util-from-estree: 2.0.0 - vfile-message: 4.0.3 - - esbuild@0.25.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.12 - '@esbuild/android-arm': 0.25.12 - '@esbuild/android-arm64': 0.25.12 - '@esbuild/android-x64': 0.25.12 - '@esbuild/darwin-arm64': 0.25.12 - '@esbuild/darwin-x64': 0.25.12 - '@esbuild/freebsd-arm64': 0.25.12 - '@esbuild/freebsd-x64': 0.25.12 - '@esbuild/linux-arm': 0.25.12 - '@esbuild/linux-arm64': 0.25.12 - '@esbuild/linux-ia32': 0.25.12 - '@esbuild/linux-loong64': 0.25.12 - '@esbuild/linux-mips64el': 0.25.12 - '@esbuild/linux-ppc64': 0.25.12 - '@esbuild/linux-riscv64': 0.25.12 - '@esbuild/linux-s390x': 0.25.12 - '@esbuild/linux-x64': 0.25.12 - '@esbuild/netbsd-arm64': 0.25.12 - '@esbuild/netbsd-x64': 0.25.12 - '@esbuild/openbsd-arm64': 0.25.12 - '@esbuild/openbsd-x64': 0.25.12 - '@esbuild/openharmony-arm64': 0.25.12 - '@esbuild/sunos-x64': 0.25.12 - '@esbuild/win32-arm64': 0.25.12 - '@esbuild/win32-ia32': 0.25.12 - '@esbuild/win32-x64': 0.25.12 - - esbuild@0.27.3: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.3 - '@esbuild/android-arm': 0.27.3 - '@esbuild/android-arm64': 0.27.3 - '@esbuild/android-x64': 0.27.3 - '@esbuild/darwin-arm64': 0.27.3 - '@esbuild/darwin-x64': 0.27.3 - '@esbuild/freebsd-arm64': 0.27.3 - '@esbuild/freebsd-x64': 0.27.3 - '@esbuild/linux-arm': 0.27.3 - '@esbuild/linux-arm64': 0.27.3 - '@esbuild/linux-ia32': 0.27.3 - '@esbuild/linux-loong64': 0.27.3 - '@esbuild/linux-mips64el': 0.27.3 - '@esbuild/linux-ppc64': 0.27.3 - '@esbuild/linux-riscv64': 0.27.3 - '@esbuild/linux-s390x': 0.27.3 - '@esbuild/linux-x64': 0.27.3 - '@esbuild/netbsd-arm64': 0.27.3 - '@esbuild/netbsd-x64': 0.27.3 - '@esbuild/openbsd-arm64': 0.27.3 - '@esbuild/openbsd-x64': 0.27.3 - '@esbuild/openharmony-arm64': 0.27.3 - '@esbuild/sunos-x64': 0.27.3 - '@esbuild/win32-arm64': 0.27.3 - '@esbuild/win32-ia32': 0.27.3 - '@esbuild/win32-x64': 0.27.3 - - escape-string-regexp@5.0.0: {} - - estree-util-attach-comments@3.0.0: - dependencies: - '@types/estree': 1.0.8 - - 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.8 - 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-visit@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 - - estree-walker@2.0.2: {} - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.8 - - eventemitter3@5.0.4: {} - - expressive-code@0.41.7: - dependencies: - '@expressive-code/core': 0.41.7 - '@expressive-code/plugin-frames': 0.41.7 - '@expressive-code/plugin-shiki': 0.41.7 - '@expressive-code/plugin-text-markers': 0.41.7 - - extend@3.0.2: {} - - fdir@6.5.0(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - - flattie@1.1.1: {} - - fontace@0.4.1: - dependencies: - fontkitten: 1.0.2 - - fontkitten@1.0.2: - dependencies: - tiny-inflate: 1.0.3 - - fsevents@2.3.3: - optional: true - - get-east-asian-width@1.5.0: {} - - github-slugger@2.0.0: {} - - h3@1.15.5: - dependencies: - cookie-es: 1.2.2 - crossws: 0.3.5 - defu: 6.1.4 - destr: 2.0.5 - iron-webcrypto: 1.2.1 - node-mock-http: 1.0.4 - radix3: 1.1.2 - ufo: 1.6.3 - uncrypto: 0.1.3 - - hast-util-embedded@3.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-is-element: 3.0.0 - - hast-util-format@1.1.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-embedded: 3.0.0 - hast-util-minify-whitespace: 1.0.1 - hast-util-phrasing: 3.0.1 - hast-util-whitespace: 3.0.0 - html-whitespace-sensitive-tag-names: 3.0.1 - unist-util-visit-parents: 6.0.2 - - hast-util-from-html@2.0.3: - dependencies: - '@types/hast': 3.0.4 - devlop: 1.1.0 - hast-util-from-parse5: 8.0.3 - parse5: 7.3.0 - vfile: 6.0.3 - vfile-message: 4.0.3 - - hast-util-from-parse5@8.0.3: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.1.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 - - hast-util-has-property@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-is-body-ok-link@3.0.1: - dependencies: - '@types/hast': 3.0.4 - - hast-util-is-element@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-minify-whitespace@1.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-embedded: 3.0.0 - hast-util-is-element: 3.0.0 - hast-util-whitespace: 3.0.0 - unist-util-is: 6.0.1 - - hast-util-parse-selector@4.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-phrasing@3.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-embedded: 3.0.0 - hast-util-has-property: 3.0.0 - hast-util-is-body-ok-link: 3.0.1 - hast-util-is-element: 3.0.0 - - hast-util-raw@9.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 - 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-select@6.0.4: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - bcp-47-match: 2.0.3 - comma-separated-tokens: 2.0.3 - css-selector-parser: 3.3.0 - devlop: 1.1.0 - direction: 2.0.1 - hast-util-has-property: 3.0.0 - hast-util-to-string: 3.0.1 - hast-util-whitespace: 3.0.0 - nth-check: 2.1.1 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - unist-util-visit: 5.1.0 - zwitch: 2.0.4 - - hast-util-to-estree@3.1.3: - dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - 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.1.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-html@9.0.5: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 3.0.0 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.1 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.4 - zwitch: 2.0.4 - - hast-util-to-jsx-runtime@2.3.6: - dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 - '@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.1.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.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-to-string@3.0.1: - dependencies: - '@types/hast': 3.0.4 - - hast-util-to-text@4.0.2: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - hast-util-is-element: 3.0.0 - unist-util-find-after: 5.0.0 - - hast-util-whitespace@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hastscript@9.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - - html-escaper@3.0.3: {} - - html-void-elements@3.0.0: {} - - html-whitespace-sensitive-tag-names@3.0.1: {} - - http-cache-semantics@4.2.0: {} - - i18next@23.16.8: - dependencies: - '@babel/runtime': 7.29.2 - - import-meta-resolve@4.2.0: {} - - inline-style-parser@0.2.7: {} - - iron-webcrypto@1.2.1: {} - - is-alphabetical@2.0.1: {} - - is-alphanumerical@2.0.1: - dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-decimal@2.0.1: {} - - is-docker@3.0.0: {} - - is-fullwidth-code-point@3.0.0: {} - - is-hexadecimal@2.0.1: {} - - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 - - is-plain-obj@4.1.0: {} - - is-wsl@3.1.1: - dependencies: - is-inside-container: 1.0.0 - - js-yaml@4.1.1: - dependencies: - argparse: 2.0.1 - - kleur@3.0.3: {} - - klona@2.0.6: {} - - longest-streak@3.1.0: {} - - lru-cache@11.2.6: {} - - magic-string@0.30.21: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - - magicast@0.5.2: - dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 - source-map-js: 1.2.1 - - markdown-extensions@2.0.0: {} - - markdown-table@3.0.4: {} - - mdast-util-definitions@6.0.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - unist-util-visit: 5.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-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.4 - '@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.4 - '@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.4 - '@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.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 - 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.12.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-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.8 - 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.8 - 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.8 - 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.16.0 - acorn-jsx: 5.3.2(acorn@8.16.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.8 - 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@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@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.8 - '@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@2.0.1: {} - - micromark-util-types@2.0.2: {} - - micromark@4.0.2: - dependencies: - '@types/debug': 4.1.12 - 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 - - mrmime@2.0.1: {} - - ms@2.1.3: {} - - nanoid@3.3.11: {} - - neotraverse@0.6.18: {} - - nlcst-to-string@4.0.0: - dependencies: - '@types/nlcst': 2.0.3 - - node-fetch-native@1.6.7: {} - - node-mock-http@1.0.4: {} - - normalize-path@3.0.0: {} - - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 - - ofetch@1.5.1: - dependencies: - destr: 2.0.5 - node-fetch-native: 1.6.7 - ufo: 1.6.3 - - ohash@2.0.11: {} - - oniguruma-parser@0.12.1: {} - - oniguruma-to-es@4.3.4: - dependencies: - oniguruma-parser: 0.12.1 - regex: 6.1.0 - regex-recursion: 6.0.2 - - p-limit@6.2.0: - dependencies: - yocto-queue: 1.2.2 - - p-queue@8.1.1: - dependencies: - eventemitter3: 5.0.4 - p-timeout: 6.1.4 - - p-timeout@6.1.4: {} - - package-manager-detector@1.6.0: {} - - pagefind@1.5.0: - optionalDependencies: - '@pagefind/darwin-arm64': 1.5.0 - '@pagefind/darwin-x64': 1.5.0 - '@pagefind/freebsd-x64': 1.5.0 - '@pagefind/linux-arm64': 1.5.0 - '@pagefind/linux-x64': 1.5.0 - '@pagefind/windows-arm64': 1.5.0 - '@pagefind/windows-x64': 1.5.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-latin@7.0.0: - dependencies: - '@types/nlcst': 2.0.3 - '@types/unist': 3.0.3 - nlcst-to-string: 4.0.0 - unist-util-modify-children: 4.0.0 - unist-util-visit-children: 3.0.0 - vfile: 6.0.3 - - parse5@7.3.0: - dependencies: - entities: 6.0.1 - - piccolore@0.1.3: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.3: {} - - postcss-nested@6.2.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss@8.5.6: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - prismjs@1.30.0: {} - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - - property-information@7.1.0: {} - - radix3@1.1.2: {} - - readdirp@5.0.0: {} - - recma-build-jsx@1.0.0: - dependencies: - '@types/estree': 1.0.8 - estree-util-build-jsx: 3.0.1 - vfile: 6.0.3 - - recma-jsx@1.0.1(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.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.8 - 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.8 - estree-util-to-js: 2.0.0 - unified: 11.0.5 - vfile: 6.0.3 - - regex-recursion@6.0.2: - dependencies: - regex-utilities: 2.3.0 - - regex-utilities@2.3.0: {} - - regex@6.1.0: - dependencies: - regex-utilities: 2.3.0 - - rehype-expressive-code@0.41.7: - dependencies: - expressive-code: 0.41.7 - - rehype-format@5.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-format: 1.1.0 - - rehype-parse@9.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-from-html: 2.0.3 - unified: 11.0.5 - - rehype-raw@7.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 - vfile: 6.0.3 - - rehype-recma@1.0.0: - dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.3 - transitivePeerDependencies: - - supports-color - - rehype-stringify@10.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.5 - unified: 11.0.5 - - rehype@13.0.2: - dependencies: - '@types/hast': 3.0.4 - rehype-parse: 9.0.1 - rehype-stringify: 10.0.1 - unified: 11.0.5 - - 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-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.4 - '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.2.1 - unified: 11.0.5 - vfile: 6.0.3 - - remark-smartypants@3.0.2: - dependencies: - retext: 9.0.0 - retext-smartypants: 6.2.0 - unified: 11.0.5 - unist-util-visit: 5.1.0 - - remark-stringify@11.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.2 - unified: 11.0.5 - - retext-latin@4.0.0: - dependencies: - '@types/nlcst': 2.0.3 - parse-latin: 7.0.0 - unified: 11.0.5 - - retext-smartypants@6.2.0: - dependencies: - '@types/nlcst': 2.0.3 - nlcst-to-string: 4.0.0 - unist-util-visit: 5.1.0 - - retext-stringify@4.0.0: - dependencies: - '@types/nlcst': 2.0.3 - nlcst-to-string: 4.0.0 - unified: 11.0.5 - - retext@9.0.0: - dependencies: - '@types/nlcst': 2.0.3 - retext-latin: 4.0.0 - retext-stringify: 4.0.0 - unified: 11.0.5 - - rollup@4.59.0: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.59.0 - '@rollup/rollup-android-arm64': 4.59.0 - '@rollup/rollup-darwin-arm64': 4.59.0 - '@rollup/rollup-darwin-x64': 4.59.0 - '@rollup/rollup-freebsd-arm64': 4.59.0 - '@rollup/rollup-freebsd-x64': 4.59.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 - '@rollup/rollup-linux-arm-musleabihf': 4.59.0 - '@rollup/rollup-linux-arm64-gnu': 4.59.0 - '@rollup/rollup-linux-arm64-musl': 4.59.0 - '@rollup/rollup-linux-loong64-gnu': 4.59.0 - '@rollup/rollup-linux-loong64-musl': 4.59.0 - '@rollup/rollup-linux-ppc64-gnu': 4.59.0 - '@rollup/rollup-linux-ppc64-musl': 4.59.0 - '@rollup/rollup-linux-riscv64-gnu': 4.59.0 - '@rollup/rollup-linux-riscv64-musl': 4.59.0 - '@rollup/rollup-linux-s390x-gnu': 4.59.0 - '@rollup/rollup-linux-x64-gnu': 4.59.0 - '@rollup/rollup-linux-x64-musl': 4.59.0 - '@rollup/rollup-openbsd-x64': 4.59.0 - '@rollup/rollup-openharmony-arm64': 4.59.0 - '@rollup/rollup-win32-arm64-msvc': 4.59.0 - '@rollup/rollup-win32-ia32-msvc': 4.59.0 - '@rollup/rollup-win32-x64-gnu': 4.59.0 - '@rollup/rollup-win32-x64-msvc': 4.59.0 - fsevents: 2.3.3 - - sax@1.5.0: {} - - semver@7.7.4: {} - - sharp@0.34.5: - dependencies: - '@img/colour': 1.1.0 - detect-libc: 2.1.2 - semver: 7.7.4 - optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.5 - '@img/sharp-darwin-x64': 0.34.5 - '@img/sharp-libvips-darwin-arm64': 1.2.4 - '@img/sharp-libvips-darwin-x64': 1.2.4 - '@img/sharp-libvips-linux-arm': 1.2.4 - '@img/sharp-libvips-linux-arm64': 1.2.4 - '@img/sharp-libvips-linux-ppc64': 1.2.4 - '@img/sharp-libvips-linux-riscv64': 1.2.4 - '@img/sharp-libvips-linux-s390x': 1.2.4 - '@img/sharp-libvips-linux-x64': 1.2.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 - '@img/sharp-libvips-linuxmusl-x64': 1.2.4 - '@img/sharp-linux-arm': 0.34.5 - '@img/sharp-linux-arm64': 0.34.5 - '@img/sharp-linux-ppc64': 0.34.5 - '@img/sharp-linux-riscv64': 0.34.5 - '@img/sharp-linux-s390x': 0.34.5 - '@img/sharp-linux-x64': 0.34.5 - '@img/sharp-linuxmusl-arm64': 0.34.5 - '@img/sharp-linuxmusl-x64': 0.34.5 - '@img/sharp-wasm32': 0.34.5 - '@img/sharp-win32-arm64': 0.34.5 - '@img/sharp-win32-ia32': 0.34.5 - '@img/sharp-win32-x64': 0.34.5 - optional: true - - shiki@3.23.0: - dependencies: - '@shikijs/core': 3.23.0 - '@shikijs/engine-javascript': 3.23.0 - '@shikijs/engine-oniguruma': 3.23.0 - '@shikijs/langs': 3.23.0 - '@shikijs/themes': 3.23.0 - '@shikijs/types': 3.23.0 - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - - sisteransi@1.0.5: {} - - sitemap@9.0.1: - dependencies: - '@types/node': 24.12.2 - '@types/sax': 1.2.7 - arg: 5.0.2 - sax: 1.5.0 - - smol-toml@1.6.0: {} - - source-map-js@1.2.1: {} - - source-map@0.7.6: {} - - space-separated-tokens@2.0.2: {} - - stream-replace-string@2.0.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@7.2.0: - dependencies: - emoji-regex: 10.6.0 - get-east-asian-width: 1.5.0 - strip-ansi: 7.2.0 - - stringify-entities@4.0.4: - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.2.0: - dependencies: - ansi-regex: 6.2.2 - - 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 - - svgo@4.0.0: - dependencies: - commander: 11.1.0 - css-select: 5.2.2 - css-tree: 3.1.0 - css-what: 6.2.2 - csso: 5.0.5 - picocolors: 1.1.1 - sax: 1.5.0 - - tiny-inflate@1.0.3: {} - - tinyexec@1.0.2: {} - - tinyglobby@0.2.15: - dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - - trim-lines@3.0.1: {} - - trough@2.2.0: {} - - tsconfck@3.1.6(typescript@5.9.3): - optionalDependencies: - typescript: 5.9.3 - - tslib@2.8.1: - optional: true - - type-fest@4.41.0: {} - - typescript@5.9.3: {} - - ufo@1.6.3: {} - - ultrahtml@1.6.0: {} - - uncrypto@0.1.3: {} - - undici-types@7.16.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 - - unifont@0.7.4: - dependencies: - css-tree: 3.1.0 - ofetch: 1.5.1 - ohash: 2.0.11 - - unist-util-find-after@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - - unist-util-is@6.0.1: - dependencies: - '@types/unist': 3.0.3 - - unist-util-modify-children@4.0.0: - dependencies: - '@types/unist': 3.0.3 - array-iterate: 2.0.1 - - 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-remove-position@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-visit: 5.1.0 - - unist-util-stringify-position@4.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-visit-children@3.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 - - unstorage@1.17.4: - dependencies: - anymatch: 3.1.3 - chokidar: 5.0.0 - destr: 2.0.5 - h3: 1.15.5 - lru-cache: 11.2.6 - node-fetch-native: 1.6.7 - ofetch: 1.5.1 - ufo: 1.6.3 - - util-deprecate@1.0.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 - - vite@6.4.1(@types/node@24.12.2): - dependencies: - esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.59.0 - tinyglobby: 0.2.15 - optionalDependencies: - '@types/node': 24.12.2 - fsevents: 2.3.3 - - vitefu@1.1.2(vite@6.4.1(@types/node@24.12.2)): - optionalDependencies: - vite: 6.4.1(@types/node@24.12.2) - - web-namespaces@2.0.1: {} - - which-pm-runs@1.1.0: {} - - widest-line@5.0.0: - dependencies: - string-width: 7.2.0 - - wrap-ansi@9.0.2: - dependencies: - ansi-styles: 6.2.3 - string-width: 7.2.0 - strip-ansi: 7.2.0 - - xxhash-wasm@1.1.0: {} - - yargs-parser@21.1.1: {} - - yocto-queue@1.2.2: {} - - yocto-spinner@0.2.3: - dependencies: - yoctocolors: 2.1.2 - - yoctocolors@2.1.2: {} - - zod-to-json-schema@3.25.1(zod@3.25.76): - dependencies: - zod: 3.25.76 - - zod-to-ts@1.2.0(typescript@5.9.3)(zod@3.25.76): - dependencies: - typescript: 5.9.3 - zod: 3.25.76 - - zod@3.25.76: {} - - zod@4.3.6: {} - - zwitch@2.0.4: {} diff --git a/public/favicon.svg b/public/favicon.svg deleted file mode 100644 index cdcd74e..0000000 --- a/public/favicon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - w - diff --git a/public/install.sh b/public/install.sh deleted file mode 100644 index a682b9b..0000000 --- a/public/install.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# -# wezel meta-installer. -# -# Resolves the most recent GitHub release (prereleases included, since -# wezel ships those today) and forwards to its bundled installer. -# -# Usage: curl -fsSL https://wezel.build/install.sh | sh -# -set -eu - -REPO="wezel-build/wezel" -ASSET="wezel_cli-installer.sh" - -if ! command -v curl >/dev/null 2>&1; then - echo "wezel-install: curl is required" >&2 - exit 1 -fi - -# curl >= 7.71 can also retry rate-limit 403s (--retry-all-errors); older builds -# still retry connection errors, 5xx and 429 via plain --retry. -RETRY_ALL=0 -if curl --help all 2>/dev/null | grep -q -- '--retry-all-errors'; then - RETRY_ALL=1 -fi - -# Retry transient GitHub failures with exponential backoff: CDN 504s, request -# timeouts, and (where supported) rate-limit 403s. -get() { - if [ "$RETRY_ALL" -eq 1 ]; then - curl -fsSL --retry 5 --retry-max-time 60 --retry-all-errors "$@" - else - curl -fsSL --retry 5 --retry-max-time 60 "$@" - fi -} - -# A token (exported by CI as GITHUB_TOKEN / GH_TOKEN) lifts the GitHub API limit -# from 60 req/hr per IP. Shared CI runner IPs routinely exhaust the anonymous -# quota — the usual cause of an intermittent HTTP 403 on the release lookup. -TOKEN="${GITHUB_TOKEN:-${GH_TOKEN:-}}" - -releases() { - if [ -n "$TOKEN" ]; then - get -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${TOKEN}" "$1" - else - get -H "Accept: application/vnd.github+json" "$1" - fi -} - -# The /releases endpoint lists ALL releases (prereleases included) sorted -# newest-first. The /releases/latest endpoint excludes prereleases, which -# is why we don't use it. -TAG="$(releases "https://api.github.com/repos/${REPO}/releases?per_page=1" \ - | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' \ - | head -n 1)" - -if [ -z "${TAG}" ]; then - echo "wezel-install: could not determine latest release from GitHub API" >&2 - echo "wezel-install: check https://github.com/${REPO}/releases" >&2 - exit 1 -fi - -UPSTREAM="https://github.com/${REPO}/releases/download/${TAG}/${ASSET}" -echo "wezel-install: resolving ${TAG} -> ${ASSET}" >&2 - -# Run the bundled installer, retrying the whole thing: its binary-tarball -# download can hit transient GitHub CDN errors (e.g. HTTP 504) with no retry -# of its own. -n=1 -while :; do - if installer="$(get "${UPSTREAM}")" && printf '%s\n' "${installer}" | sh; then - exit 0 - fi - if [ "${n}" -ge 3 ]; then - echo "wezel-install: installer failed after ${n} attempts" >&2 - exit 1 - fi - echo "wezel-install: attempt ${n} failed, retrying in $((n * 3))s..." >&2 - sleep "$((n * 3))" - n=$((n + 1)) -done diff --git a/src/content.config.ts b/src/content.config.ts deleted file mode 100644 index 43fb7a6..0000000 --- a/src/content.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineCollection } from "astro:content"; -import { docsLoader } from "@astrojs/starlight/loaders"; -import { docsSchema } from "@astrojs/starlight/schema"; - -export const collections = { - docs: defineCollection({ - loader: docsLoader(), - schema: docsSchema(), - }), -}; diff --git a/src/content/docs/docs/concepts/observations.md b/src/content/docs/docs/concepts/observations.md deleted file mode 100644 index 055daf3..0000000 --- a/src/content/docs/docs/concepts/observations.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Observations -description: What a build observation is and why Wezel tracks them. ---- - -An **observation** is a named, repeatable build invocation — a specific combination of command, flags, and working directory that represents something your team actually runs. - -Examples: - -- A full incremental `cargo build` from a clean checkout -- `cargo test --workspace` after touching a core crate -- A frontend `tsc --noEmit` type-check on CI - -## Why observations, not raw builds? - -Raw build times are noisy. The same project produces wildly different numbers depending on cache state, what changed, and which machine ran it. Observations give Wezel a stable unit of comparison: apples to apples, run to run, commit to commit. - -## Observed vs. tracked - -| | Observed | Tracked | -|---|---|---| -| Source | Developer machines | CI | -| Purpose | Discover what's painful | Benchmark deterministically | -| Cadence | Every build | Every commit | - -**Observed** data gives you a real-world picture of team pain. **Tracked** observations give you the reproducible signal needed to catch regressions commit-by-commit. - -Once Wezel surfaces your highest-impact observations, you promote them to tracked so they're benchmarked on every commit in CI. diff --git a/src/content/docs/docs/concepts/regressions.md b/src/content/docs/docs/concepts/regressions.md deleted file mode 100644 index 6d1645d..0000000 --- a/src/content/docs/docs/concepts/regressions.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Regressions -description: What Wezel considers a build regression and how it detects them. ---- - -A **regression** is any commit that causes a tracked build scenario to take meaningfully longer than its established baseline. - -## What counts as a regression? - -Not every fluctuation is a regression. Build times vary due to machine load, cache state, and other noise. Wezel compares each new measurement against a rolling baseline of recent runs for the same scenario and branch. A regression is flagged when the delta exceeds a configurable threshold (default: 10%). - -## What you get when one is detected - -- **Which scenario** slowed down -- **Which commit** introduced the change -- **How much time** was added (absolute and percentage) -- **What was affected** — e.g. which crates were rebuilt downstream - -## What Wezel does NOT do - -Wezel will not block a merge or fail a CI job over a build time regression. Build times are one signal among many. Wezel's job is to make the regression visible and easy to revisit — what you do with that information is up to your team. - -## Baseline drift - -Over time, intentional changes will shift your baseline. Wezel's rolling baseline adapts naturally. You can also reset it explicitly from the dashboard after a deliberate architectural change. diff --git a/src/content/docs/docs/developing/architecture.md b/src/content/docs/docs/developing/architecture.md deleted file mode 100644 index fb7a2ec..0000000 --- a/src/content/docs/docs/developing/architecture.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Architecture -description: Internal component breakdown for contributors and integrators. ---- - -This page covers the internal architecture of Wezel. It's aimed at contributors, integrators, and anyone self-hosting who wants to understand what's running. - -## Components - -| Name | Role | -|------|------| -| **Burrow** | The backend API server. Built with Axum + Postgres. Ingests build events from Pheromone and Forager, serves historical data to Anthill. Runs on port 3001. | -| **Anthill** | The web dashboard frontend. Visualizes observations, trends, and regression events. | -| **Pheromone** | The local build agent. Ships as `pheromone-` binaries (e.g. `pheromone-cargo`) that hook into build tools to capture invocations and report them to Burrow. | -| **Forager** | The benchmark runner CLI (`forager`). Runs defined benchmarks against a checked-out commit and reports measurements to Burrow. Ships forager plugins as `forager-` binaries. | - -## Repository layout - -``` -crates/ - wezel_types/ # Shared API and config types (serde, camelCase JSON) - burrow/ # API server (axum, sqlx, postgres) - forager_cli/ # `forager` binary entry point - forager_exec/ # Built-in exec plugin - forager_llvm_lines/ # Built-in llvm-lines plugin - pheromone_cargo/ # Cargo build hook - wezel_cli/ # `wezel` CLI (config, project management) -``` - -## Burrow API - -All HTTP routes are defined in `crates/burrow/src/main.rs`. Key endpoints: - -| Method | Path | Description | -|--------|------|-------------| -| `POST` | `/api/project` | Create a project | -| `POST` | `/api/project/:id/observation` | Ingest a build observation from Pheromone | -| `POST` | `/api/forager/claim` | Claim a forager run token | -| `POST` | `/api/forager/run` | Submit benchmark measurements | - -## Database - -Postgres, migrated via `sqlx::raw_sql` in `crates/burrow/src/db.rs`. Key tables: `projects`, `observations`, `measurements`, `forager_tokens`. - -## Forager plugin protocol - -Plugins are binaries named `forager-`. The runner communicates with them via environment variables: - -| Variable | Direction | Description | -|----------|-----------|-------------| -| `FORAGER_INPUTS` | runner → plugin | JSON-encoded step inputs | -| `FORAGER_OUT` | plugin → runner | Path to write JSON result | -| `FORAGER_STEP` | runner → plugin | Current step name | - -Run `forager- --schema` to inspect a plugin's input/output schema. diff --git a/src/content/docs/docs/forager/benchmarks.md b/src/content/docs/docs/forager/benchmarks.md deleted file mode 100644 index 63c2a5b..0000000 --- a/src/content/docs/docs/forager/benchmarks.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Benchmark definitions -description: How to define forager benchmarks using benchmark.toml files. ---- - -Benchmarks live under `.wezel/benchmarks//benchmark.toml` in your project repository. -Each benchmark describes an ordered sequence of steps to run against a specific commit. -Patch files and the benchmark TOML are committed alongside your code so they version with it. - -``` -.wezel/benchmarks/ - incremental-build/ - benchmark.toml - add-one-fn.patch -``` - -## benchmark.toml - -```toml -name = "incremental-build" -description = "Measures incremental build cost of adding a function" - -[[steps]] -name = "baseline" -cmd = "cargo build --release" -env = { CARGO_INCREMENTAL = "1" } - -[[steps]] -name = "add-one-fn" -diff = "add-one-fn.patch" -cmd = "cargo build --release" -env = { CARGO_INCREMENTAL = "1" } - -[[steps]] -name = "measure-llvm" -tool = "llvm-lines" -``` - -### Top-level fields - -| Field | Required | Description | -|---|---|---| -| `name` | yes | Benchmark identifier. Must match the directory name. | -| `description` | no | Human-readable label shown in the dashboard. | -| `steps` | yes | Ordered list of steps. | - -## Steps - -Steps are the unit of work. Each step runs a plugin tool, optionally after applying a patch. -Steps run sequentially and share repo state — patches applied in earlier steps persist into later ones. - -### Shared step fields - -| Field | Required | Description | -|---|---|---| -| `name` | yes | Step identifier, used in measurement output. | -| `tool` | no | Plugin to run. Defaults to `exec` when `cmd` is present. | -| `description` | no | Human-readable label. | -| `diff` | no | Patch file to apply before this step runs (see below). | - -All other fields are forager-specific and passed directly to the plugin as inputs. -See the individual forager docs for what each one accepts. - -### The `exec` default - -If `tool` is omitted and `cmd` is present, the step runs with the built-in `exec` tool. -These two are equivalent: - -```toml -[[steps]] -name = "build" -cmd = "cargo build --release" -``` - -```toml -[[steps]] -name = "build" -tool = "exec" -cmd = "cargo build --release" -``` - -### Applying patches - -Set `diff` to a patch filename (relative to the benchmark directory) to apply it before the step runs: - -```toml -[[steps]] -name = "add-one-fn" -diff = "add-one-fn.patch" -cmd = "cargo build --release" -``` - -If `diff` is absent, no patch is applied. Patches accumulate — each one stacks on top of the previous step's repo state. - -Patches are standard unified diffs created with `git diff` or `git format-patch`. - -## Tools - -A tool is a binary named `forager-` on your `PATH`. -Each one accepts inputs via `FORAGER_INPUTS` and writes its result to `FORAGER_OUT`. -Run `forager- --schema` to see what a tool expects and produces. - -Built-in tools: - -- [exec](/docs/forager/exec) — runs a shell command; produces no measurement -- [llvm-lines](/docs/forager/llvm-lines) — counts LLVM IR lines via `cargo-llvm-lines` diff --git a/src/content/docs/docs/forager/exec.md b/src/content/docs/docs/forager/exec.md deleted file mode 100644 index 41dc585..0000000 --- a/src/content/docs/docs/forager/exec.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "exec" -description: Tool that runs a shell command with no measurement output. ---- - -Runs a shell command. Produces no measurement — use it for build steps that set up repo state for a later measurement step. - -`exec` is the default tool: if a step has a `cmd` field and no `tool` field, it runs with `exec`. - -## Inputs - -| Field | Required | Description | -|---|---|---| -| `cmd` | yes | Shell command to run (passed to `sh -c`). | -| `env` | no | Extra environment variables merged into the current environment. | -| `cwd` | no | Working directory override. Defaults to the project root. | - -## Example - -```toml -[[steps]] -name = "build" -cmd = "cargo build --release" -env = { CARGO_INCREMENTAL = "1", RUSTFLAGS = "-C opt-level=3" } -``` - -## Output - -Always writes `{ "measurement": null }`. A non-zero exit code marks the step as failed and skips its measurement, but does not abort the rest of the scenario run. diff --git a/src/content/docs/docs/forager/llvm-lines.md b/src/content/docs/docs/forager/llvm-lines.md deleted file mode 100644 index f63944f..0000000 --- a/src/content/docs/docs/forager/llvm-lines.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "llvm-lines" -description: Tool that counts LLVM IR lines via cargo-llvm-lines. ---- - -Counts LLVM IR lines using [`cargo-llvm-lines`](https://github.com/dtolnay/cargo-llvm-lines). -Reports the total line count as a `count` measurement, with a per-function breakdown as detail. - -Requires `cargo-llvm-lines` to be installed: - -```sh -cargo install cargo-llvm-lines -``` - -## Inputs - -None. Runs `cargo llvm-lines` in the project root. - -## Example - -```toml -[[steps]] -name = "measure-llvm" -forager = "llvm-lines" -``` - -## Output - -```json -{ - "measurement": { - "name": "llvm-lines", - "kind": "count", - "value": 125000, - "unit": "lines", - "detail": [ - { "name": "std::rt::lang_start_internal", "value": 405 }, - { "name": "core::fmt::write", "value": 392 } - ] - } -} -``` - -The dashboard renders `count` measurements as a bar chart across commits. -The detail list shows the top functions by line count (up to 50 entries). diff --git a/src/content/docs/docs/introduction.md b/src/content/docs/docs/introduction.md deleted file mode 100644 index c52c312..0000000 --- a/src/content/docs/docs/introduction.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Introduction -description: What Wezel is and why it exists. ---- - -Welcome to Wezel, a build observability toolkit for masses. - -Wezel helps capture and babysit build scenarios you care about the most, by describing them via a DSL based on TOML. These scenarios (also called "experiments") are then executed periodically as your codebase grows. When they regress in any way, Wezel will make sure to pin-point an exact commit at which they have regressed. - -This documentation will lead you through: -- Installing Wezel -- Setting up experiments with it -- Installing additional tools -- Wezel's protocol -- Crafting your own tools for interop with Wezel - -Let's get going. Onto the [quick start](quickstart) we go! \ No newline at end of file diff --git a/src/content/docs/docs/quickstart.md b/src/content/docs/docs/quickstart.md deleted file mode 100644 index 18057ff..0000000 --- a/src/content/docs/docs/quickstart.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Quick Start -description: Get Wezel running in your project. ---- - -### Why should I care - -Build times are an invisible tax on your productivity. Worse yet, it's not something you usually keep track of, if only for a brief moment after you've optimized them for the N-th time. - -Yours truly has done it over and over again; I kept the tally of build scenarios for Zed and how long they take. Wezel sprang out of a belief that this is a problem nobody else bothered with solving, yet one that deserves being solved. - -It is my honest attempt at making all obscure articles about yet another way to fix your build times obsolete. You, the developer, should not be held captive by your build tool's implementation. - -Besides, even if your builds are painfully slow today, they don't necessarily have to grind to a halt tomorrow - not without you knowing when and why. If you do manage to make your builds fast, Wezel will (hopefully) help them stay that way. - -Without further busytalk, let's get to work. - -## Installation - -Wezel is currently supported on Linux and MacOS. -To get Wezel, you can execute the following script in your terminal of choice: -```sh -curl -fsSL https://wezel.build/install.sh | sh -``` -Alternatively, you can grab a binary off of our GitHub releases. - -## A primer on Wezel's primitives - -Wezel is all about **experiments**: TOML files with sequences of **steps** that use some **tools** to drive your build process. -Experiments live in `.wezel/experiments` subdirectory of your project. - -Each tool is a wrapper around some build action. `exec` is the most generic of them all: it simply executes the provided command. -```toml -# .wezel/experiments/my-debug-build-time/experiment.toml -description = "Measure debug build time" - -# A single step consists of a tool name followed by a step name -[step.exec.hello-world] -cmd = "echo \"Hello, World!\"" -# Steps are executed in order of definition -[step.exec.run-build] -cmd = "cargo build" - -``` -With `wezel experiment run my-debug-build-time` that experiment can be executed. - -**TO_FILL_IN_EXPERIMENT_RESULT** - -Another tool we could use to track a Rust build is `cargo`: -```toml -# .wezel/experiments/my-debug-build-time/experiment.toml -description = "Measure debug build time" - -[step.cargo.run-build] -command = "build" -build_target = "workspace" -``` -While you may be tempted to just use `exec` for everything, there is a good reason to not do so - tool runs produce *outcomes* that provide insight into the execution of a given tool. Outcomes can range from profiling data for your compiler for all packages all the way to the granular timings for each package being built. `exec` can't give you any of that, because while it can run `cargo`, it does not know what `cargo` is and how to extract build data out of it's execution. - -Outcomes are crucial for regression detection: while they can take any form you like (be it a bunch of files on disk for your later convenience or hard data on the state of your build), you can **summarize** them into metric values we can use to track the health of your build. - -Let's go back to our previous example and use metrics produced by `cargo` tool: -```toml -# .wezel/experiments/my-debug-build-time/experiment.toml -description = "Measure debug build time" - -[step.cargo.run-build] -command = "build" -build_target = "workspace" -# One of the metrics that `cargo` produces is `time_ms`; total time needed to run the build. -# `bisect = true` makes Wezel look for a commit that introduced a regression in it, should it regress. -# `bisect` defaults to true, so the following is actually redundant. -summary.my-build-time = { outcome = "time_ms", bisect = true } -``` - -You can also go a step further and run a given step several times and aggregate a metric from multiple runs into a single summary : -```toml -# .wezel/experiments/my-debug-build-time/experiment.toml -description = "Measure debug build time" - -[step.cargo.run-build] -command = "build" -build_target = "workspace" -# This value of this summary will be build time averaged over 5 builds -# (with each one starting from the same snapshot of the working directory state). -summary.my-build-time = { outcome = "time_ms", bisect = true, - aggregation = "mean", samples = 5} -``` - -### Bisections -Most of your builds do not regress build performance metrics. - -Thus build benchmarks are ran periodically (say, daily); if there is a regression in any of the summaries marked with `bisect = true`, Wezel kicks off a bisection job on commits introduced within the timespan between last two experiment runs. It saves on compute and lets you run heavier build scenarios without worrying about bogging down your CI pipeline. - -On that note: Wezel also does not interfere with your software development process. This means it does not block you from merging code, does not throw a fit and does not pretend to be of upmost importance. We get it. Builds are important, but you're unlikely to block a major release over them. Or.. maybe? - -Are you thrilled to try it? Me neither. Nonetheless, let's move onto [installation](quickstart) (and tool management). \ No newline at end of file diff --git a/src/content/docs/docs/self-hosting/docker-compose.md b/src/content/docs/docs/self-hosting/docker-compose.md deleted file mode 100644 index f758efb..0000000 --- a/src/content/docs/docs/self-hosting/docker-compose.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Docker Compose -description: Run the full Wezel stack with Docker Compose. ---- - -Coming soon. diff --git a/src/content/docs/docs/self-hosting/overview.md b/src/content/docs/docs/self-hosting/overview.md deleted file mode 100644 index 37eb13b..0000000 --- a/src/content/docs/docs/self-hosting/overview.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Self-Hosting Overview -description: Run the entire Wezel stack on your own infrastructure. ---- - -Wezel is fully self-hostable. Every component is MIT-licensed and designed to run on infrastructure you control. - -## Components - -| Component | Role | -|-----------|------| -| **API server** | Backend API and data store. Ingests build events, serves history. | -| **Dashboard** | Web UI. Visualizes observations, trends, and regressions. | -| **Local build agent** | Hooks into your shell and captures build invocations. | -| **Benchmark runner** | CLI tool for running benchmarks against commits in CI. | - -## Prerequisites - -- Docker and Docker Compose (v2+) -- A Linux host with at least 1 GB RAM -- Outbound network access from your CI runners to the API server - -## Deployment options - -### Docker Compose (recommended) - -The quickest way to get started. See the [Docker Compose guide](/docs/self-hosting/docker-compose). - -### Custom - -Each component is a standalone binary or container image. You can run them behind your own reverse proxy and connect them to an existing Postgres instance. - -For internal component names and architecture details, see [Architecture](/docs/developing/architecture). - -## Data - -Wezel stores build event data in Postgres. There is no telemetry and no call-home behaviour. diff --git a/src/home/index.mdx b/src/home/index.mdx deleted file mode 100644 index 65990dc..0000000 --- a/src/home/index.mdx +++ /dev/null @@ -1,65 +0,0 @@ -## Why? - -I feel like build times are an afterthought. Yes, people spend countless hours complaining about them. Yes, the pain is real. Yet the trend is for them to get worse, not better. There's never enough time in a day to get them into shape. - -We do not talk about our issues enough, because nobody wishes to *care* about their build. It's a boring topic. Rightly so. You want to spend your sweet time on tackling problems you're paid to solve. - -### Sufficiently swift compiler -It's not like we can expect a sufficiently swift compiler to show up and wave all of your issues away either. We cannot expect toolchain maintainers to: -1. know what is painful about your usage of the toolchain. -2. have access to your codebase in order to poke, prod and profile a compiler. - -Even if such compiler existed, chances are that [Jevons paradox](https://en.wikipedia.org/wiki/Jevons_paradox) would do you dirty. - -### Optimizing builds requires obscure knowledge - -Material on optimizing builds is few and far between, stowed away on internet forums or blog post entries. In a way, you have to have quite intricate understanding of the compiler internals in order to really squeeze your build. -Knowing how big of an impact that using a given dependency will have on your builds is nigh impossible. So is structuring code around monomorphizations or dynamic dispatch. Yet, down the line, these decisions can have collateral effect on your build performance. - -### Speed is a cultural challenge -It's quite tricky to keep code written a particular way. In my experience, code that's quicker to compile is "uglier", as you have to limit how much a compiler has to do. Sure, you can stick a comment on it, but there's no way to be *certain* that code you've made quick to compile will stay that way - especially in the era where the human might not necessarily be in the loop. - -### Putting it all together -We're left in a situation where optimizing builds is a skill on its own, whose fruits are hard to hold onto. Nobody will do that for you and while you may be tempted to just skip this relatively boring chore, you'll feel the pain of that negligence yourself. That's why I've built Wezel - I want people to know when (and eventually - why) their build regressed - -## What - -Wezel lets you define build scenarios you want to track across the lifetime of your project. -It all starts with an `experiment.toml`, committed next to your code, that declares what to measure. -Take the following example The `cargo` tool builds your target and emits timing outcomes, and a -single outcome can feed several summaries. - -```toml -description = "Tracks compile time of the wezel workspace" - -# A single experiment consists of multiple steps, executed in order -[step.cargo.release-build] -command = "build" -build_target = ["burrow"] -profile = "release" -# Summaries are outputs of a step of an experiment. -# They're always scalar (to drive the bisection). -# Summaries use outcomes to get their values. -# Outcomes are results of your experiments - they are not necessarily scalar! -# (think of e.g. compiler profiling files or cargo --timings output) -# -# In this case, `cargo` tool emits `time_ms` for a total time for a build. -# In order to produce a summary, -# we'll run 5 builds and take their mean build time as a value of `build-time` summary. -summary.build-time = { outcome = "time_ms", aggregation = "mean", samples = 5 } -``` - -Most commits do not meaningfully regress your builds though. That's why we resort to sparse sampling: instead of running these experiments on every single commit you make, we run these measurements once a day or so. -Only when there's a meaningful regression between the last measurement and a current one do we resort to running experiments on all unmeasured commits - until all sources of regressions are found. - -The results of experiment runs are surfaced in a dashboard over at [app.wezel.build](app.wezel.build). - -### Not just Rust - -The whole thing is extensible - tool implementations live in separate binaries. Nothing prevents you from adding support for your own toolchain of choice - as long as you follow the protocol. - -## Where - -Wezel is open source and under active development. Follow along on -[GitHub](https://github.com/wezel-build/wezel), read the -[quickstart](/docs/quickstart) to wire it into your own builds. There's also [Discord server](https://discord.gg/NE6HAz7H) you can join to chat and follow along. diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro deleted file mode 100644 index c7eab0a..0000000 --- a/src/layouts/Base.astro +++ /dev/null @@ -1,227 +0,0 @@ ---- -import '../styles/global.css'; -import iosevkaAile600Url from '@fontsource/iosevka-aile/files/iosevka-aile-latin-600-normal.woff2?url'; - -interface Props { - title?: string; -} - -const { title = "Wezel — Your build, always at its best." } = Astro.props; - -const navLinks = [ - { label: "Docs", href: "/docs" }, - { label: "Status", href: "https://status.wezel.build" }, -]; - ---- - - - - - - - - - - {title} - - - - - -
- -
- -
- - -
- - - - \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro deleted file mode 100644 index 2a9926f..0000000 --- a/src/pages/index.astro +++ /dev/null @@ -1,122 +0,0 @@ ---- -import Base from "../layouts/Base.astro"; -import "../styles/home.css"; -import { Content as Body } from "../home/index.mdx"; - -const installUrl = new URL( - "install.sh", - Astro.site ?? "https://wezel.build/", -).toString(); -const installCmd = `curl -fsSL ${installUrl} | sh`; ---- - - - -
-
- - - {/* copy slot: wordmark (usually the product name) */} -

wezel

- - {/* copy slot: tagline */} -

Build-time observability

- - {/* copy slot: subtitle */} -

- Wezel benchmarks the build scenarios your team runs most, on - every commit, and surfaces the offending change the moment - something gets slower. -

- - {/* copy slot: status banner — edit or delete */} -

- Early development · not yet ready for production -

- - -
-
- - -
-
- -
-
- - -
-
- {/* copy slot: closing line */} -

Install the CLI and point it at a build.

- -
-
- shell - -
-
$ curl -fsSL {installUrl} | sh
-
- - -
-
- - - diff --git a/src/pages/pricing.astro b/src/pages/pricing.astro deleted file mode 100644 index 323ee0c..0000000 --- a/src/pages/pricing.astro +++ /dev/null @@ -1,610 +0,0 @@ ---- -import Base from '../layouts/Base.astro'; - -const tiers = [ - { - name: "Self-Hosted", - price: "Free", - priceSub: "forever", - description: "Run the full stack on your own infrastructure. No limits, no strings.", - accentVar: "--green", - glowVar: "--green-dim", - icon: ``, - features: [ - { text: "Pheromone agent", ok: true }, - { text: "Anthill dashboard", ok: true }, - { text: "Burrow backend", ok: true }, - { text: "Unlimited developers", ok: true }, - { text: "Unlimited scenarios", ok: true }, - { text: "Unlimited retention", ok: true }, - { text: "Community support", ok: true }, - { text: "Regression alerts", ok: false }, - { text: "CI integration", ok: false }, - { text: "Team analytics", ok: false }, - ], - cta: "Get Started", - ctaHref: "https://github.com/wezel-build/wezel", - ctaStyle: "secondary", - external: true, - }, - { - name: "Team", - price: "$18", - priceSub: "/ dev / month", - description: "Hosted Wezel with regression detection and CI integration. Focus on code, not infra.", - accentVar: "--accent", - glowVar: "--accent-glow", - highlight: true, - icon: ``, - features: [ - { text: "Everything in Self-Hosted", ok: true }, - { text: "Managed hosting", ok: true }, - { text: "Up to 30 developers", ok: true }, - { text: "90-day data retention", ok: true }, - { text: "Regression alerts", ok: true }, - { text: "GitHub / GitLab CI integration", ok: true }, - { text: "Scenario trend reports", ok: true }, - { text: "Email support", ok: true }, - { text: "SSO / SAML", ok: false }, - { text: "Custom Forager integrations", ok: false }, - ], - cta: "Start Free Trial", - ctaHref: "#", - ctaStyle: "primary", - external: false, - }, - { - name: "Enterprise", - price: "$40", - priceSub: "/ dev / month", - description: "For organizations shipping at scale. Unlimited everything, dedicated support.", - accentVar: "--cyan", - glowVar: "--cyan-dim", - icon: ``, - features: [ - { text: "Everything in Team", ok: true }, - { text: "Unlimited developers", ok: true }, - { text: "Unlimited data retention", ok: true }, - { text: "SSO / SAML", ok: true }, - { text: "Custom Forager integrations", ok: true }, - { text: "Org-wide build analytics", ok: true }, - { text: "Exportable ROI reports", ok: true }, - { text: "Dedicated support & SLA", ok: true }, - { text: "On-prem deployment assist", ok: true }, - { text: "Custom contract", ok: true }, - ], - cta: "Contact Us", - ctaHref: "mailto:sales@wezel.dev", - ctaStyle: "secondary", - external: false, - }, -]; ---- - - -
-
-
- -

- Self-host for free.
- Pay only for hosting. -

-

- The full Wezel stack is open source and always will be. Our paid plans - add managed infrastructure, regression detection, and team analytics. -

-
-
- -
-
- {tiers.map((tier) => ( -
- {tier.highlight &&
Most Popular
} - -
-
- {tier.name} -
- -
- {tier.price} - {tier.priceSub} -
- -

{tier.description}

- - - {tier.cta} - - -
- -
    - {tier.features.map((f) => ( -
  • - {f.ok ? "✓" : "—"} - {f.text} -
  • - ))} -
-
- ))} -
-
- -
-
- -

Common questions

- -
-
-

Is the free tier actually unlimited?

-

- Yes. Self-hosted Wezel has no usage caps, no feature gates, and no telemetry. - You run it, you own it. -

-
-
-

What happens after the trial?

-

- After 14 days, you choose a paid plan or export your data and self-host. - We never hold your data hostage. -

-
-
-

Can I switch plans later?

-

- Anytime. Upgrade, downgrade, or move to self-hosted. Your data is portable — it's yours. -

-
-
-

What build systems are supported?

-

- Cargo (Rust) is supported today. Support for other build systems is on the roadmap - and community-driven. -

-
-
-
-
- -
-
-
-

- All paid plans include a 14-day free trial. No credit card required. -

-

- Need something custom? - Let's talk → -

-
-
- - - \ No newline at end of file diff --git a/src/styles/global.css b/src/styles/global.css deleted file mode 100644 index 4460129..0000000 --- a/src/styles/global.css +++ /dev/null @@ -1,252 +0,0 @@ -@import '@fontsource/ibm-plex-sans/latin-400.css'; -@import '@fontsource/ibm-plex-sans/latin-500.css'; -@import '@fontsource/ibm-plex-sans/latin-600.css'; -@import '@fontsource/ibm-plex-sans/latin-700.css'; -@import '@fontsource/iosevka/latin-400.css'; -@import '@fontsource/iosevka/latin-500.css'; -@import '@fontsource/iosevka/latin-600.css'; -@import '@fontsource/iosevka/latin-700.css'; -@import '@fontsource/iosevka-aile/latin-400.css'; -@import '@fontsource/iosevka-aile/latin-500.css'; -@import '@fontsource/iosevka-aile/latin-600.css'; -@import '@fontsource/iosevka-aile/latin-700.css'; - -/* ===== Reset ===== */ -*, -*::before, -*::after { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -html { - -webkit-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - text-size-adjust: 100%; - scroll-behavior: smooth; -} - -body { - min-height: 100dvh; - line-height: 1.6; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -img, -picture, -video, -canvas, -svg { - display: block; - max-width: 100%; -} - -input, -button, -textarea, -select { - font: inherit; -} - -a { - color: inherit; - text-decoration: none; -} - -ul, -ol { - list-style: none; -} - -/* ===== Design Tokens ===== */ -:root { - /* Typography */ - --font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif; - --font-display: - "Iosevka Aile", "Iosevka", ui-sans-serif, system-ui, sans-serif; - --font-mono: - "Iosevka", "JetBrains Mono", ui-monospace, "SFMono-Regular", - "Cascadia Code", monospace; - - /* Sizing */ - --max-width: 72rem; - --radius: 8px; - --radius-lg: 12px; -} - -/* ── Warm paper (light — the only theme) ───────────────── */ -:root { - --bg: #f5f2ee; - --bg-deep: #ece8e3; - --surface: #faf8f5; - --surface2: #ece8e3; - --surface3: #e2ddd7; - --text: #28241f; - --text-mid: #56504a; - --text-dim: #746e68; - --accent: #8a5e2e; - --accent-glow: rgba(138, 94, 46, 0.14); - --accent-glow-strong: rgba(138, 94, 46, 0.26); - --green: #3d6e42; - --green-dim: rgba(61, 110, 66, 0.14); - --cyan: #3d6e72; - --cyan-dim: rgba(61, 110, 114, 0.14); - --red: #a03020; - --amber: #907020; - --border: #d6d0c8; - --border-light: #c8c2ba; - --nav-bg: rgba(245, 242, 238, 0.88); -} - -/* ===== Base ===== */ -body { - font-family: var(--font-sans); - background: var(--bg); - color: var(--text); -} - -code, -pre, -kbd, -samp { - font-family: var(--font-mono); -} - -::selection { - background: var(--accent-glow-strong); - color: var(--text); -} - -/* ===== Buttons ===== */ -.btn { - display: inline-flex; - align-items: center; - justify-content: center; - gap: 0.5rem; - padding: 0.7rem 1.6rem; - border-radius: var(--radius); - font-weight: 600; - font-size: 0.9rem; - font-family: var(--font-sans); - letter-spacing: -0.01em; - cursor: pointer; - border: 1.5px solid transparent; - white-space: nowrap; - transition: all 0.2s ease; - text-decoration: none; -} - -.btn-primary { - background: var(--accent); - color: var(--bg); - border-color: var(--accent); -} - -.btn-primary:hover { - background: #7a5028; - border-color: #7a5028; -} - -.btn-secondary { - background: transparent; - color: var(--text); - border-color: var(--border-light); -} - -.btn-secondary:hover { - border-color: var(--text-dim); - background: var(--surface); - transform: translateY(-1px); -} - -.btn-ghost { - background: transparent; - color: var(--accent); - border-color: transparent; - padding: 0.5rem 0.75rem; -} - -.btn-ghost:hover { - background: var(--accent-glow); -} - -.btn-sm { - padding: 0.45rem 1rem; - font-size: 0.8rem; -} - -.btn-lg { - padding: 0.85rem 2rem; - font-size: 1rem; -} - -/* ===== Card ===== */ -.card { - background: var(--surface); - border: 1px solid var(--border); - border-radius: var(--radius-lg); - padding: 1.75rem; - transition: - border-color 0.2s ease, - box-shadow 0.2s ease; -} - -.card:hover { - border-color: var(--border-light); - box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06); -} - -/* ===== Labels / Tags ===== */ -.mono-label { - font-family: var(--font-mono); - font-size: 0.72rem; - font-weight: 500; - letter-spacing: 0.04em; - text-transform: uppercase; -} - -.section-label { - font-family: var(--font-mono); - font-size: 0.7rem; - font-weight: 600; - letter-spacing: 0.14em; - text-transform: uppercase; - color: var(--accent); - margin-bottom: 1rem; - display: inline-flex; - align-items: center; - gap: 0.75rem; -} - -.section-label::before { - content: ""; - width: 28px; - height: 1px; - background: currentColor; - opacity: 0.7; -} - -/* ===== Divider ===== */ -.divider { - height: 1px; - background: var(--border); - border: none; - margin: 0; -} - -/* ===== Container ===== */ -.container { - width: 100%; - max-width: var(--max-width); - margin-inline: auto; - padding-inline: 2rem; -} - -/* ===== Responsive ===== */ -@media (max-width: 768px) { - .container { - padding-inline: 1.25rem; - } -} diff --git a/src/styles/home.css b/src/styles/home.css deleted file mode 100644 index 4415ef0..0000000 --- a/src/styles/home.css +++ /dev/null @@ -1,266 +0,0 @@ -/* Landing page — light warm-paper, prose-forward, README-like. - Centered wordmark hero; body reads as a styled document with accent-bar - section headings. Styling only; words live in index.astro (hero) and - src/home/index.mdx (body). */ - -/* ── Hero (centered wordmark) ─────────────────────────── */ -.hero { - text-align: center; - padding: 5.5rem 1.5rem 3.5rem; - border-bottom: 1px solid var(--border); -} -.hero-inner { - max-width: 44rem; - margin: 0 auto; -} -.hero-mark { - display: flex; - align-items: center; - justify-content: center; - width: 48px; - height: 48px; - margin: 0 auto 1.5rem; - border-radius: 12px; - background: var(--accent); - color: var(--bg); - font-family: var(--font-mono); - font-weight: 700; - font-size: 28px; - line-height: 1; -} -.hero-word { - font-family: var(--font-display); - font-weight: 700; - font-size: clamp(2.6rem, 6vw, 3.6rem); - letter-spacing: -0.04em; - line-height: 1; - color: var(--text); - margin: 0; -} -.hero-tagline { - font-family: var(--font-mono); - font-size: 0.95rem; - letter-spacing: 0.01em; - color: var(--accent); - margin: 0.6rem 0 0; -} -.hero-sub { - font-size: 1.02rem; - line-height: 1.65; - color: var(--text-mid); - max-width: 48ch; - margin: 1.5rem auto 0; -} -.hero-banner { - display: inline-block; - margin: 1.75rem auto 0; - padding: 0.4rem 0.9rem; - border: 1px solid var(--border-light); - border-radius: 999px; - font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.1em; - text-transform: uppercase; - color: var(--text-dim); -} -.hero-ctas { - display: flex; - gap: 0.75rem; - justify-content: center; - flex-wrap: wrap; - margin-top: 2rem; -} - -/* ── Body (hand-authored MDX prose) ───────────────────── */ -.body { - border-bottom: 1px solid var(--border); -} -.prose { - max-width: 44rem; - margin: 0 auto; - padding: 4rem 1.5rem 4.5rem; -} -.prose h2 { - position: relative; - font-family: var(--font-display); - font-weight: 700; - font-size: 1.5rem; - letter-spacing: -0.03em; - color: var(--text); - padding-left: 0.85rem; - margin: 3rem 0 1rem; -} -.prose h2:first-child { - margin-top: 0; -} -/* the little accent bar that gives the dodeca/vixen heading feel */ -.prose h2::before { - content: ""; - position: absolute; - left: 0; - top: 0.2em; - bottom: 0.15em; - width: 4px; - border-radius: 2px; - background: var(--accent); -} -.prose h3 { - font-family: var(--font-display); - font-weight: 600; - font-size: 1.15rem; - letter-spacing: -0.02em; - color: var(--text); - margin: 2rem 0 0.75rem; -} -.prose p { - font-size: 1.02rem; - line-height: 1.78; - color: var(--text-mid); - margin: 0 0 1.15rem; -} -.prose ul, -.prose ol { - margin: 0 0 1.15rem 1.25rem; - list-style: revert; - color: var(--text-mid); - line-height: 1.78; -} -.prose li { - margin: 0.3rem 0; -} -.prose a { - color: var(--accent); - border-bottom: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); - transition: border-color 0.15s; -} -.prose a:hover { - border-bottom-color: var(--accent); -} -/* inline code — subtle tint, the way vixen styles it */ -.prose :not(pre) > code { - font-family: var(--font-mono); - font-size: 0.88em; - color: var(--accent); - background: var(--accent-glow); - padding: 0.1em 0.36em; - border-radius: 4px; -} - -/* ── Code blocks (expressive-code), flattened ─────────── */ -/* Strip the window chrome so blocks read as flat documents, not a - terminal app. Token colors still come from expressive-code's themes, - which track the light/dark toggle. */ -.prose .expressive-code { - margin: 1.5rem 0; -} -.prose .expressive-code .frame { - box-shadow: none !important; -} -.prose .expressive-code .frame .header { - display: none !important; -} -.prose .expressive-code pre { - border: 1px solid var(--border); - border-radius: var(--radius); - padding: 1rem 1.15rem; -} - -/* ── Install snippet (flat, centered in closing) ──────── */ -.install-snippet { - width: 100%; - max-width: 540px; - margin: 0 auto; - text-align: left; - background: var(--surface); - border: 1px solid var(--border); - border-radius: var(--radius); - overflow: hidden; -} -.install-snippet figcaption { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 0.9rem; - background: var(--bg-deep); - border-bottom: 1px solid var(--border); - font-family: var(--font-mono); - font-size: 0.66rem; - letter-spacing: 0.12em; - text-transform: uppercase; - color: var(--text-dim); -} -.install-shell { - color: var(--text-dim); -} -.install-copy { - margin-left: auto; - background: transparent; - border: 1px solid var(--border); - border-radius: 4px; - padding: 0.15rem 0.55rem; - font-family: var(--font-mono); - font-size: 0.64rem; - letter-spacing: 0.12em; - text-transform: uppercase; - color: var(--text-mid); - cursor: pointer; - transition: border-color 0.15s, color 0.15s, background 0.15s; -} -.install-copy:hover { - color: var(--text); - border-color: var(--text-dim); -} -.install-copy-done { - color: var(--green) !important; - border-color: var(--green) !important; - background: var(--green-dim) !important; -} -.install-snippet pre { - margin: 0; - padding: 0.95rem 1.1rem; - font-family: var(--font-mono); - font-size: 0.84rem; - line-height: 1.6; - color: var(--text); - background: transparent; - overflow-x: auto; - white-space: pre; -} -.install-snippet .t-prompt { color: var(--green); font-weight: 600; margin-right: 0.5em; } -.install-snippet .t-cmd { color: var(--accent); font-weight: 500; } -.install-snippet .t-flag { color: var(--text-mid); } -.install-snippet .t-url { color: var(--cyan); } -.install-snippet .t-pipe { color: var(--text-mid); margin: 0 0.15em; } - -/* ── Closing (quiet, centered) ────────────────────────── */ -.closing { - text-align: center; - padding: 4rem 1.5rem 5rem; -} -.closing-inner { - max-width: 44rem; - margin: 0 auto; - display: flex; - flex-direction: column; - align-items: center; - gap: 1.5rem; -} -.closing-lead { - font-size: 1.05rem; - color: var(--text-mid); - margin: 0; -} -.closing-links { - font-family: var(--font-mono); - font-size: 0.85rem; - color: var(--text-dim); -} -.closing-links a { color: var(--accent); } -.closing-links a:hover { color: var(--text); } - -/* ── Responsive ───────────────────────────────────────── */ -@media (max-width: 700px) { - .hero { padding: 3.5rem 1.25rem 2.5rem; } - .prose { padding: 3rem 1.25rem 3.5rem; } - .closing { padding: 3rem 1.25rem 4rem; } -} diff --git a/src/styles/starlight.css b/src/styles/starlight.css deleted file mode 100644 index b60c5e8..0000000 --- a/src/styles/starlight.css +++ /dev/null @@ -1,83 +0,0 @@ -/* Align Starlight's docs with the landing's warm-paper look. - The site is light-only, so we force every theme state to the same - light values and hide the theme switcher. */ - -@import '@fontsource/ibm-plex-sans/latin-400.css'; -@import '@fontsource/ibm-plex-sans/latin-500.css'; -@import '@fontsource/ibm-plex-sans/latin-600.css'; -@import '@fontsource/ibm-plex-sans/latin-700.css'; -@import '@fontsource/iosevka/latin-400.css'; -@import '@fontsource/iosevka/latin-500.css'; -@import '@fontsource/iosevka-aile/latin-600.css'; -@import '@fontsource/iosevka-aile/latin-700.css'; - -/* Force the warm-paper palette regardless of the data-theme attribute. */ -:root, -:root[data-theme='light'], -:root[data-theme='dark'] { - /* Accent (matches --accent #8a5e2e on the landing) */ - --sl-color-accent-low: #e7dccb; - --sl-color-accent: #8a5e2e; - --sl-color-accent-high: #5e3f1f; - - /* Text → background ramp, warm and light. - In Starlight's light theme, white = darkest text, black = page bg. */ - --sl-color-white: #28241f; - --sl-color-gray-1: #2f2b25; - --sl-color-gray-2: #46413a; - --sl-color-gray-3: #56504a; - --sl-color-gray-4: #746e68; - --sl-color-gray-5: #c8c2ba; - --sl-color-gray-6: #d6d0c8; - --sl-color-gray-7: #ece8e3; - --sl-color-black: #f5f2ee; - - /* Semantic surfaces */ - --sl-color-bg: #f5f2ee; - --sl-color-bg-nav: rgba(245, 242, 238, 0.88); - --sl-color-bg-sidebar: #faf8f5; - --sl-color-bg-inline-code: var(--sl-color-accent-low); - --sl-color-hairline: #d6d0c8; - --sl-color-hairline-light: #e2ddd7; - --sl-color-hairline-shade: #e2ddd7; - --sl-color-text: #56504a; - --sl-color-text-accent: #8a5e2e; - --sl-color-text-invert: #f5f2ee; - - /* Fonts (match the landing) */ - --sl-font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif; - --sl-font-mono: "Iosevka", "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace; -} - -/* Light-only: drop the theme switcher entirely. */ -starlight-theme-select { - display: none !important; -} - -/* Headings in the Iosevka Aile display face, like the landing. */ -.sl-markdown-content :is(h1, h2, h3, h4, h5, h6), -.site-title { - font-family: "Iosevka Aile", "Iosevka", ui-sans-serif, system-ui, sans-serif; - letter-spacing: -0.02em; -} - -/* The little accent bar on section headings — the dodeca/vixen tell. */ -.sl-markdown-content h2 { - position: relative; - padding-left: 0.85rem; -} -.sl-markdown-content h2::before { - content: ""; - position: absolute; - left: 0; - top: 0.18em; - bottom: 0.12em; - width: 4px; - border-radius: 2px; - background: var(--sl-color-accent); -} - -/* Site title wordmark in the header, to echo the nav logo. */ -.site-title { - font-weight: 700; -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 77da9dd..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "astro/tsconfigs/strict" -} \ No newline at end of file From 2ef59d153d55515a208f8095e67923aa3ac7d899 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Sun, 2 Aug 2026 17:15:32 +0200 Subject: [PATCH 02/16] Aand reinstated --- .gitignore | 15 + astro.config.mjs | 14 + package-lock.json | 7311 ++++++++++++++++++++++++++++++++++++++++ package.json | 18 + public/favicon.svg | 4 + src/layouts/Base.astro | 37 + src/pages/index.astro | 463 +++ src/styles/global.css | 68 + tsconfig.json | 5 + 9 files changed, 7935 insertions(+) create mode 100644 .gitignore create mode 100644 astro.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/favicon.svg create mode 100644 src/layouts/Base.astro create mode 100644 src/pages/index.astro create mode 100644 src/styles/global.css create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1792690 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +# build output +dist/ +# generated types +.astro/ +# dependencies +node_modules/ +# logs +npm-debug.log* +# environment variables +.env +.env.production +# macOS +.DS_Store +# playwright scratch +.playwright-mcp/ diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..35e18d4 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,14 @@ +// @ts-check +import { defineConfig } from "astro/config"; +import mdx from "@astrojs/mdx"; +import sitemap from "@astrojs/sitemap"; +import tailwindcss from "@tailwindcss/vite"; + +// https://astro.build/config +export default defineConfig({ + site: "https://wezel.build", + integrations: [mdx(), sitemap()], + vite: { + plugins: [tailwindcss()], + }, +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3cda6d2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7311 @@ +{ + "name": "wezel-www", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wezel-www", + "version": "0.0.1", + "dependencies": { + "@astrojs/mdx": "^4.2.0", + "@astrojs/sitemap": "^3.2.0", + "@tailwindcss/vite": "^4.1.0", + "astro": "^5.10.0", + "tailwindcss": "^4.1.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/mdx": { + "version": "4.3.14", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.14.tgz", + "integrity": "sha512-FBrqJQORVm+rkRa2TS5CjU9PBA6hkhrwLVBSS9A77gN2+iehvjq1w6yya/d0YKC7osiVorKkr3Qd9wNbl0ZkGA==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "6.3.11", + "@mdx-js/mdx": "^3.1.1", + "acorn": "^8.15.0", + "es-module-lexer": "^1.7.0", + "estree-util-visit": "^2.0.0", + "hast-util-to-html": "^9.0.5", + "piccolore": "^0.1.3", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.6", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.3.tgz", + "integrity": "sha512-f8euLVsyeAmAkSm/1M2Kb8sL8byQmfgbvBNaHFItCheTj/IpiJYSEWVcqDHZ/yEHxiS7+w87mQkzwZaPHmk5GA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@oxc-project/types": { + "version": "0.137.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz", + "integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz", + "integrity": "sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.3.tgz", + "integrity": "sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.3.tgz", + "integrity": "sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.3.tgz", + "integrity": "sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.3.tgz", + "integrity": "sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.3.tgz", + "integrity": "sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.3.tgz", + "integrity": "sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.3.tgz", + "integrity": "sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.3.tgz", + "integrity": "sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.3.tgz", + "integrity": "sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.3.tgz", + "integrity": "sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.3.tgz", + "integrity": "sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.3.tgz", + "integrity": "sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.3.tgz", + "integrity": "sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.3.tgz", + "integrity": "sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT", + "peer": true + }, + "node_modules/@rollup/pluginutils": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", + "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", + "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", + "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", + "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", + "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", + "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", + "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", + "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", + "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", + "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", + "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", + "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", + "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", + "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", + "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", + "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", + "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", + "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", + "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", + "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", + "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", + "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", + "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", + "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", + "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", + "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "5.21.6", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz", + "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.1", + "@tailwindcss/oxide-darwin-arm64": "4.3.1", + "@tailwindcss/oxide-darwin-x64": "4.3.1", + "@tailwindcss/oxide-freebsd-x64": "4.3.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", + "@tailwindcss/oxide-linux-x64-musl": "4.3.1", + "@tailwindcss/oxide-wasm32-wasi": "4.3.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz", + "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz", + "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz", + "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz", + "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz", + "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz", + "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz", + "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz", + "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz", + "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz", + "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz", + "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz", + "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz", + "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.1", + "@tailwindcss/oxide": "4.3.1", + "tailwindcss": "4.3.1" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.2.tgz", + "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.2.tgz", + "integrity": "sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.2.tgz", + "integrity": "sha512-TnFwLnAXty5MXKPDGuKXqK4AMBXG+FH6RUdK7Oyc3gyfNoFIthT+4eRbzOK43bdRlLaZuxgciDSjgtggZ3OtGQ==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/astro/node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/astro/node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/astro/node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz", + "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.21.6", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", + "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.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.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz", + "integrity": "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.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.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rolldown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.3.tgz", + "integrity": "sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@oxc-project/types": "=0.137.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.1.3", + "@rolldown/binding-darwin-arm64": "1.1.3", + "@rolldown/binding-darwin-x64": "1.1.3", + "@rolldown/binding-freebsd-x64": "1.1.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.3", + "@rolldown/binding-linux-arm64-gnu": "1.1.3", + "@rolldown/binding-linux-arm64-musl": "1.1.3", + "@rolldown/binding-linux-ppc64-gnu": "1.1.3", + "@rolldown/binding-linux-s390x-gnu": "1.1.3", + "@rolldown/binding-linux-x64-gnu": "1.1.3", + "@rolldown/binding-linux-x64-musl": "1.1.3", + "@rolldown/binding-openharmony-arm64": "1.1.3", + "@rolldown/binding-wasm32-wasi": "1.1.3", + "@rolldown/binding-win32-arm64-msvc": "1.1.3", + "@rolldown/binding-win32-x64-msvc": "1.1.3" + } + }, + "node_modules/rollup": { + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", + "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.62.2", + "@rollup/rollup-android-arm64": "4.62.2", + "@rollup/rollup-darwin-arm64": "4.62.2", + "@rollup/rollup-darwin-x64": "4.62.2", + "@rollup/rollup-freebsd-arm64": "4.62.2", + "@rollup/rollup-freebsd-x64": "4.62.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", + "@rollup/rollup-linux-arm-musleabihf": "4.62.2", + "@rollup/rollup-linux-arm64-gnu": "4.62.2", + "@rollup/rollup-linux-arm64-musl": "4.62.2", + "@rollup/rollup-linux-loong64-gnu": "4.62.2", + "@rollup/rollup-linux-loong64-musl": "4.62.2", + "@rollup/rollup-linux-ppc64-gnu": "4.62.2", + "@rollup/rollup-linux-ppc64-musl": "4.62.2", + "@rollup/rollup-linux-riscv64-gnu": "4.62.2", + "@rollup/rollup-linux-riscv64-musl": "4.62.2", + "@rollup/rollup-linux-s390x-gnu": "4.62.2", + "@rollup/rollup-linux-x64-gnu": "4.62.2", + "@rollup/rollup-linux-x64-musl": "4.62.2", + "@rollup/rollup-openbsd-x64": "4.62.2", + "@rollup/rollup-openharmony-arm64": "4.62.2", + "@rollup/rollup-win32-arm64-msvc": "4.62.2", + "@rollup/rollup-win32-ia32-msvc": "4.62.2", + "@rollup/rollup-win32-x64-gnu": "4.62.2", + "@rollup/rollup-win32-x64-msvc": "4.62.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, + "node_modules/smol-toml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz", + "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz", + "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "deprecated": "unmaintained", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.0.tgz", + "integrity": "sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "~1.1.2", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.3.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..3a9de02 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "wezel-www", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/mdx": "^4.2.0", + "@astrojs/sitemap": "^3.2.0", + "@tailwindcss/vite": "^4.1.0", + "astro": "^5.10.0", + "tailwindcss": "^4.1.0" + } +} diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..eaaeebb --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,4 @@ + + + w + diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro new file mode 100644 index 0000000..02d42e7 --- /dev/null +++ b/src/layouts/Base.astro @@ -0,0 +1,37 @@ +--- +import "../styles/global.css"; + +interface Props { + title?: string; + description?: string; +} + +const { + title = "Wezel", + description = "", +} = Astro.props; +--- + + + + + + + + + + {title} + {description && } + + + + + + + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..58d3c42 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,463 @@ +--- +import Base from "../layouts/Base.astro"; +--- + + + + + + +
+
+
+ +
+

Cargo-native build regression observability

+ +

+ Your build got faster + here. +

+ +

+ Wezel watches the build scenarios your team actually waits on. + It detects real drift and bisects only when there's something to explain. +

+ + + +
+ + curl -fsSL https://wezel.build/install.sh | sh +
+
+ + +
+
+ regression receipt + a3f8c1d +
+ +
+
+ scenario + incremental · crate dirty +
+
+ scope + workspace build time +
+
+ + + + + + baseline + + + + wezel installed + + + + + + + + + + + +12.4s · +26% + + + + + + + −3.1s · improving + + + + 32 commits ago + now + +
+
+
+ + +
+
+
+

Choose scenarios

+

Clean, incremental, release, LTO — or whatever your repo actually hurts on.

+
+
+

Measure sparsely

+

Don't burn CI minutes proving nothing changed on every commit.

+
+
+

Bisect regressions

+

When the line jumps, locate the culprit and show the delta.

+
+
+
+ + +
+ + latest from /blog + Faster runners hide regressions + Build performance is a maintained property → + +
+
+ + + diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..106baca --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1,68 @@ +@import "tailwindcss"; + +/* + Wezel design tokens — light, warm, confident. + Aesthetic direction (swappable): humanist serif display + clean grotesk body. + The mood we're after: relief + agency. Calm paper, generous space, one warm accent. +*/ +@theme { + /* surfaces */ + --color-paper: #fbfaf6; /* page background — warm off-white */ + --color-surface: #ffffff; /* cards / raised panels */ + --color-veil: #f4f1ea; /* subtle fills, code wells */ + + /* ink */ + --color-ink: #1c1b18; /* primary text */ + --color-ink-soft: #57544c; /* secondary text */ + --color-ink-faint: #8c887d; /* tertiary / captions */ + + /* lines */ + --color-line: #e7e3d8; /* hairline borders */ + --color-line-strong: #d8d3c5; + + /* accent — warm terracotta, used sparingly */ + --color-accent: #c2562b; + --color-accent-deep: #a8431d; + --color-accent-wash: #f6e7df; + + /* receipt signal colors — regression vs recovery */ + --color-warn: #c2410c; /* the regression (slower) */ + --color-warn-wash: #f7e3d8; + --color-good: #2f7d57; /* the recovery (faster) */ + --color-good-wash: #e2efe7; + + /* type */ + --font-display: "Instrument Serif", Georgia, "Times New Roman", serif; + --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif; + --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; + + /* rhythm */ + --spacing-gutter: 1.5rem; +} + +html { + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + scroll-behavior: smooth; +} + +body { + background-color: var(--color-paper); + color: var(--color-ink); + font-family: var(--font-sans); + font-size: 1rem; + line-height: 1.6; +} + +::selection { + background: var(--color-accent-wash); + color: var(--color-accent-deep); +} + +/* utility: the page's content rail */ +.rail { + width: 100%; + max-width: 64rem; + margin-inline: auto; + padding-inline: 1.5rem; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..8bf91d3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +} From 5e204426dfa084d46c2bec1009b24f82b33872cf Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Mon, 3 Aug 2026 01:30:40 +0200 Subject: [PATCH 03/16] docs --- astro.config.mjs | 97 +- package-lock.json | 4253 ++++++++--------- package.json | 7 +- src/components/Brand.astro | 49 + src/components/docs/Header.astro | 115 + src/components/docs/ThemeProvider.astro | 13 + src/components/docs/ThemeSelect.astro | 3 + src/content.config.ts | 7 + src/content/docs/docs/concepts/experiments.md | 26 + .../docs/docs/concepts/observations.md | 14 + src/content/docs/docs/concepts/regressions.md | 22 + src/content/docs/docs/index.md | 31 + src/content/docs/docs/installation.md | 30 + src/content/docs/docs/quickstart.md | 48 + src/content/docs/docs/reference/cli.md | 15 + .../docs/docs/reference/configuration.md | 15 + src/content/docs/docs/server/overview.md | 18 + src/content/docs/docs/server/self-hosting.md | 24 + .../docs/tracking/continuous-integration.md | 22 + src/content/docs/docs/tracking/scenarios.md | 14 + src/pages/index.astro | 27 +- src/styles/docs.css | 550 +++ 22 files changed, 3162 insertions(+), 2238 deletions(-) create mode 100644 src/components/Brand.astro create mode 100644 src/components/docs/Header.astro create mode 100644 src/components/docs/ThemeProvider.astro create mode 100644 src/components/docs/ThemeSelect.astro create mode 100644 src/content.config.ts create mode 100644 src/content/docs/docs/concepts/experiments.md create mode 100644 src/content/docs/docs/concepts/observations.md create mode 100644 src/content/docs/docs/concepts/regressions.md create mode 100644 src/content/docs/docs/index.md create mode 100644 src/content/docs/docs/installation.md create mode 100644 src/content/docs/docs/quickstart.md create mode 100644 src/content/docs/docs/reference/cli.md create mode 100644 src/content/docs/docs/reference/configuration.md create mode 100644 src/content/docs/docs/server/overview.md create mode 100644 src/content/docs/docs/server/self-hosting.md create mode 100644 src/content/docs/docs/tracking/continuous-integration.md create mode 100644 src/content/docs/docs/tracking/scenarios.md create mode 100644 src/styles/docs.css diff --git a/astro.config.mjs b/astro.config.mjs index 35e18d4..d06cc75 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -2,12 +2,107 @@ import { defineConfig } from "astro/config"; import mdx from "@astrojs/mdx"; import sitemap from "@astrojs/sitemap"; +import starlight from "@astrojs/starlight"; import tailwindcss from "@tailwindcss/vite"; // https://astro.build/config export default defineConfig({ site: "https://wezel.build", - integrations: [mdx(), sitemap()], + integrations: [ + starlight({ + title: "wezel", + description: + "Documentation for Wezel — Cargo-native build regression observability.", + // Docs entries live in src/content/docs/docs/**, so Starlight owns /docs/* + // and src/pages/index.astro keeps ownership of /. + customCss: ["./src/styles/global.css", "./src/styles/docs.css"], + components: { + // Landing chrome, reused verbatim so the header doesn't change between / and /docs. + Header: "./src/components/docs/Header.astro", + // Light theme only — see docs.css. + ThemeProvider: "./src/components/docs/ThemeProvider.astro", + ThemeSelect: "./src/components/docs/ThemeSelect.astro", + }, + social: [ + { + icon: "github", + label: "GitHub", + href: "https://github.com/wezel-build", + }, + ], + // Plugin reference is deliberately absent from the top level. + sidebar: [ + { + label: "Get started", + // `docs` is src/content/docs/docs/index.md — the /docs landing. + items: [ + { slug: "docs" }, + { slug: "docs/installation" }, + { slug: "docs/quickstart" }, + ], + }, + { + label: "Concepts", + items: [ + { slug: "docs/concepts/experiments" }, + { slug: "docs/concepts/observations" }, + { slug: "docs/concepts/regressions" }, + ], + }, + // Server comes before tracking: you stand up somewhere to send results + // before you start sending them. + { + label: "Server", + items: [ + { slug: "docs/server/overview" }, + { slug: "docs/server/self-hosting" }, + ], + }, + { + label: "Tracking", + items: [ + { slug: "docs/tracking/scenarios" }, + { slug: "docs/tracking/continuous-integration" }, + ], + }, + { + label: "Reference", + collapsed: true, + items: [{ slug: "docs/reference/cli" }, { slug: "docs/reference/configuration" }], + }, + ], + // Chrome we don't want. + credits: false, + lastUpdated: false, + pagination: true, + tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 3 }, + expressiveCode: { + themes: ["github-light"], + styleOverrides: { + borderRadius: "0.6rem", + borderColor: "var(--color-line)", + codeBackground: "var(--color-surface)", + codeFontFamily: "var(--font-mono)", + codeFontSize: "0.85rem", + uiFontFamily: "var(--font-mono)", + frames: { + editorTabBarBackground: "var(--color-veil)", + editorTabBarBorderBottomColor: "var(--color-line)", + editorActiveTabBackground: "var(--color-surface)", + editorActiveTabBorderColor: "var(--color-line)", + editorActiveTabIndicatorTopColor: "var(--color-accent)", + editorTabBorderRadius: "0.35rem", + terminalBackground: "var(--color-surface)", + terminalTitlebarBackground: "var(--color-veil)", + terminalTitlebarBorderBottomColor: "var(--color-line)", + shadowColor: "transparent", + }, + }, + }, + }), + mdx(), + sitemap(), + ], vite: { plugins: [tailwindcss()], }, diff --git a/package-lock.json b/package-lock.json index 3cda6d2..479c5c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,38 +8,217 @@ "name": "wezel-www", "version": "0.0.1", "dependencies": { - "@astrojs/mdx": "^4.2.0", - "@astrojs/sitemap": "^3.2.0", + "@astrojs/mdx": "^7.0.5", + "@astrojs/sitemap": "^3.7.3", + "@astrojs/starlight": "^0.41.6", "@tailwindcss/vite": "^4.1.0", - "astro": "^5.10.0", + "astro": "^7.1.6", "tailwindcss": "^4.1.0" } }, - "node_modules/@astrojs/compiler": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", - "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", - "license": "MIT" + "node_modules/@astrojs/compiler-binding": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.3.2.tgz", + "integrity": "sha512-8w/9CWmYrAJJ8N0SY3O43ws2BgxoW6u3QsD8u2mE140lMYAlwh+tlNoUeSBq22wVheFuiBbR212l6ixZ2IIgCQ==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@astrojs/compiler-binding-darwin-arm64": "0.3.2", + "@astrojs/compiler-binding-darwin-x64": "0.3.2", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.3.2", + "@astrojs/compiler-binding-linux-arm64-musl": "0.3.2", + "@astrojs/compiler-binding-linux-x64-gnu": "0.3.2", + "@astrojs/compiler-binding-linux-x64-musl": "0.3.2", + "@astrojs/compiler-binding-wasm32-wasi": "0.3.2", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.3.2", + "@astrojs/compiler-binding-win32-x64-msvc": "0.3.2" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-arm64": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.3.2.tgz", + "integrity": "sha512-MM8tn8CSimcfytaOla4b6acN8mKWiL/rlAA1fpT3/Wl7dNGSE4y8FjTN/zJVNnb63CsLWG5zZwCt01TXtDKh9g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-x64": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.3.2.tgz", + "integrity": "sha512-2lXOlzf8xb7jLomRsf/aswh61/NnGusynB2OwFkK6k4pmOtpfXMYnG0PLfXrEvxXYj69NdCnmUYXtHDd+JOOag==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.3.2.tgz", + "integrity": "sha512-BmU3kWj7qnLrd4vzm49zFEPJ5oFnn1tCT4Vt9hZbqdU5Cmb8GZl7fn6VFsnNfe7B18a2gIFtVzbLINtYl5kBjQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.3.2.tgz", + "integrity": "sha512-f0heT9ZZEseSu5bHCeb80eL2DH07ArE6U9xi1WT/PEusNjzPmEr3GJsjG1tRLo5VYUUYX7h3ScaqGmGrMOVGmw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.3.2.tgz", + "integrity": "sha512-M8fOUt0itRpqiGyoEA/ij184s8O+hqbCz3+YozRusOOM3osgGljpDThhbKAJjqh82wOo6FioQ4w8PBvU1XMD5Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-musl": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.3.2.tgz", + "integrity": "sha512-/Kebk8sO6HnLeSd691JkaAPfN7CqR9/KEXmWvyNPkaKNGmj8rTZ/lf2uXtnPu92Lan84UrKdIKVPy1fSo2encQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.3.2.tgz", + "integrity": "sha512-pUA6xbcOSB7DhfzIArB8BCAkFfAIqriiR7zl5zOStd6oU2G0kIKj+GUdGnyXyhfiv881Hffyk5tC0mR18sDjDw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.3.2.tgz", + "integrity": "sha512-ESruf+6Qkl1trHUFxI6GSf6t52j8yN2kCNSzMWdzt7V/T09tFHrYzrVaJQohb2C9bJUH76pNvX6Zb51+xCQc9Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.3.2.tgz", + "integrity": "sha512-wzzVrEbOwbsLWOdEbocskjMRx2aZPxJ7ZbmL+jnpBamFwmigm+2M/wzuM6JWncocgYwLic1csSpalBh96kQKXA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-rs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.3.2.tgz", + "integrity": "sha512-xlx/T7JovIKduu4ucbTQUxQ5+Q8wxkHxhLjnZk3VlJbhbQ9RLvvuDk1p2YYFYFQ5y14dVm3FGGO4isQXa4F+Tg==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-binding": "0.3.2" + }, + "engines": { + "node": ">=22.12.0" + } }, "node_modules/@astrojs/internal-helpers": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", - "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", - "license": "MIT" + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.10.2.tgz", + "integrity": "sha512-yt7fMgPYqSM4Tmr+taTW6Per+hjJ8Pk6lA1PAcDyqzOt8HzJ6Kje5WzCxA2Sd+9wsUW7uhkLeoTMK0cXPwH9rQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "js-yaml": "^4.3.0", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "unified": "^11.0.5" + } }, "node_modules/@astrojs/markdown-remark": { - "version": "6.3.11", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", - "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.2.2.tgz", + "integrity": "sha512-FGfmK84zSNcrsBd0dl1gXE9JvZYElp8EXQa2jpHVAxG4deGKAp43wspxFupjADJX7MSsMRHwYCnfT6EyVmgeFQ==", "license": "MIT", "dependencies": { - "@astrojs/internal-helpers": "0.7.6", - "@astrojs/prism": "3.3.0", + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/prism": "4.0.2", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", @@ -47,25 +226,37 @@ "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", - "shiki": "^3.21.0", - "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", - "unist-util-visit": "^5.0.0", + "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, + "node_modules/@astrojs/markdown-satteri": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.3.5.tgz", + "integrity": "sha512-CvWVEFAbay7YO+i9SaqDJubipA5ckiVB89QWoMJ5XC0m5CtFg8JwZ7Kau6X9sYY7FZURH0w2l03ISH2jOS/RDQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "satteri": "^0.9.1" + } + }, "node_modules/@astrojs/mdx": { - "version": "4.3.14", - "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.14.tgz", - "integrity": "sha512-FBrqJQORVm+rkRa2TS5CjU9PBA6hkhrwLVBSS9A77gN2+iehvjq1w6yya/d0YKC7osiVorKkr3Qd9wNbl0ZkGA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-7.0.5.tgz", + "integrity": "sha512-wEM/HH1RiEntyPVagdiF+yArzfcYLKBB0C1RZspVidKZ97rRMbaqP1Nbl/GR0sJs8zwaceqxRymw8aOKKJRdYw==", "license": "MIT", "dependencies": { - "@astrojs/markdown-remark": "6.3.11", + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/markdown-remark": "7.2.2", "@mdx-js/mdx": "^3.1.1", - "acorn": "^8.15.0", - "es-module-lexer": "^1.7.0", + "acorn": "^8.16.0", + "es-module-lexer": "^2.0.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", @@ -73,26 +264,32 @@ "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", - "unist-util-visit": "^5.0.0", + "unist-util-visit": "^5.1.0", "vfile": "^6.0.3" }, "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" + "node": ">=22.12.0" }, "peerDependencies": { - "astro": "^5.0.0" + "@astrojs/markdown-satteri": "^0.3.1", + "astro": "^7.0.0" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-satteri": { + "optional": true + } } }, "node_modules/@astrojs/prism": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", - "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.2.tgz", + "integrity": "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==", "license": "MIT", "dependencies": { "prismjs": "^1.30.0" }, "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" + "node": ">=22.12.0" } }, "node_modules/@astrojs/sitemap": { @@ -106,19 +303,62 @@ "zod": "^4.3.6" } }, + "node_modules/@astrojs/starlight": { + "version": "0.41.6", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.41.6.tgz", + "integrity": "sha512-Dt0/wY2JbFGUpxMgclw1j2Iqks2GG0LHYKgP7TfBXsFrs4LIbKvQ596lzyhXLz6nFcnPdIB9ZRFyDJeuVcx3Ug==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-satteri": "^0.3.2", + "@astrojs/mdx": "^7.0.0", + "@astrojs/sitemap": "^3.7.2", + "@pagefind/default-ui": "^1.3.0", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.44.0", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.3", + "hast-util-select": "^6.0.4", + "hast-util-to-string": "^3.0.1", + "hastscript": "^9.0.1", + "i18next": "^26.0.7", + "js-yaml": "^4.1.1", + "klona": "^2.0.6", + "magic-string": "^0.30.21", + "mdast-util-directive": "^3.1.0", + "mdast-util-to-markdown": "^2.1.2", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.5.2", + "rehype": "^13.0.2", + "rehype-format": "^5.0.1", + "remark-directive": "^4.0.0", + "satteri": "^0.9.1", + "ultrahtml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "^7.2.0", + "astro": "^7.0.2" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, "node_modules/@astrojs/telemetry": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", - "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.3.tgz", + "integrity": "sha512-C1TLn5sPJr0x4vk56piHWKbnqlEB8BKyte5Y45V02U+D7BGO5eMqZDH5aPjnkXQWJggvmsTXxH03QMZ9NgWLzQ==", "license": "MIT", "dependencies": { - "ci-info": "^4.2.0", - "debug": "^4.4.0", - "dlv": "^1.1.3", + "ci-info": "^4.4.0", "dset": "^3.1.4", - "is-docker": "^3.0.0", - "is-wsl": "^3.1.0", - "which-pm-runs": "^1.1.0" + "is-docker": "^4.0.0", + "package-manager-detector": "^1.6.0" }, "engines": { "node": "18.20.8 || ^20.3.0 || >=22.0.0" @@ -143,12 +383,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", - "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", "license": "MIT", "dependencies": { - "@babel/types": "^7.29.7" + "@babel/types": "^7.29.8" }, "bin": { "parser": "bin/babel-parser.js" @@ -158,9 +398,9 @@ } }, "node_modules/@babel/types": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", - "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.29.7", @@ -170,133 +410,292 @@ "node": ">=6.9.0" } }, - "node_modules/@capsizecss/unpack": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", - "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", - "license": "MIT", - "dependencies": { - "fontkitten": "^1.0.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@emnapi/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", - "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.2", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", - "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", - "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "node_modules/@bruits/satteri-darwin-arm64": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-arm64/-/satteri-darwin-arm64-0.9.5.tgz", + "integrity": "sha512-iw4nZgx9v30lWo/MTngQqi1pI78KI0DnkSm+lVJGYdmPLgAyDNJigVhpG42/Iq55A6c1Ll8q66ljyyRiQUxwow==", + "cpu": [ + "arm64" + ], "license": "MIT", "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } + "os": [ + "darwin" + ] }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", - "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "node_modules/@bruits/satteri-darwin-x64": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-x64/-/satteri-darwin-x64-0.9.5.tgz", + "integrity": "sha512-6T26Z5Kf3cFW2PSlk9p7zT7yVxvuBSiJvYyz9u8KjYwMTqZyIDOj2wDyNpxKV4+6yUVG7rddq2QwvG/8LJA2+Q==", "cpu": [ - "ppc64" + "x64" ], "license": "MIT", "optional": true, "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } + "darwin" + ] }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", - "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "node_modules/@bruits/satteri-linux-arm64-gnu": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-gnu/-/satteri-linux-arm64-gnu-0.9.5.tgz", + "integrity": "sha512-u51id17uJwNEMK9nBlICsq6U31c+XVqQueVBkwRIzZG+gMpS8TOJctt5h5Wz33Z8xnMdTd+adtACVz0yHgGuOA==", "cpu": [ - "arm" + "arm64" ], "license": "MIT", "optional": true, "os": [ - "android" - ], - "engines": { - "node": ">=18" - } + "linux" + ] }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", - "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "node_modules/@bruits/satteri-linux-arm64-musl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-musl/-/satteri-linux-arm64-musl-0.9.5.tgz", + "integrity": "sha512-v39HxiwGC5Rqm01HksP6+5Y+xKLPlsuVFgIgpEAo+SiQ22c+mJVhS3u7Z6ePAKdhL5NJoK1xq70kLz3L13AhpQ==", "cpu": [ "arm64" ], "license": "MIT", "optional": true, "os": [ - "android" - ], - "engines": { - "node": ">=18" - } + "linux" + ] }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", - "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "node_modules/@bruits/satteri-linux-x64-gnu": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-gnu/-/satteri-linux-x64-gnu-0.9.5.tgz", + "integrity": "sha512-F3uO8uFp3pAP5ZGXttwvh57GS7s0lL953tnNdyI2gRyP4kOOkp6pyGojNJzCjkDvWI2Cvb9iNrKok3aqQPauAw==", "cpu": [ "x64" ], "license": "MIT", "optional": true, "os": [ - "android" - ], - "engines": { - "node": ">=18" - } + "linux" + ] }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", - "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "node_modules/@bruits/satteri-linux-x64-musl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-musl/-/satteri-linux-x64-musl-0.9.5.tgz", + "integrity": "sha512-bicEqglLlz++mWyADaZoP0JY20s4vDfLjaPYgQqC+NI4zZLTOOg1T4GB8aqtc822Pqji8SQBmSrTb7CrP8i08Q==", "cpu": [ - "arm64" + "x64" ], "license": "MIT", "optional": true, "os": [ - "darwin" - ], - "engines": { - "node": ">=18" + "linux" + ] + }, + "node_modules/@bruits/satteri-wasm32-wasi": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-wasm32-wasi/-/satteri-wasm32-wasi-0.9.5.tgz", + "integrity": "sha512-zauAuMwfPnKPUkd4AFixRFpXdgKwP2mKgxrIIo2gJzW0/ZneF9dbHnLkojSpaBnCCp7VUL1hIi5WWZvB1CqmAQ==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@bruits/satteri-win32-arm64-msvc": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-arm64-msvc/-/satteri-win32-arm64-msvc-0.9.5.tgz", + "integrity": "sha512-SrfE7NEsgZjBvU3c+RR6oQRu0ToXY5uVJEbieXEF0YTctIV2zAVlbaMjWLts074QCgh3a+XHWkR/lWh2VH2LUg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@bruits/satteri-win32-x64-msvc": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-x64-msvc/-/satteri-win32-x64-msvc-0.9.5.tgz", + "integrity": "sha512-5Kw9ZAtTGS8WHizyn+CJhjjfIQrw+7jcZodpmpXJjefnO15M8UexIi6JR2E5thyvsmHyhL6ZDDMUNR4bKJPd4g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.4.3.tgz", + "integrity": "sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@clack/prompts": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.7.0.tgz", + "integrity": "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.4.3", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", - "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", "cpu": [ "x64" ], @@ -310,9 +709,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", - "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", "cpu": [ "arm64" ], @@ -326,9 +725,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", - "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", "cpu": [ "x64" ], @@ -342,9 +741,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", - "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", "cpu": [ "arm" ], @@ -358,9 +757,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", - "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", "cpu": [ "arm64" ], @@ -374,9 +773,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", - "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", "cpu": [ "ia32" ], @@ -390,9 +789,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", - "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", "cpu": [ "loong64" ], @@ -406,9 +805,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", - "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", "cpu": [ "mips64el" ], @@ -422,9 +821,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", - "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", "cpu": [ "ppc64" ], @@ -438,9 +837,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", - "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", "cpu": [ "riscv64" ], @@ -454,9 +853,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", - "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", "cpu": [ "s390x" ], @@ -470,9 +869,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", - "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", "cpu": [ "x64" ], @@ -486,9 +885,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", - "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", "cpu": [ "arm64" ], @@ -502,9 +901,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", - "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", "cpu": [ "x64" ], @@ -518,9 +917,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", - "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", "cpu": [ "arm64" ], @@ -534,9 +933,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", - "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", "cpu": [ "x64" ], @@ -550,9 +949,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", - "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", "cpu": [ "arm64" ], @@ -566,9 +965,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", - "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", "cpu": [ "x64" ], @@ -582,9 +981,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", - "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", "cpu": [ "arm64" ], @@ -598,9 +997,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", - "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", "cpu": [ "ia32" ], @@ -614,9 +1013,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", - "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", "cpu": [ "x64" ], @@ -629,6 +1028,51 @@ "node": ">=18" } }, + "node_modules/@expressive-code/core": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.44.1.tgz", + "integrity": "sha512-3dDo9N8D7hYrLNNMMWFovg3+aDUtnQm7c7z0GZc1c0LEFVBc0Q6lKG+tVT28gDadOvsgOANfCn35fgpe97Pmgg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.44.1.tgz", + "integrity": "sha512-HC/bdRao9225ApcgO/e3jn8ZOhldKO7ob1O/Tcipvtv7Vb5nMphZhMtD9uuywpvxkPYBHJi3504WhrKg05Dwqg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.44.1.tgz", + "integrity": "sha512-YApiZt3buUzBwL5tqj8G+sYC5NjMjRCHgQwr9bmGl69rtcHy6fE9dooWUeKYB978fJT2BuxT5FeHcF47rA3SEg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1", + "shiki": "^4.0.2" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.44.1.tgz", + "integrity": "sha512-B3BsJoJ8CFMlcIX9f+X9tcI3C4zPDO601+YuLi9GheSTNro7ZfqSjLptMQKBHOWZvxnAtY5zvIX7iO/qtBhNBg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1" + } + }, "node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", @@ -640,9 +1084,9 @@ } }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz", + "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==", "cpu": [ "arm64" ], @@ -652,19 +1096,19 @@ "darwin" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" + "@img/sharp-libvips-darwin-arm64": "1.3.2" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz", + "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==", "cpu": [ "x64" ], @@ -674,19 +1118,38 @@ "darwin" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" + "@img/sharp-libvips-darwin-x64": "1.3.2" + } + }, + "node_modules/@img/sharp-freebsd-wasm32": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz", + "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==", + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "dependencies": { + "@img/sharp-wasm32": "0.35.3" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz", + "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==", "cpu": [ "arm64" ], @@ -700,9 +1163,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz", + "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==", "cpu": [ "x64" ], @@ -716,9 +1179,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz", + "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==", "cpu": [ "arm" ], @@ -732,9 +1195,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz", + "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==", "cpu": [ "arm64" ], @@ -748,9 +1211,9 @@ } }, "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz", + "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==", "cpu": [ "ppc64" ], @@ -764,9 +1227,9 @@ } }, "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz", + "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==", "cpu": [ "riscv64" ], @@ -780,9 +1243,9 @@ } }, "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz", + "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==", "cpu": [ "s390x" ], @@ -796,9 +1259,9 @@ } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz", + "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==", "cpu": [ "x64" ], @@ -812,9 +1275,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz", + "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==", "cpu": [ "arm64" ], @@ -828,9 +1291,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz", + "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==", "cpu": [ "x64" ], @@ -844,9 +1307,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz", + "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==", "cpu": [ "arm" ], @@ -856,19 +1319,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" + "@img/sharp-libvips-linux-arm": "1.3.2" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz", + "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==", "cpu": [ "arm64" ], @@ -878,19 +1341,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" + "@img/sharp-libvips-linux-arm64": "1.3.2" } }, "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz", + "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==", "cpu": [ "ppc64" ], @@ -900,19 +1363,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" + "@img/sharp-libvips-linux-ppc64": "1.3.2" } }, "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz", + "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==", "cpu": [ "riscv64" ], @@ -922,19 +1385,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" + "@img/sharp-libvips-linux-riscv64": "1.3.2" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz", + "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==", "cpu": [ "s390x" ], @@ -944,19 +1407,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" + "@img/sharp-libvips-linux-s390x": "1.3.2" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz", + "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==", "cpu": [ "x64" ], @@ -966,19 +1429,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" + "@img/sharp-libvips-linux-x64": "1.3.2" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz", + "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==", "cpu": [ "arm64" ], @@ -988,19 +1451,19 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + "@img/sharp-libvips-linuxmusl-arm64": "1.3.2" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz", + "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==", "cpu": [ "x64" ], @@ -1010,38 +1473,54 @@ "linux" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + "@img/sharp-libvips-linuxmusl-x64": "1.3.2" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz", + "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.11.1" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-webcontainers-wasm32": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz", + "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==", "cpu": [ "wasm32" ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "license": "Apache-2.0", "optional": true, "dependencies": { - "@emnapi/runtime": "^1.7.0" + "@img/sharp-wasm32": "0.35.3" }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz", + "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==", "cpu": [ "arm64" ], @@ -1051,16 +1530,16 @@ "win32" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz", + "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==", "cpu": [ "ia32" ], @@ -1070,16 +1549,16 @@ "win32" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": "^20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz", + "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==", "cpu": [ "x64" ], @@ -1089,7 +1568,7 @@ "win32" ], "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" @@ -1178,21 +1657,24 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", - "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.2.tgz", + "integrity": "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw==", "license": "MIT", "optional": true, "dependencies": { "@tybys/wasm-util": "^0.10.3" }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/Brooooooklyn" }, "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" } }, "node_modules/@oslojs/encoding": { @@ -1206,66 +1688,159 @@ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz", "integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/Boshen" } }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz", - "integrity": "sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==", + "node_modules/@pagefind/darwin-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.5.2.tgz", + "integrity": "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==", "cpu": [ "arm64" ], "license": "MIT", "optional": true, "os": [ - "android" - ], - "peer": true, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + "darwin" + ] }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.3.tgz", - "integrity": "sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==", + "node_modules/@pagefind/darwin-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.5.2.tgz", + "integrity": "sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==", "cpu": [ - "arm64" + "x64" ], "license": "MIT", "optional": true, "os": [ "darwin" - ], - "peer": true, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + ] }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.3.tgz", - "integrity": "sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==", + "node_modules/@pagefind/default-ui": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.5.2.tgz", + "integrity": "sha512-pm1LMnQg8N2B3n2TnjKlhaFihpz6zTiA4HiGQ6/slKO/+8K9CAU5kcjdSSPgpuk1PMuuN4hxLipUIifnrkl3Sg==", + "license": "MIT" + }, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.5.2.tgz", + "integrity": "sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==", "cpu": [ "x64" ], "license": "MIT", "optional": true, "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + "freebsd" + ] }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.3.tgz", - "integrity": "sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==", + "node_modules/@pagefind/linux-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.5.2.tgz", + "integrity": "sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.5.2.tgz", + "integrity": "sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-arm64/-/windows-arm64-1.5.2.tgz", + "integrity": "sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.5.2.tgz", + "integrity": "sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz", + "integrity": "sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.3.tgz", + "integrity": "sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.3.tgz", + "integrity": "sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.3.tgz", + "integrity": "sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==", "cpu": [ "x64" ], @@ -1274,7 +1849,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1291,7 +1865,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1308,7 +1881,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1325,7 +1897,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1342,7 +1913,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1359,7 +1929,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1376,7 +1945,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1393,7 +1961,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1410,7 +1977,6 @@ "os": [ "openharmony" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1424,7 +1990,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", @@ -1446,7 +2011,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1463,7 +2027,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -1472,8 +2035,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@rollup/pluginutils": { "version": "5.4.0", @@ -1503,23 +2065,148 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "license": "MIT" }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", - "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", - "cpu": [ - "arm" - ], + "node_modules/@shikijs/core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.4.1.tgz", + "integrity": "sha512-VeR2CY6Nn9/WbisoYLOQZ7HZOnwTrpBuOw4wExjqLnBCi62BNWynBUO6K2uPIASPFJwAv7cX1fUu+LrPlSstcw==", "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@shikijs/primitive": "4.4.1", + "@shikijs/types": "4.4.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.4.1.tgz", + "integrity": "sha512-6U4lJBh8LTvIkEVqRHv/rr3ruwtO6IweFQt1ME1ntHJMGHS+6N86vfYGO1o8c/DtOCTia2lfhdQBtBrps1sDfQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.4.1", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.4.1.tgz", + "integrity": "sha512-p23RugMKss0r5DAtRJW1yAXUDl60JvhQYV20yuxei//26JyDSJefV3umyWzzwep2weblMnJGDYahuti6XkcMgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.4.1", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.4.1.tgz", + "integrity": "sha512-xb2kCMloBCIraIy2fS5MW0t/BxVY3q2nDyQKBoeSeq6KNrQbShHetCFlw2n35fGIJ6t3+hXDLQogP5ir9O9bvA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.4.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.4.1.tgz", + "integrity": "sha512-ko2OfDoG89YuQ7xL5LtcQiWKb7NIv1Ephb7g48TVU198OzAMLC8lXVEwaJGHK4sUMYrfAGJDqYmNLOLiW/Kz8w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.4.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.4.1.tgz", + "integrity": "sha512-wudOaoFro+/Zl9gQv2W1Ur5XlVduqvTuYLI483Xi0wgc1A+cy1hfB2r6ac6ufBgF+ID7KJEW7L41MHrzQ4wH+w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.4.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.4.1.tgz", + "integrity": "sha512-GOwCLQDHM5EjGUWNPrhzJbr6JP8V/Dx/CDVkWvbZ1Avw5JFnNUckrgbLmE07qtg4WlW7Q7QFndhjIkeU9XMPvw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", + "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "5.21.6", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz", + "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.1", + "@tailwindcss/oxide-darwin-arm64": "4.3.1", + "@tailwindcss/oxide-darwin-x64": "4.3.1", + "@tailwindcss/oxide-freebsd-x64": "4.3.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", + "@tailwindcss/oxide-linux-x64-musl": "4.3.1", + "@tailwindcss/oxide-wasm32-wasi": "4.3.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", - "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz", + "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==", "cpu": [ "arm64" ], @@ -1527,12 +2214,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", - "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz", + "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==", "cpu": [ "arm64" ], @@ -1540,12 +2230,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", - "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz", + "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==", "cpu": [ "x64" ], @@ -1553,25 +2246,15 @@ "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", - "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", - "cpu": [ - "arm64" ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", - "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz", + "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==", "cpu": [ "x64" ], @@ -1579,12 +2262,15 @@ "optional": true, "os": [ "freebsd" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", - "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz", + "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==", "cpu": [ "arm" ], @@ -1592,38 +2278,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", - "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", - "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", - "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz", + "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==", "cpu": [ "arm64" ], @@ -1631,103 +2294,47 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", - "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", - "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", - "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", - "cpu": [ - "ppc64" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", - "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz", + "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==", "cpu": [ - "ppc64" + "arm64" ], "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", - "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", - "cpu": [ - "riscv64" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", - "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz", + "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==", "cpu": [ - "riscv64" + "x64" ], "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", - "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", - "cpu": [ - "s390x" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", - "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz", + "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==", "cpu": [ "x64" ], @@ -1735,51 +2342,44 @@ "optional": true, "os": [ "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", - "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", - "cpu": [ - "x64" ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", - "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", - "cpu": [ - "x64" + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz", + "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", - "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", "cpu": [ - "arm64" + "wasm32" ], "license": "MIT", "optional": true, - "os": [ - "openharmony" - ] + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", - "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz", + "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==", "cpu": [ "arm64" ], @@ -1787,25 +2387,15 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", - "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", - "cpu": [ - "ia32" ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", - "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz", + "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==", "cpu": [ "x64" ], @@ -1813,1241 +2403,336 @@ "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", - "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", - "cpu": [ - "x64" ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">= 20" + } }, - "node_modules/@shikijs/core": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", - "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "node_modules/@tailwindcss/vite": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz", + "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.5" + "@tailwindcss/node": "4.3.1", + "@tailwindcss/oxide": "4.3.1", + "tailwindcss": "4.3.1" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, - "node_modules/@shikijs/engine-javascript": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", - "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", "license": "MIT", + "optional": true, "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.4" + "tslib": "^2.4.0" } }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", - "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2" + "@types/ms": "*" } }, - "node_modules/@shikijs/langs": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", - "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.23.0" + "@types/estree": "*" } }, - "node_modules/@shikijs/themes": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", - "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.23.0" + "@types/unist": "*" } }, - "node_modules/@shikijs/types": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", - "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "@types/unist": "*" } }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", "license": "MIT" }, - "node_modules/@tailwindcss/node": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", - "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==", + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", "license": "MIT", "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "5.21.6", - "jiti": "^2.7.0", - "lightningcss": "1.32.0", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.3.1" + "@types/unist": "*" } }, - "node_modules/@tailwindcss/oxide": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz", - "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==", - "license": "MIT", - "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.3.1", - "@tailwindcss/oxide-darwin-arm64": "4.3.1", - "@tailwindcss/oxide-darwin-x64": "4.3.1", - "@tailwindcss/oxide-freebsd-x64": "4.3.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", - "@tailwindcss/oxide-linux-x64-musl": "4.3.1", - "@tailwindcss/oxide-wasm32-wasi": "4.3.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz", - "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz", - "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz", - "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz", - "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz", - "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz", - "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz", - "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz", - "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz", - "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz", - "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.10.0", - "@emnapi/runtime": "^1.10.0", - "@emnapi/wasi-threads": "^1.2.1", - "@napi-rs/wasm-runtime": "^1.1.4", - "@tybys/wasm-util": "^0.10.2", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz", - "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz", - "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz", - "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==", - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.3.1", - "@tailwindcss/oxide": "4.3.1", - "tailwindcss": "4.3.1" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7 || ^8" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", - "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/debug": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", - "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdx": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", - "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/nlcst": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", - "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/node": { - "version": "24.13.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.2.tgz", - "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.2.tgz", - "integrity": "sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==", - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", - "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-iterate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", - "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/astro": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.2.tgz", - "integrity": "sha512-TnFwLnAXty5MXKPDGuKXqK4AMBXG+FH6RUdK7Oyc3gyfNoFIthT+4eRbzOK43bdRlLaZuxgciDSjgtggZ3OtGQ==", - "license": "MIT", - "dependencies": { - "@astrojs/compiler": "^2.13.0", - "@astrojs/internal-helpers": "0.7.6", - "@astrojs/markdown-remark": "6.3.11", - "@astrojs/telemetry": "3.3.0", - "@capsizecss/unpack": "^4.0.0", - "@oslojs/encoding": "^1.1.0", - "@rollup/pluginutils": "^5.3.0", - "acorn": "^8.15.0", - "aria-query": "^5.3.2", - "axobject-query": "^4.1.0", - "boxen": "8.0.1", - "ci-info": "^4.3.1", - "clsx": "^2.1.1", - "common-ancestor-path": "^1.0.1", - "cookie": "^1.1.1", - "cssesc": "^3.0.0", - "debug": "^4.4.3", - "deterministic-object-hash": "^2.0.2", - "devalue": "^5.6.2", - "diff": "^8.0.3", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "es-module-lexer": "^1.7.0", - "esbuild": "^0.27.3", - "estree-walker": "^3.0.3", - "flattie": "^1.1.1", - "fontace": "~0.4.0", - "github-slugger": "^2.0.0", - "html-escaper": "3.0.3", - "http-cache-semantics": "^4.2.0", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", - "magic-string": "^0.30.21", - "magicast": "^0.5.1", - "mrmime": "^2.0.1", - "neotraverse": "^0.6.18", - "p-limit": "^6.2.0", - "p-queue": "^8.1.1", - "package-manager-detector": "^1.6.0", - "piccolore": "^0.1.3", - "picomatch": "^4.0.3", - "prompts": "^2.4.2", - "rehype": "^13.0.2", - "semver": "^7.7.3", - "shiki": "^3.21.0", - "smol-toml": "^1.6.0", - "svgo": "^4.0.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tsconfck": "^3.1.6", - "ultrahtml": "^1.6.0", - "unifont": "~0.7.3", - "unist-util-visit": "^5.0.0", - "unstorage": "^1.17.4", - "vfile": "^6.0.3", - "vite": "^6.4.1", - "vitefu": "^1.1.1", - "xxhash-wasm": "^1.1.0", - "yargs-parser": "^21.1.1", - "yocto-spinner": "^0.2.3", - "zod": "^3.25.76", - "zod-to-json-schema": "^3.25.1", - "zod-to-ts": "^1.2.0" - }, - "bin": { - "astro": "astro.js" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/astrodotbuild" - }, - "optionalDependencies": { - "sharp": "^0.34.0" - } - }, - "node_modules/astro/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], + "node_modules/@types/node": { + "version": "24.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.2.tgz", + "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" + "dependencies": { + "undici-types": "~7.18.0" } }, - "node_modules/astro/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" + "dependencies": { + "@types/node": "*" } }, - "node_modules/astro/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.2.tgz", + "integrity": "sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=18" + "node": ">=0.4.0" } }, - "node_modules/astro/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/astro/node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], + "node_modules/am-i-vibing": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.4.0.tgz", + "integrity": "sha512-MxT4XZL7pzLHpuvhDKdMaQHMGGkJDLluKBLsbstn+8wv9sWcFT6h+0ve9qkml95amVTZtZV83gQe2hY+ojgHLg==", "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], + "dependencies": { + "process-ancestry": "^0.1.0" + }, + "bin": { + "am-i-vibing": "dist/cli.mjs" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { - "node": ">=18" + "node": ">= 8" } }, - "node_modules/astro/node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], "engines": { - "node": ">=18" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/astro/node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">= 0.4" } }, - "node_modules/astro/node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/astro/node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "bin": { + "astring": "bin/astring" } }, - "node_modules/astro/node_modules/vite": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", - "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "node_modules/astro": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.1.6.tgz", + "integrity": "sha512-83x9rYbHazMaZkYrAFRVZXSQx2moFkz0F7cjTDUF3GWfS0a3p2vZXG1ZdhV86rStHApQCodBJW+XTD37xISIrQ==", "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "@astrojs/compiler-rs": "^0.3.2", + "@astrojs/internal-helpers": "0.10.2", + "@astrojs/markdown-satteri": "0.3.5", + "@astrojs/telemetry": "3.3.3", + "@capsizecss/unpack": "^4.0.0", + "@clack/prompts": "^1.1.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "am-i-vibing": "^0.4.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^2.0.1", + "devalue": "^5.8.1", + "diff": "^8.0.3", + "dset": "^3.1.4", + "es-module-lexer": "^2.0.0", + "esbuild": "^0.28.0", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.4", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "js-yaml": "^4.3.0", + "jsonc-parser": "^3.3.1", + "magic-string": "^1.0.0", + "magicast": "^0.5.2", + "mrmime": "^2.0.1", + "neotraverse": "^1.0.1", + "obug": "^2.1.1", + "p-limit": "^7.3.0", + "p-queue": "^9.1.0", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.4", + "semver": "^7.7.4", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "svgo": "^4.0.1", + "tinyclip": "^0.1.12", + "tinyexec": "^1.0.4", + "tinyglobby": "^0.2.15", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.4", + "unstorage": "^1.17.5", + "vite": "^8.0.13", + "vitefu": "^1.1.2", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.3.6" }, "bin": { - "vite": "bin/vite.js" + "astro": "bin/astro.mjs" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": ">=22.12.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" }, "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" }, "optionalDependencies": { - "fsevents": "~2.3.3" + "sharp": "^0.34.0 || ^0.35.0" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "@astrojs/markdown-remark": "7.2.2" }, "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { + "@astrojs/markdown-remark": { "optional": true } } }, - "node_modules/astro/node_modules/vite/node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "hasInstallScript": true, + "node_modules/astro-expressive-code": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.44.1.tgz", + "integrity": "sha512-DT1LnCqbHasBKlvzJ3m6LR4VI94wwx3W9EV/YbP1te4rqjOHsvsezHYuqb5MeLWLftXms/1FA9QBbwCo43DnJQ==", "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" + "dependencies": { + "rehype-expressive-code": "^0.44.1", + "url-extras": "^0.1.0" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/astro/node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0" } }, - "node_modules/astro/node_modules/zod-to-ts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", - "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", - "peerDependencies": { - "typescript": "^4.9.4 || ^5.0.2", - "zod": "^3" + "node_modules/astro/node_modules/magic-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.1.0.tgz", + "integrity": "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" } }, "node_modules/axobject-query": { @@ -3059,62 +2744,47 @@ "node": ">= 0.4" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.1.tgz", + "integrity": "sha512-KLw+H/gd2p4zly1X7Yh/qziuyae5/w/QFnvTng9eZL5fvszL7Whl3MBoWF8yxL7ksUjBfOD+OxkytiqbBpG+Fw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", - "license": "MIT" - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "license": "ISC" }, - "node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ccount": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", @@ -3125,18 +2795,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/character-entities": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", @@ -3207,18 +2865,6 @@ "node": ">=8" } }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", @@ -3258,18 +2904,21 @@ } }, "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", - "license": "ISC" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } }, "node_modules/cookie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", - "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=22" }, "funding": { "type": "opencollective", @@ -3307,6 +2956,22 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-selector-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", + "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, "node_modules/css-tree": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", @@ -3437,22 +3102,10 @@ "node": ">=8" } }, - "node_modules/deterministic-object-hash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", - "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", - "license": "MIT", - "dependencies": { - "base-64": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/devalue": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz", - "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.0.tgz", + "integrity": "sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A==", "license": "MIT" }, "node_modules/devlop": { @@ -3477,11 +3130,18 @@ "node": ">=0.3.1" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, "node_modules/dom-serializer": { "version": "2.0.0", @@ -3559,12 +3219,6 @@ "node": ">=4" } }, - "node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "license": "MIT" - }, "node_modules/enhanced-resolve": { "version": "5.21.6", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", @@ -3591,9 +3245,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", "license": "MIT" }, "node_modules/esast-util-from-estree": { @@ -3629,9 +3283,9 @@ } }, "node_modules/esbuild": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", - "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -3641,32 +3295,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.7", - "@esbuild/android-arm": "0.27.7", - "@esbuild/android-arm64": "0.27.7", - "@esbuild/android-x64": "0.27.7", - "@esbuild/darwin-arm64": "0.27.7", - "@esbuild/darwin-x64": "0.27.7", - "@esbuild/freebsd-arm64": "0.27.7", - "@esbuild/freebsd-x64": "0.27.7", - "@esbuild/linux-arm": "0.27.7", - "@esbuild/linux-arm64": "0.27.7", - "@esbuild/linux-ia32": "0.27.7", - "@esbuild/linux-loong64": "0.27.7", - "@esbuild/linux-mips64el": "0.27.7", - "@esbuild/linux-ppc64": "0.27.7", - "@esbuild/linux-riscv64": "0.27.7", - "@esbuild/linux-s390x": "0.27.7", - "@esbuild/linux-x64": "0.27.7", - "@esbuild/netbsd-arm64": "0.27.7", - "@esbuild/netbsd-x64": "0.27.7", - "@esbuild/openbsd-arm64": "0.27.7", - "@esbuild/openbsd-x64": "0.27.7", - "@esbuild/openharmony-arm64": "0.27.7", - "@esbuild/sunos-x64": "0.27.7", - "@esbuild/win32-arm64": "0.27.7", - "@esbuild/win32-ia32": "0.27.7", - "@esbuild/win32-x64": "0.27.7" + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" } }, "node_modules/escape-string-regexp": { @@ -3778,12 +3432,48 @@ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", "license": "MIT" }, + "node_modules/expressive-code": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.44.1.tgz", + "integrity": "sha512-GakidxhapWDzpKLqEaFQ8wGk6gAqEtPQibu8+yPBfnDLgev5Vdsh1pasTxnrXL/mzIknyqeTwhMHTghdaiUrTg==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.1", + "@expressive-code/plugin-frames": "^0.44.1", + "@expressive-code/plugin-shiki": "^0.44.1", + "@expressive-code/plugin-text-markers": "^0.44.1" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -3845,16 +3535,19 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/get-east-asian-width": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", - "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.4", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.4.tgz", + "integrity": "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==", "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, "engines": { - "node": ">=18" + "node": ">=20.20.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, "node_modules/github-slugger": { @@ -3886,6 +3579,39 @@ "uncrypto": "^0.1.3" } }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-from-html": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", @@ -3924,6 +3650,32 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-is-element": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", @@ -3937,6 +3689,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-parse-selector": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", @@ -3950,6 +3719,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-raw": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", @@ -3975,6 +3761,33 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-select": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", + "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-to-estree": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", @@ -4072,6 +3885,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-to-text": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", @@ -4134,20 +3960,48 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, - "node_modules/import-meta-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", - "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "node_modules/i18next": { + "version": "26.3.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.3.6.tgz", + "integrity": "sha512-Bu5Z2nAXgfVyM8xvW3jk9EKRIuX37PudsrBViThNFx7CR7aaYTpP01cxNB/E4c4UUzTDiAZRstEhsRfPOL/8xA==", + "funding": [ + { + "type": "individual", + "url": "https://www.locize.com/i18next" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + }, + { + "type": "individual", + "url": "https://www.locize.com" + } + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "peerDependencies": { + "typescript": "^5 || ^6 || ^7" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/inline-style-parser": { @@ -4200,29 +4054,20 @@ } }, "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-hexadecimal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", @@ -4233,24 +4078,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -4263,21 +4090,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jiti": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", @@ -4288,9 +4100,9 @@ } }, "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", + "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", "funding": [ { "type": "github", @@ -4309,13 +4121,19 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 8" } }, "node_modules/lightningcss": { @@ -4578,9 +4396,9 @@ } }, "node_modules/lru-cache": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", - "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -4596,13 +4414,13 @@ } }, "node_modules/magicast": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz", - "integrity": "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.4.tgz", + "integrity": "sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.3", - "@babel/types": "^7.29.0", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", "source-map-js": "^1.2.1" } }, @@ -4643,6 +4461,27 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-find-and-replace": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", @@ -5005,6 +4844,25 @@ "micromark-util-types": "^2.0.0" } }, + "node_modules/micromark-extension-directive": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz", + "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-extension-gfm": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", @@ -5687,9 +5545,9 @@ } }, "node_modules/neotraverse": { - "version": "0.6.18", - "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", - "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-1.0.1.tgz", + "integrity": "sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==", "license": "MIT", "engines": { "node": ">= 10" @@ -5715,9 +5573,9 @@ "license": "MIT" }, "node_modules/node-mock-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", - "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz", + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==", "license": "MIT" }, "node_modules/normalize-path": { @@ -5741,6 +5599,19 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/obug": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/ofetch": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", @@ -5776,54 +5647,72 @@ } }, "node_modules/p-limit": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", - "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.1.tgz", + "integrity": "sha512-0trZaiG7Y7kN/Egy9a8j47t9osC0Tch4PaIWd9yGF6bvmlk7muExRvGNYb8sXBwEKMoNKsbNN9P8EefuQekE4Q==", "license": "MIT", "dependencies": { - "yocto-queue": "^1.1.1" + "yocto-queue": "^1.2.1" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-queue": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", - "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.3.tgz", + "integrity": "sha512-NXAOdnEe5FsZJfT4oK84lE1Y5cFFdWlRuOo5tww8DyNMxyRXwn39fIkUtNLKppcPC+UYU/bXujNCUGDv01y7CA==", "license": "MIT", "dependencies": { - "eventemitter3": "^5.0.1", - "p-timeout": "^6.1.2" + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-timeout": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/package-manager-detector": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", - "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.8.0.tgz", + "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==", "license": "MIT" }, + "node_modules/pagefind": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.5.2.tgz", + "integrity": "sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.5.2", + "@pagefind/darwin-x64": "1.5.2", + "@pagefind/freebsd-x64": "1.5.2", + "@pagefind/linux-arm64": "1.5.2", + "@pagefind/linux-x64": "1.5.2", + "@pagefind/windows-arm64": "1.5.2", + "@pagefind/windows-x64": "1.5.2" + } + }, "node_modules/parse-entities": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", @@ -5931,6 +5820,44 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz", + "integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -5940,17 +5867,13 @@ "node": ">=6" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/process-ancestry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/process-ancestry/-/process-ancestry-0.1.0.tgz", + "integrity": "sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==", "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, "engines": { - "node": ">= 6" + "node": ">=18.0.0" } }, "node_modules/property-information": { @@ -6089,6 +6012,29 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-expressive-code": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.44.1.tgz", + "integrity": "sha512-+VZgs7Evw4LXRN3owpoBNSTpYuW6GeOdjqcUT1TuY8o/4MGPtbd0EU7Bgrju7X8KrQ6SslOBAuGWJ5fV5TriJQ==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.44.1" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-parse": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", @@ -6149,6 +6095,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-directive": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-4.0.0.tgz", + "integrity": "sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-gfm": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", @@ -6215,9 +6177,9 @@ } }, "node_modules/remark-smartypants": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", - "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.3.tgz", + "integrity": "sha512-gCaK+ndZ0hYezlqFegHFCVh2CQemsi0Npdh1qVM9bxlUFknjkbP6VmojWhddOCrbK0PbbacmYLWfTULRiT1eWA==", "license": "MIT", "dependencies": { "retext": "^9.0.0", @@ -6244,6 +6206,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/retext": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", @@ -6310,7 +6281,6 @@ "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.3.tgz", "integrity": "sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==", "license": "MIT", - "peer": true, "dependencies": { "@oxc-project/types": "=0.137.0", "@rolldown/pluginutils": "^1.0.0" @@ -6339,48 +6309,27 @@ "@rolldown/binding-win32-x64-msvc": "1.1.3" } }, - "node_modules/rollup": { - "version": "4.62.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", - "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", + "node_modules/satteri": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/satteri/-/satteri-0.9.5.tgz", + "integrity": "sha512-ZuWVl+vnM64y+/TtX8Kosv2c00W+hLQiiwnEL6H0UKVVrxFqMw4D2CJHHQaouVd89OAhtBBfjWLqhKi3TVUV4w==", "license": "MIT", "dependencies": { - "@types/estree": "1.0.9" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "@types/unist": "^3.0.3" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.62.2", - "@rollup/rollup-android-arm64": "4.62.2", - "@rollup/rollup-darwin-arm64": "4.62.2", - "@rollup/rollup-darwin-x64": "4.62.2", - "@rollup/rollup-freebsd-arm64": "4.62.2", - "@rollup/rollup-freebsd-x64": "4.62.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", - "@rollup/rollup-linux-arm-musleabihf": "4.62.2", - "@rollup/rollup-linux-arm64-gnu": "4.62.2", - "@rollup/rollup-linux-arm64-musl": "4.62.2", - "@rollup/rollup-linux-loong64-gnu": "4.62.2", - "@rollup/rollup-linux-loong64-musl": "4.62.2", - "@rollup/rollup-linux-ppc64-gnu": "4.62.2", - "@rollup/rollup-linux-ppc64-musl": "4.62.2", - "@rollup/rollup-linux-riscv64-gnu": "4.62.2", - "@rollup/rollup-linux-riscv64-musl": "4.62.2", - "@rollup/rollup-linux-s390x-gnu": "4.62.2", - "@rollup/rollup-linux-x64-gnu": "4.62.2", - "@rollup/rollup-linux-x64-musl": "4.62.2", - "@rollup/rollup-openbsd-x64": "4.62.2", - "@rollup/rollup-openharmony-arm64": "4.62.2", - "@rollup/rollup-win32-arm64-msvc": "4.62.2", - "@rollup/rollup-win32-ia32-msvc": "4.62.2", - "@rollup/rollup-win32-x64-gnu": "4.62.2", - "@rollup/rollup-win32-x64-msvc": "4.62.2", - "fsevents": "~2.3.2" + "@bruits/satteri-darwin-arm64": "0.9.5", + "@bruits/satteri-darwin-x64": "0.9.5", + "@bruits/satteri-linux-arm64-gnu": "0.9.5", + "@bruits/satteri-linux-arm64-musl": "0.9.5", + "@bruits/satteri-linux-x64-gnu": "0.9.5", + "@bruits/satteri-linux-x64-musl": "0.9.5", + "@bruits/satteri-wasm32-wasi": "0.9.5", + "@bruits/satteri-win32-arm64-msvc": "0.9.5", + "@bruits/satteri-win32-x64-msvc": "0.9.5" } }, "node_modules/sax": { @@ -6405,64 +6354,72 @@ } }, "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz", + "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==", "license": "Apache-2.0", "optional": true, "dependencies": { - "@img/colour": "^1.0.0", + "@img/colour": "^1.1.0", "detect-libc": "^2.1.2", - "semver": "^7.7.3" + "semver": "^7.8.5" }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": ">=20.9.0" }, "funding": { "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" + "@img/sharp-darwin-arm64": "0.35.3", + "@img/sharp-darwin-x64": "0.35.3", + "@img/sharp-freebsd-wasm32": "0.35.3", + "@img/sharp-libvips-darwin-arm64": "1.3.2", + "@img/sharp-libvips-darwin-x64": "1.3.2", + "@img/sharp-libvips-linux-arm": "1.3.2", + "@img/sharp-libvips-linux-arm64": "1.3.2", + "@img/sharp-libvips-linux-ppc64": "1.3.2", + "@img/sharp-libvips-linux-riscv64": "1.3.2", + "@img/sharp-libvips-linux-s390x": "1.3.2", + "@img/sharp-libvips-linux-x64": "1.3.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.2", + "@img/sharp-libvips-linuxmusl-x64": "1.3.2", + "@img/sharp-linux-arm": "0.35.3", + "@img/sharp-linux-arm64": "0.35.3", + "@img/sharp-linux-ppc64": "0.35.3", + "@img/sharp-linux-riscv64": "0.35.3", + "@img/sharp-linux-s390x": "0.35.3", + "@img/sharp-linux-x64": "0.35.3", + "@img/sharp-linuxmusl-arm64": "0.35.3", + "@img/sharp-linuxmusl-x64": "0.35.3", + "@img/sharp-webcontainers-wasm32": "0.35.3", + "@img/sharp-win32-arm64": "0.35.3", + "@img/sharp-win32-ia32": "0.35.3", + "@img/sharp-win32-x64": "0.35.3" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/shiki": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", - "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.4.1.tgz", + "integrity": "sha512-rFP+iYKzjLEIqiMiKANhARqiAbk4deDhWnBtnUO/K0D0dPxMGDH4N0FVfBY/VeI+lPrV4wNGCHQZp7EOr7NNBw==", "license": "MIT", "dependencies": { - "@shikijs/core": "3.23.0", - "@shikijs/engine-javascript": "3.23.0", - "@shikijs/engine-oniguruma": "3.23.0", - "@shikijs/langs": "3.23.0", - "@shikijs/themes": "3.23.0", - "@shikijs/types": "3.23.0", + "@shikijs/core": "4.4.1", + "@shikijs/engine-javascript": "4.4.1", + "@shikijs/engine-oniguruma": "4.4.1", + "@shikijs/langs": "4.4.1", + "@shikijs/themes": "4.4.1", + "@shikijs/types": "4.4.1", "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" } }, "node_modules/sisteransi": { @@ -6491,9 +6448,9 @@ } }, "node_modules/smol-toml": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz", - "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.1.tgz", + "integrity": "sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ==", "license": "BSD-3-Clause", "engines": { "node": ">= 18" @@ -6536,23 +6493,6 @@ "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", "license": "MIT" }, - "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/stringify-entities": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", @@ -6567,21 +6507,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/style-to-js": { "version": "1.1.21", "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", @@ -6601,9 +6526,9 @@ } }, "node_modules/svgo": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", - "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz", + "integrity": "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==", "license": "MIT", "dependencies": { "commander": "^11.1.0", @@ -6650,10 +6575,19 @@ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "license": "MIT" }, + "node_modules/tinyclip": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-0.1.15.tgz", + "integrity": "sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, "node_modules/tinyexec": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", - "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz", + "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==", "license": "MIT", "engines": { "node": ">=18" @@ -6695,27 +6629,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "deprecated": "unmaintained", - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -6723,32 +6636,6 @@ "license": "0BSD", "optional": true }, - "node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/ufo": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", @@ -6756,9 +6643,9 @@ "license": "MIT" }, "node_modules/ultrahtml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", - "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", "license": "MIT" }, "node_modules/uncrypto": { @@ -7035,6 +6922,24 @@ } } }, + "node_modules/url-extras": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/url-extras/-/url-extras-0.1.0.tgz", + "integrity": "sha512-8tzwTeXFPuX/5PHuCDQE5Dd9Ts4rwoq2t9aIT+HS4iAVpmj5l4Ao7Q+BuuFjvWRqrLswBhQDk8O96ZicgCqQqw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -7082,7 +6987,6 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.0.tgz", "integrity": "sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==", "license": "MIT", - "peer": true, "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", @@ -7184,47 +7088,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", - "license": "MIT", - "dependencies": { - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/xxhash-wasm": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", @@ -7232,12 +7095,12 @@ "license": "MIT" }, "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", "license": "ISC", "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yocto-queue": { @@ -7252,33 +7115,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yocto-spinner": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", - "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", - "license": "MIT", - "dependencies": { - "yoctocolors": "^2.1.1" - }, - "engines": { - "node": ">=18.19" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/zod": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", @@ -7288,15 +7124,6 @@ "url": "https://github.com/sponsors/colinhacks" } }, - "node_modules/zod-to-json-schema": { - "version": "3.25.2", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", - "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.25.28 || ^4" - } - }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/package.json b/package.json index 3a9de02..b203be2 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,11 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^4.2.0", - "@astrojs/sitemap": "^3.2.0", + "@astrojs/mdx": "^7.0.5", + "@astrojs/sitemap": "^3.7.3", + "@astrojs/starlight": "^0.41.6", "@tailwindcss/vite": "^4.1.0", - "astro": "^5.10.0", + "astro": "^7.1.6", "tailwindcss": "^4.1.0" } } diff --git a/src/components/Brand.astro b/src/components/Brand.astro new file mode 100644 index 0000000..889a230 --- /dev/null +++ b/src/components/Brand.astro @@ -0,0 +1,49 @@ +--- +// The Wezel wordmark. Shared by the landing header and the docs header so the +// two chromes can't drift apart. +interface Props { + href?: string; +} + +const { href = "/" } = Astro.props; +--- + + + + wezel + + + diff --git a/src/components/docs/Header.astro b/src/components/docs/Header.astro new file mode 100644 index 0000000..5b8e5c1 --- /dev/null +++ b/src/components/docs/Header.astro @@ -0,0 +1,115 @@ +--- +import Search from "virtual:starlight/components/Search"; +import Brand from "../Brand.astro"; + +// Mirrors the landing header in src/pages/index.astro. The frame itself (fixed +// position, height, hairline, translucent background) comes from Starlight's +// PageFrame; this only fills it. +const links = [ + { href: "/docs", label: "Docs" }, + { href: "/blog", label: "Blog" }, + { href: "/status", label: "Status" }, + { href: "https://github.com/wezel-build", label: "GitHub", external: true }, +]; + +const path = Astro.url.pathname; +--- + +
+ + +
+
+ + +
+
+ + diff --git a/src/components/docs/ThemeProvider.astro b/src/components/docs/ThemeProvider.astro new file mode 100644 index 0000000..5cf3601 --- /dev/null +++ b/src/components/docs/ThemeProvider.astro @@ -0,0 +1,13 @@ +--- +// The design system is light-only, so we pin `data-theme` instead of letting +// Starlight read `prefers-color-scheme` / localStorage. +// +// `updatePickers` is still defined because Starlight's own scripts call +// `window.StarlightThemeProvider.updatePickers()`; with the theme select +// removed there is nothing to update, so it is a no-op. +--- + + diff --git a/src/components/docs/ThemeSelect.astro b/src/components/docs/ThemeSelect.astro new file mode 100644 index 0000000..a165473 --- /dev/null +++ b/src/components/docs/ThemeSelect.astro @@ -0,0 +1,3 @@ +--- +// Light theme only — no toggle. See ThemeProvider.astro. +--- diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 0000000..7fbcf2c --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,7 @@ +import { defineCollection } from "astro:content"; +import { docsLoader } from "@astrojs/starlight/loaders"; +import { docsSchema } from "@astrojs/starlight/schema"; + +export const collections = { + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), +}; diff --git a/src/content/docs/docs/concepts/experiments.md b/src/content/docs/docs/concepts/experiments.md new file mode 100644 index 0000000..972e420 --- /dev/null +++ b/src/content/docs/docs/concepts/experiments.md @@ -0,0 +1,26 @@ +--- +title: Experiments +description: The unit Wezel measures — steps, tools, and outcomes. +--- + + + +## Steps and tools + +Every step is declared as `[step..]`. The tool decides what is measured; +the name is how the step is referred to afterwards. + + + +### Available tools + +| Tool | Measures | +| --- | --- | +| `cargo` | | +| `exec` | | +| `filesize` | | +| `llvm-lines` | | + +## Outcomes and summaries + + diff --git a/src/content/docs/docs/concepts/observations.md b/src/content/docs/docs/concepts/observations.md new file mode 100644 index 0000000..32d50de --- /dev/null +++ b/src/content/docs/docs/concepts/observations.md @@ -0,0 +1,14 @@ +--- +title: Observations +description: What a single recorded measurement contains. +--- + + + +## What gets recorded + + + +## Sparse measurement + + diff --git a/src/content/docs/docs/concepts/regressions.md b/src/content/docs/docs/concepts/regressions.md new file mode 100644 index 0000000..ea400a0 --- /dev/null +++ b/src/content/docs/docs/concepts/regressions.md @@ -0,0 +1,22 @@ +--- +title: Regressions +description: How Wezel separates drift worth reading from ordinary noise. +--- + + + +## Baselines + + + +## Detection + + + +## Bisection + + + +:::note +Wezel locates the commit where a measurement moved. It does not attribute a cause. +::: diff --git a/src/content/docs/docs/index.md b/src/content/docs/docs/index.md new file mode 100644 index 0000000..3ef83d9 --- /dev/null +++ b/src/content/docs/docs/index.md @@ -0,0 +1,31 @@ +--- +title: Introduction +description: What Wezel is, and what it does to a repository. +sidebar: + label: Introduction +--- + + + +Wezel watches the build scenarios a team waits on, records how long they take, and +reports when that number moves for a reason worth reading. + +## What it measures + + + +## What it reports + + + +:::note +Slow shouldn't get slower; fast should stay fast. Wezel reports drift against a +baseline — it does not attribute a cause. +::: + +## Where to go next + +- [Installation](/docs/installation) — getting the CLI onto a machine. +- [Quickstart](/docs/quickstart) — a first tracked scenario, end to end. +- [Experiments](/docs/concepts/experiments) — the unit Wezel measures. diff --git a/src/content/docs/docs/installation.md b/src/content/docs/docs/installation.md new file mode 100644 index 0000000..04e2046 --- /dev/null +++ b/src/content/docs/docs/installation.md @@ -0,0 +1,30 @@ +--- +title: Installation +description: Getting the Wezel CLI onto a development machine or CI runner. +--- + + + +The install script fetches a single binary and places it on `PATH`. + +```sh frame="terminal" +curl -fsSL https://wezel.build/install.sh | sh +``` + +## From source + +```sh frame="terminal" +cargo install wezel +``` + +## Verifying the install + +```sh frame="terminal" +wezel --version +``` + + + +:::caution + +::: diff --git a/src/content/docs/docs/quickstart.md b/src/content/docs/docs/quickstart.md new file mode 100644 index 0000000..e624dae --- /dev/null +++ b/src/content/docs/docs/quickstart.md @@ -0,0 +1,48 @@ +--- +title: Quickstart +description: A first tracked scenario, from config file to first reported run. +--- + + + +## Define an experiment + +An experiment is a named set of steps. Each step names a tool and a label: + +```toml title="wezel.toml" +[step.cargo.build] +args = ["build", "--release"] + +[step.filesize.binary] +path = "target/release/wezel" +``` + + + +## Run it + +```sh frame="terminal" +wezel run +``` + + + +## Read the result + +One run produces one outcome, which can be summarised more than one way: + +| Summary | Tool | Value | +| --- | --- | --- | +| wall time | `cargo` | 42.1s | +| binary size | `filesize` | 18.4 MB | + + + +:::tip + +::: + +## Next + +- [Scenarios](/docs/tracking/scenarios) — choosing what to measure. +- [Continuous integration](/docs/tracking/continuous-integration) — running this on every push. diff --git a/src/content/docs/docs/reference/cli.md b/src/content/docs/docs/reference/cli.md new file mode 100644 index 0000000..9fb7fe2 --- /dev/null +++ b/src/content/docs/docs/reference/cli.md @@ -0,0 +1,15 @@ +--- +title: CLI +description: Wezel command reference. +--- + + + +## Commands + +| Command | Does | +| --- | --- | +| `wezel run` | | +| `wezel serve` | | + + diff --git a/src/content/docs/docs/reference/configuration.md b/src/content/docs/docs/reference/configuration.md new file mode 100644 index 0000000..b3ba0c9 --- /dev/null +++ b/src/content/docs/docs/reference/configuration.md @@ -0,0 +1,15 @@ +--- +title: Configuration +description: The wezel.toml schema. +--- + + + +## `[step..]` + +```toml title="wezel.toml" +[step.cargo.build] +args = ["build", "--release"] +``` + + diff --git a/src/content/docs/docs/server/overview.md b/src/content/docs/docs/server/overview.md new file mode 100644 index 0000000..b62275a --- /dev/null +++ b/src/content/docs/docs/server/overview.md @@ -0,0 +1,18 @@ +--- +title: Overview +description: What the Wezel server stores and serves. +sidebar: + label: Overview +--- + + + +## Storage + +Wezel stores runs in SQLite. + + + +## What it serves + + diff --git a/src/content/docs/docs/server/self-hosting.md b/src/content/docs/docs/server/self-hosting.md new file mode 100644 index 0000000..5a41f5a --- /dev/null +++ b/src/content/docs/docs/server/self-hosting.md @@ -0,0 +1,24 @@ +--- +title: Self-hosting +description: Running your own Wezel server. +--- + + + +## Running the server + +```sh frame="terminal" +wezel serve +``` + + + +## Docker Compose + +```yaml title="docker-compose.yml" +# COPY SLOT: the compose file we actually ship. +``` + +## Pointing the CLI at it + + diff --git a/src/content/docs/docs/tracking/continuous-integration.md b/src/content/docs/docs/tracking/continuous-integration.md new file mode 100644 index 0000000..35c7195 --- /dev/null +++ b/src/content/docs/docs/tracking/continuous-integration.md @@ -0,0 +1,22 @@ +--- +title: Continuous integration +description: Running Wezel on a CI runner and reporting results back. +sidebar: + label: Continuous integration +--- + + + +## GitHub Actions + +```yaml title=".github/workflows/wezel.yml" +# COPY SLOT: the workflow we actually recommend. +``` + +## Runner consistency + + + +## Reporting + + diff --git a/src/content/docs/docs/tracking/scenarios.md b/src/content/docs/docs/tracking/scenarios.md new file mode 100644 index 0000000..f64657f --- /dev/null +++ b/src/content/docs/docs/tracking/scenarios.md @@ -0,0 +1,14 @@ +--- +title: Scenarios +description: Choosing which builds are worth measuring. +--- + + + +## Common scenarios + + + +## Choosing what to track + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 58d3c42..ac9df78 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,5 +1,6 @@ --- import Base from "../layouts/Base.astro"; +import Brand from "../components/Brand.astro"; --- @@ -40,7 +35,8 @@ import Base from "../layouts/Base.astro";

Cargo-native build regression observability

- Your build got faster + {/* explicit space: Astro 7 collapses the newline before the span */} + Your build got faster{" "} here.

@@ -50,7 +46,7 @@ import Base from "../layouts/Base.astro";

@@ -166,17 +162,6 @@ import Base from "../layouts/Base.astro"; justify-content: space-between; height: 4.25rem; } - .brand { - display: inline-flex; - align-items: center; - gap: 0.6rem; - text-decoration: none; - } - .brand-name { - font-family: var(--font-display); - font-size: 1.55rem; - color: var(--color-ink); - } .nav { display: flex; align-items: center; diff --git a/src/styles/docs.css b/src/styles/docs.css new file mode 100644 index 0000000..91ce7de --- /dev/null +++ b/src/styles/docs.css @@ -0,0 +1,550 @@ +/* + Starlight, dressed in the Wezel design system. + + Everything here maps Starlight's `--sl-*` tokens onto the palette defined in + `global.css`. No new colours are introduced: the two derived values below are + `color-mix()` of existing tokens, because Starlight's neutral ramp has more + steps than ours does. + + Light theme only — the theme toggle is removed and `data-theme` is pinned to + `light` (see `src/components/docs/ThemeProvider.astro`). +*/ + +/* + Layer order. Tailwind's `base` (preflight) is declared first so that + Starlight's own resets and component styles win over it; without this the two + resets fight and Starlight loses depending on injection order. +*/ +@layer base, starlight.base, starlight.reset, starlight.core, starlight.content, + starlight.components, starlight.utils, theme, components, utilities; + +/* ========================================================================== + TOKENS + ========================================================================== */ + +:root, +:root[data-theme="light"], +::backdrop, +[data-theme="light"] ::backdrop { + /* --- neutral ramp ------------------------------------------------------- + Starlight's light mode inverts this ramp: `white` is the darkest ink and + `black` is the page background. */ + --sl-color-white: var(--color-ink); + --sl-color-gray-1: var(--color-ink); + --sl-color-gray-2: var(--color-ink-soft); + --sl-color-gray-3: var(--color-ink-faint); + /* derived: Starlight wants a step between ink-faint and line-strong */ + --sl-color-gray-4: color-mix(in srgb, var(--color-ink-faint) 55%, var(--color-line-strong)); + --sl-color-gray-5: var(--color-line-strong); + --sl-color-gray-6: var(--color-line); + --sl-color-gray-7: var(--color-veil); + --sl-color-black: var(--color-paper); + + /* --- accent: terracotta, used sparingly --- */ + --sl-color-accent-low: var(--color-accent-wash); + --sl-color-accent: var(--color-accent); + --sl-color-accent-high: var(--color-accent-deep); + + /* --- semantic surfaces --- */ + --sl-color-bg: var(--color-paper); + /* translucent paper, same treatment as the landing header */ + --sl-color-bg-nav: color-mix(in srgb, var(--color-paper) 85%, transparent); + --sl-color-bg-sidebar: var(--color-paper); + --sl-color-bg-inline-code: var(--color-veil); + --sl-color-bg-accent: var(--color-accent); + --sl-color-text: var(--color-ink-soft); + --sl-color-text-accent: var(--color-accent); + --sl-color-text-invert: var(--color-paper); + --sl-color-hairline: var(--color-line); + --sl-color-hairline-light: var(--color-line); + --sl-color-hairline-shade: var(--color-line); + --sl-color-backdrop-overlay: color-mix(in srgb, var(--color-ink) 45%, transparent); + + /* --- signal colours ----------------------------------------------------- + Starlight names its aside palette blue/purple/orange/red. We only have + three signals, so: note → neutral, tip → good, caution → accent, + danger → warn. */ + --sl-color-blue-low: var(--color-veil); + --sl-color-blue: var(--color-line-strong); + --sl-color-blue-high: var(--color-ink-soft); + + --sl-color-purple-low: var(--color-good-wash); + --sl-color-purple: var(--color-good); + --sl-color-purple-high: var(--color-good); + + --sl-color-orange-low: var(--color-accent-wash); + --sl-color-orange: var(--color-accent); + --sl-color-orange-high: var(--color-accent-deep); + + --sl-color-red-low: var(--color-warn-wash); + --sl-color-red: var(--color-warn); + --sl-color-red-high: var(--color-warn); + + --sl-color-green-low: var(--color-good-wash); + --sl-color-green: var(--color-good); + --sl-color-green-high: var(--color-good); + + /* --- shadows: warm, and barely there --- */ + --sl-shadow-sm: 0 1px 2px color-mix(in srgb, var(--color-ink) 4%, transparent); + --sl-shadow-md: 0 1px 2px color-mix(in srgb, var(--color-ink) 4%, transparent), + 0 12px 28px -18px color-mix(in srgb, var(--color-ink) 18%, transparent); + --sl-shadow-lg: 0 1px 2px color-mix(in srgb, var(--color-ink) 5%, transparent), + 0 24px 48px -24px color-mix(in srgb, var(--color-ink) 22%, transparent); + + /* --- type --- */ + --sl-font: var(--font-sans); + --sl-font-mono: var(--font-mono); + + --sl-text-h1: 2.1rem; + --sl-text-h2: 1.45rem; + --sl-text-h3: 1.15rem; + --sl-text-h4: 1rem; + --sl-line-height: 1.7; + --sl-line-height-headings: 1.25; + + /* --- layout: matched to the landing --- */ + --sl-nav-height: 4.25rem; + --sl-nav-pad-x: 1.5rem; + --sl-sidebar-width: 17rem; + --sl-sidebar-pad-x: 1.25rem; + --sl-content-width: 46rem; + --sl-content-pad-x: 1.75rem; +} + +@media (min-width: 50em) { + :root { + --sl-text-h1: 2.6rem; + --sl-text-h2: 1.75rem; + --sl-text-h3: 1.3rem; + --sl-text-h4: 1.05rem; + } +} + +/* ========================================================================== + PAGE CHROME + ========================================================================== */ + +/* Starlight's PageFrame owns the fixed header bar and its hairline; we only add + the landing's blur so the two chromes are indistinguishable. */ +.header { + backdrop-filter: saturate(140%) blur(8px); +} + +/* Sidebar and TOC sit on paper, separated by hairlines only. */ +#starlight__sidebar, +.sidebar-pane { + border-inline-end: 1px solid var(--color-line); + background: var(--color-paper); +} + +.right-sidebar { + border-inline-start: 1px solid var(--color-line); +} + +@media (min-width: 72rem) { + .right-sidebar { + border-inline-start: none; + } +} + +/* ========================================================================== + SIDEBAR — uppercase, letter-tracked group labels; one accent on active + ========================================================================== */ + +.sidebar-content { + padding-top: 1.5rem; +} + +/* group headings */ +.sidebar-content summary, +.sidebar-content > ul > li > details > summary .group-label > span, +.sidebar-content .large { + font-family: var(--font-mono); + font-size: 0.7rem; + font-weight: 500; + letter-spacing: 0.11em; + text-transform: uppercase; + color: var(--color-ink-faint); +} + +.sidebar-content ul.top-level > li + li { + margin-top: 1.4rem; +} + +.sidebar-content a { + font-size: 0.9rem; + color: var(--color-ink-soft); + border-inline-start: 2px solid transparent; + border-radius: 0; + padding-block: 0.32rem; + transition: color 0.15s ease, border-color 0.15s ease; +} + +.sidebar-content a:hover { + color: var(--color-ink); + background: transparent; +} + +.sidebar-content a[aria-current="page"], +.sidebar-content a[aria-current="page"]:hover { + font-weight: 500; + color: var(--color-accent); + background: transparent; + border-inline-start-color: var(--color-accent); +} + +/* nested lists get the rail the active marker sits on */ +.sidebar-content ul ul { + border-inline-start: 1px solid var(--color-line); + padding-inline-start: 0; + margin-inline-start: 0; +} + +.sidebar-content ul ul li { + border-inline-start: none; + padding-inline-start: 0; + margin-inline-start: 0; +} + +.sidebar-content ul ul a { + padding-inline-start: 0.85rem; + margin-inline-start: -1px; +} + +/* ========================================================================== + TABLE OF CONTENTS + ========================================================================== */ + +starlight-toc nav > h2, +.right-sidebar h2 { + font-family: var(--font-mono); + font-size: 0.7rem; + font-weight: 500; + letter-spacing: 0.11em; + text-transform: uppercase; + color: var(--color-ink-faint); + margin-bottom: 0.6rem; +} + +starlight-toc a { + font-size: 0.85rem; + color: var(--color-ink-soft); + border-inline-start: 2px solid var(--color-line); + padding-block: 0.3rem; + border-radius: 0; + transition: color 0.15s ease, border-color 0.15s ease; +} + +starlight-toc a:hover { + color: var(--color-ink); +} + +starlight-toc a[aria-current="true"], +starlight-toc a[aria-current="true"]:hover { + font-weight: 500; + color: var(--color-accent); + background: transparent; + border-inline-start-color: var(--color-accent); +} + +/* mobile TOC bar */ +starlight-toc > nav > button, +.right-sidebar-container mobile-starlight-toc button { + font-family: var(--font-mono); + font-size: 0.8rem; + background: var(--color-veil); + border-color: var(--color-line); +} + +/* ========================================================================== + CONTENT — mono headings (the SST cue), generous rhythm + ========================================================================== */ + +.content-panel + .content-panel { + border-top: 1px solid var(--color-line); +} + +.sl-markdown-content h1, +.sl-markdown-content h2, +.sl-markdown-content h3, +.sl-markdown-content h4, +.sl-markdown-content h5, +.sl-markdown-content h6, +h1#_top { + font-family: var(--font-mono); + font-weight: 500; + letter-spacing: -0.015em; + color: var(--color-ink); +} + +h1#_top { + font-size: var(--sl-text-h1); +} + +/* Starlight makes headings `display: inline` inside `.sl-heading-wrapper` so the + anchor link can sit on the same line. Section rules therefore go on the + wrapper, which is the block-level element. */ +.sl-markdown-content .sl-heading-wrapper.level-h2 { + margin-top: 2.75rem; + padding-top: 1.5rem; + border-top: 1px solid var(--color-line); +} + +/* A page that opens straight into a section shouldn't stack its own hairline + on top of the one under the page title. */ +.sl-markdown-content > .sl-heading-wrapper.level-h2:first-child { + margin-top: 0; + padding-top: 0; + border-top: none; +} + +.sl-markdown-content .sl-heading-wrapper.level-h3 { + margin-top: 2rem; +} + +.sl-markdown-content .sl-anchor-link { + color: var(--color-ink-faint); +} + +.sl-markdown-content .sl-anchor-link:hover { + color: var(--color-accent); +} + +/* the page's own descriptive standfirst, set apart from body copy */ +.page-standfirst { + font-size: 1.08rem; + line-height: 1.6; + color: var(--color-ink-soft); + max-width: 46ch; + margin-top: 0.9rem; +} + +.sl-markdown-content a:not(:where(.not-content *)) { + color: var(--color-accent); + text-decoration-color: color-mix(in srgb, var(--color-accent) 35%, transparent); + text-underline-offset: 0.2em; +} + +.sl-markdown-content a:not(:where(.not-content *)):hover { + color: var(--color-accent-deep); + text-decoration-color: currentColor; +} + +.sl-markdown-content strong { + color: var(--color-ink); + font-weight: 600; +} + +/* inline code reads as a token, not a button */ +.sl-markdown-content code:not(:where(.not-content *)) { + font-family: var(--font-mono); + font-size: 0.86em; + background: var(--color-veil); + border: 1px solid var(--color-line); + border-radius: 0.3rem; + padding: 0.1em 0.35em; + color: var(--color-ink); +} + +.sl-markdown-content :is(h1, h2, h3, h4, h5, h6) code { + font-size: 1em; + background: none; + border: none; + padding: 0; +} + +.sl-markdown-content blockquote:not(:where(.not-content *)) { + border-inline-start: 2px solid var(--color-line-strong); + color: var(--color-ink-soft); + font-style: normal; +} + +.sl-markdown-content hr { + border-color: var(--color-line); +} + +/* tables read as receipts */ +.sl-markdown-content table:not(:where(.not-content *)) { + font-size: 0.92rem; +} + +.sl-markdown-content :is(th, td):not(:where(.not-content *)) { + border-color: var(--color-line); +} + +.sl-markdown-content th:not(:where(.not-content *)) { + font-family: var(--font-mono); + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--color-ink-faint); +} + +/* ========================================================================== + ASIDES — soft warm tints, hairline keyline + ========================================================================== */ + +.starlight-aside { + border-radius: 0.6rem; + border-inline-start-width: 2px; + padding: 0.95rem 1.1rem; + color: var(--color-ink-soft); +} + +.starlight-aside__title { + font-family: var(--font-mono); + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.starlight-aside--note { + --sl-color-asides-text-accent: var(--color-ink-soft); + --sl-color-asides-border: var(--color-line-strong); +} + +/* ========================================================================== + CODE BLOCKS + ========================================================================== */ + +.expressive-code .frame pre { + border-color: var(--color-line); +} + +.expressive-code .frame.is-terminal .header::before, +.expressive-code figcaption.header { + font-family: var(--font-mono); + font-size: 0.75rem; + letter-spacing: 0.02em; +} + +/* ========================================================================== + PAGINATION / FOOTER + ========================================================================== */ + +.pagination-links a { + border-color: var(--color-line); + border-radius: 0.6rem; + background: var(--color-surface); + box-shadow: none; + transition: border-color 0.15s ease; +} + +.pagination-links a:hover { + border-color: var(--color-line-strong); +} + +.pagination-links svg { + color: var(--color-ink-faint); +} + +/* The direct span holds the "Previous"/"Next" kicker; `.link-title` inside it + holds the page name. Kicker small and quiet, page name prominent. */ +.pagination-links a > span { + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.1em; + text-transform: uppercase; + color: var(--color-ink-faint); +} + +.pagination-links a .link-title { + display: inline-block; + margin-top: 0.25rem; + font-family: var(--font-mono); + font-size: 1rem; + font-weight: 500; + letter-spacing: -0.01em; + text-transform: none; + color: var(--color-ink); +} + +.pagination-links a:hover .link-title { + color: var(--color-accent); +} + +footer .meta { + font-size: 0.85rem; + color: var(--color-ink-faint); +} + +/* ========================================================================== + SEARCH — ⌘K dialog on paper + ========================================================================== */ + +site-search button[data-open-modal] { + font-family: var(--font-mono); + font-size: 0.8rem; + border-color: var(--color-line-strong); + border-radius: 0.5rem; + background: var(--color-surface); + color: var(--color-ink-faint); + box-shadow: none; + transition: border-color 0.15s ease; +} + +site-search button[data-open-modal]:hover { + border-color: var(--color-ink-faint); +} + +site-search kbd { + font-family: var(--font-mono); + background: var(--color-veil); + color: var(--color-ink-faint); +} + +site-search dialog { + border: 1px solid var(--color-line); + border-radius: 0.9rem; + background: var(--color-paper); + box-shadow: var(--sl-shadow-lg); +} + +#starlight__search { + --pagefind-ui-font: var(--font-sans); + --pagefind-ui-text: var(--color-ink); + --pagefind-ui-background: var(--color-paper); + --pagefind-ui-border: var(--color-line); + --pagefind-ui-primary: var(--color-accent); + --pagefind-ui-tag: var(--color-veil); + --pagefind-ui-border-radius: 0.6rem; + --pagefind-ui-border-width: 1px; +} + +#starlight__search .pagefind-ui__search-input { + font-family: var(--font-mono); + font-weight: 400; + background: var(--color-surface); +} + +#starlight__search .pagefind-ui__result-title a { + font-family: var(--font-mono); + font-weight: 500; + color: var(--color-ink); +} + +#starlight__search mark { + background: var(--color-accent-wash); + color: var(--color-accent-deep); +} + +/* ========================================================================== + MOBILE MENU + ========================================================================== */ + +starlight-menu-button button { + background: var(--color-surface); + border: 1px solid var(--color-line-strong); + border-radius: 0.5rem; + box-shadow: none; + color: var(--color-ink); +} + +@media (max-width: 50rem) { + .sidebar-pane { + border-inline-end: none; + border-top: 1px solid var(--color-line); + } +} From 536c63fcec0c1f15d727e338577aa0f1a4a475ae Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Sun, 9 Aug 2026 00:15:49 +0200 Subject: [PATCH 04/16] Rebuild docs yay --- astro.config.mjs | 144 +-- package-lock.json | 693 +------------- package.json | 5 +- src/components/Brand.astro | 32 +- src/components/docs/DocsHeader.astro | 61 ++ src/components/docs/DocsPageHeader.astro | 25 + src/components/docs/DocsPager.astro | 31 + src/components/docs/DocsSidebar.astro | 63 ++ src/components/docs/DocsTableOfContents.astro | 60 ++ src/components/docs/Header.astro | 115 --- src/components/docs/ThemeProvider.astro | 13 - src/components/docs/ThemeSelect.astro | 3 - src/content.config.ts | 20 +- .../docs/{docs => }/concepts/experiments.md | 0 .../docs/{docs => }/concepts/observations.md | 0 .../docs/{docs => }/concepts/regressions.md | 5 +- src/content/docs/{docs => }/index.md | 9 +- src/content/docs/{docs => }/installation.md | 5 +- src/content/docs/navigation.yml | 54 ++ src/content/docs/{docs => }/quickstart.md | 5 +- src/content/docs/{docs => }/reference/cli.md | 0 .../{docs => }/reference/configuration.md | 0 .../docs/{docs => }/server/overview.md | 2 - .../docs/{docs => }/server/self-hosting.md | 0 .../tracking/continuous-integration.md | 2 - .../docs/{docs => }/tracking/scenarios.md | 0 src/layouts/Base.astro | 6 +- src/layouts/DocsLayout.astro | 68 ++ src/lib/docs-navigation.ts | 294 ++++++ src/lib/table-of-contents.ts | 29 + src/pages/docs/[...slug].astro | 26 + src/styles/docs.css | 860 ++++++++++-------- src/styles/global.css | 10 +- 33 files changed, 1333 insertions(+), 1307 deletions(-) create mode 100644 src/components/docs/DocsHeader.astro create mode 100644 src/components/docs/DocsPageHeader.astro create mode 100644 src/components/docs/DocsPager.astro create mode 100644 src/components/docs/DocsSidebar.astro create mode 100644 src/components/docs/DocsTableOfContents.astro delete mode 100644 src/components/docs/Header.astro delete mode 100644 src/components/docs/ThemeProvider.astro delete mode 100644 src/components/docs/ThemeSelect.astro rename src/content/docs/{docs => }/concepts/experiments.md (100%) rename src/content/docs/{docs => }/concepts/observations.md (100%) rename src/content/docs/{docs => }/concepts/regressions.md (78%) rename src/content/docs/{docs => }/index.md (83%) rename src/content/docs/{docs => }/installation.md (83%) create mode 100644 src/content/docs/navigation.yml rename src/content/docs/{docs => }/quickstart.md (94%) rename src/content/docs/{docs => }/reference/cli.md (100%) rename src/content/docs/{docs => }/reference/configuration.md (100%) rename src/content/docs/{docs => }/server/overview.md (89%) rename src/content/docs/{docs => }/server/self-hosting.md (100%) rename src/content/docs/{docs => }/tracking/continuous-integration.md (91%) rename src/content/docs/{docs => }/tracking/scenarios.md (100%) create mode 100644 src/layouts/DocsLayout.astro create mode 100644 src/lib/docs-navigation.ts create mode 100644 src/lib/table-of-contents.ts create mode 100644 src/pages/docs/[...slug].astro diff --git a/astro.config.mjs b/astro.config.mjs index d06cc75..ceaf8eb 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -2,107 +2,61 @@ import { defineConfig } from "astro/config"; import mdx from "@astrojs/mdx"; import sitemap from "@astrojs/sitemap"; -import starlight from "@astrojs/starlight"; import tailwindcss from "@tailwindcss/vite"; +import { remarkAlert } from "remark-github-blockquote-alert"; -// https://astro.build/config -export default defineConfig({ - site: "https://wezel.build", - integrations: [ - starlight({ - title: "wezel", - description: - "Documentation for Wezel — Cargo-native build regression observability.", - // Docs entries live in src/content/docs/docs/**, so Starlight owns /docs/* - // and src/pages/index.astro keeps ownership of /. - customCss: ["./src/styles/global.css", "./src/styles/docs.css"], - components: { - // Landing chrome, reused verbatim so the header doesn't change between / and /docs. - Header: "./src/components/docs/Header.astro", - // Light theme only — see docs.css. - ThemeProvider: "./src/components/docs/ThemeProvider.astro", - ThemeSelect: "./src/components/docs/ThemeSelect.astro", - }, - social: [ - { - icon: "github", - label: "GitHub", - href: "https://github.com/wezel-build", - }, - ], - // Plugin reference is deliberately absent from the top level. - sidebar: [ - { - label: "Get started", - // `docs` is src/content/docs/docs/index.md — the /docs landing. - items: [ - { slug: "docs" }, - { slug: "docs/installation" }, - { slug: "docs/quickstart" }, - ], - }, - { - label: "Concepts", - items: [ - { slug: "docs/concepts/experiments" }, - { slug: "docs/concepts/observations" }, - { slug: "docs/concepts/regressions" }, - ], - }, - // Server comes before tracking: you stand up somewhere to send results - // before you start sending them. - { - label: "Server", - items: [ - { slug: "docs/server/overview" }, - { slug: "docs/server/self-hosting" }, - ], - }, +/** + * Lifts a code fence's `title="…"` / `frame="terminal"` into a `
` with a + * caption, so the filename can be set as a caption rather than as chrome. + * + * This replaces the one Expressive Code feature the docs actually used. Plain + * Shiki is otherwise preferred, because `theme: "css-variables"` lets code + * inherit the Wezel palette instead of importing an editor theme. + * + * @type {() => import("shiki").ShikiTransformer} + */ +const codeFigure = () => ({ + name: "wezel:code-figure", + root(root) { + const raw = String(this.options.meta?.__raw ?? ""); + const title = /title="([^"]+)"/.exec(raw)?.[1]; + const caption = title ?? (/frame="terminal"/.test(raw) ? "Terminal" : null); + if (caption === null) return; + + return { + type: "root", + children: [ { - label: "Tracking", - items: [ - { slug: "docs/tracking/scenarios" }, - { slug: "docs/tracking/continuous-integration" }, + type: "element", + tagName: "figure", + properties: { className: ["code-figure"] }, + children: [ + { + type: "element", + tagName: "figcaption", + properties: {}, + children: [{ type: "text", value: caption }], + }, + ...root.children, ], }, - { - label: "Reference", - collapsed: true, - items: [{ slug: "docs/reference/cli" }, { slug: "docs/reference/configuration" }], - }, ], - // Chrome we don't want. - credits: false, - lastUpdated: false, - pagination: true, - tableOfContents: { minHeadingLevel: 2, maxHeadingLevel: 3 }, - expressiveCode: { - themes: ["github-light"], - styleOverrides: { - borderRadius: "0.6rem", - borderColor: "var(--color-line)", - codeBackground: "var(--color-surface)", - codeFontFamily: "var(--font-mono)", - codeFontSize: "0.85rem", - uiFontFamily: "var(--font-mono)", - frames: { - editorTabBarBackground: "var(--color-veil)", - editorTabBarBorderBottomColor: "var(--color-line)", - editorActiveTabBackground: "var(--color-surface)", - editorActiveTabBorderColor: "var(--color-line)", - editorActiveTabIndicatorTopColor: "var(--color-accent)", - editorTabBorderRadius: "0.35rem", - terminalBackground: "var(--color-surface)", - terminalTitlebarBackground: "var(--color-veil)", - terminalTitlebarBorderBottomColor: "var(--color-line)", - shadowColor: "transparent", - }, - }, - }, - }), - mdx(), - sitemap(), - ], + }; + }, +}); + +// https://astro.build/config +export default defineConfig({ + site: "https://wezel.build", + integrations: [mdx(), sitemap()], + markdown: { + remarkPlugins: [remarkAlert], + shikiConfig: { + // Inherits the palette from docs.css rather than shipping its own. + theme: "css-variables", + transformers: [codeFigure()], + }, + }, vite: { plugins: [tailwindcss()], }, diff --git a/package-lock.json b/package-lock.json index 479c5c7..8f4b010 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,11 @@ "dependencies": { "@astrojs/mdx": "^7.0.5", "@astrojs/sitemap": "^3.7.3", - "@astrojs/starlight": "^0.41.6", "@tailwindcss/vite": "^4.1.0", "astro": "^7.1.6", - "tailwindcss": "^4.1.0" + "remark-github-blockquote-alert": "^2.1.0", + "tailwindcss": "^4.1.0", + "yaml": "^2.9.0" } }, "node_modules/@astrojs/compiler-binding": { @@ -303,52 +304,6 @@ "zod": "^4.3.6" } }, - "node_modules/@astrojs/starlight": { - "version": "0.41.6", - "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.41.6.tgz", - "integrity": "sha512-Dt0/wY2JbFGUpxMgclw1j2Iqks2GG0LHYKgP7TfBXsFrs4LIbKvQ596lzyhXLz6nFcnPdIB9ZRFyDJeuVcx3Ug==", - "license": "MIT", - "dependencies": { - "@astrojs/markdown-satteri": "^0.3.2", - "@astrojs/mdx": "^7.0.0", - "@astrojs/sitemap": "^3.7.2", - "@pagefind/default-ui": "^1.3.0", - "@types/hast": "^3.0.4", - "@types/js-yaml": "^4.0.9", - "@types/mdast": "^4.0.4", - "astro-expressive-code": "^0.44.0", - "bcp-47": "^2.1.0", - "hast-util-from-html": "^2.0.3", - "hast-util-select": "^6.0.4", - "hast-util-to-string": "^3.0.1", - "hastscript": "^9.0.1", - "i18next": "^26.0.7", - "js-yaml": "^4.1.1", - "klona": "^2.0.6", - "magic-string": "^0.30.21", - "mdast-util-directive": "^3.1.0", - "mdast-util-to-markdown": "^2.1.2", - "mdast-util-to-string": "^4.0.0", - "pagefind": "^1.5.2", - "rehype": "^13.0.2", - "rehype-format": "^5.0.1", - "remark-directive": "^4.0.0", - "satteri": "^0.9.1", - "ultrahtml": "^1.6.0", - "unified": "^11.0.5", - "unist-util-visit": "^5.1.0", - "vfile": "^6.0.3" - }, - "peerDependencies": { - "@astrojs/markdown-remark": "^7.2.0", - "astro": "^7.0.2" - }, - "peerDependenciesMeta": { - "@astrojs/markdown-remark": { - "optional": true - } - } - }, "node_modules/@astrojs/telemetry": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.3.tgz", @@ -572,15 +527,6 @@ "node": ">= 20.12.0" } }, - "node_modules/@ctrl/tinycolor": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", - "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, "node_modules/@emnapi/core": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", @@ -1028,51 +974,6 @@ "node": ">=18" } }, - "node_modules/@expressive-code/core": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.44.1.tgz", - "integrity": "sha512-3dDo9N8D7hYrLNNMMWFovg3+aDUtnQm7c7z0GZc1c0LEFVBc0Q6lKG+tVT28gDadOvsgOANfCn35fgpe97Pmgg==", - "license": "MIT", - "dependencies": { - "@ctrl/tinycolor": "^4.0.4", - "hast-util-select": "^6.0.2", - "hast-util-to-html": "^9.0.1", - "hast-util-to-text": "^4.0.1", - "hastscript": "^9.0.0", - "postcss": "^8.4.38", - "postcss-nested": "^6.0.1", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.1" - } - }, - "node_modules/@expressive-code/plugin-frames": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.44.1.tgz", - "integrity": "sha512-HC/bdRao9225ApcgO/e3jn8ZOhldKO7ob1O/Tcipvtv7Vb5nMphZhMtD9uuywpvxkPYBHJi3504WhrKg05Dwqg==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.44.1" - } - }, - "node_modules/@expressive-code/plugin-shiki": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.44.1.tgz", - "integrity": "sha512-YApiZt3buUzBwL5tqj8G+sYC5NjMjRCHgQwr9bmGl69rtcHy6fE9dooWUeKYB978fJT2BuxT5FeHcF47rA3SEg==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.44.1", - "shiki": "^4.0.2" - } - }, - "node_modules/@expressive-code/plugin-text-markers": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.44.1.tgz", - "integrity": "sha512-B3BsJoJ8CFMlcIX9f+X9tcI3C4zPDO601+YuLi9GheSTNro7ZfqSjLptMQKBHOWZvxnAtY5zvIX7iO/qtBhNBg==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.44.1" - } - }, "node_modules/@img/colour": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", @@ -1692,103 +1593,6 @@ "url": "https://github.com/sponsors/Boshen" } }, - "node_modules/@pagefind/darwin-arm64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.5.2.tgz", - "integrity": "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@pagefind/darwin-x64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.5.2.tgz", - "integrity": "sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@pagefind/default-ui": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.5.2.tgz", - "integrity": "sha512-pm1LMnQg8N2B3n2TnjKlhaFihpz6zTiA4HiGQ6/slKO/+8K9CAU5kcjdSSPgpuk1PMuuN4hxLipUIifnrkl3Sg==", - "license": "MIT" - }, - "node_modules/@pagefind/freebsd-x64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.5.2.tgz", - "integrity": "sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@pagefind/linux-arm64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.5.2.tgz", - "integrity": "sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pagefind/linux-x64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.5.2.tgz", - "integrity": "sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pagefind/windows-arm64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/windows-arm64/-/windows-arm64-1.5.2.tgz", - "integrity": "sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@pagefind/windows-x64": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.5.2.tgz", - "integrity": "sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@rolldown/binding-android-arm64": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz", @@ -2465,12 +2269,6 @@ "@types/unist": "*" } }, - "node_modules/@types/js-yaml": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", - "license": "MIT" - }, "node_modules/@types/mdast": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", @@ -2713,19 +2511,6 @@ } } }, - "node_modules/astro-expressive-code": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.44.1.tgz", - "integrity": "sha512-DT1LnCqbHasBKlvzJ3m6LR4VI94wwx3W9EV/YbP1te4rqjOHsvsezHYuqb5MeLWLftXms/1FA9QBbwCo43DnJQ==", - "license": "MIT", - "dependencies": { - "rehype-expressive-code": "^0.44.1", - "url-extras": "^0.1.0" - }, - "peerDependencies": { - "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0" - } - }, "node_modules/astro/node_modules/magic-string": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.1.0.tgz", @@ -2754,31 +2539,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/bcp-47": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.1.tgz", - "integrity": "sha512-KLw+H/gd2p4zly1X7Yh/qziuyae5/w/QFnvTng9eZL5fvszL7Whl3MBoWF8yxL7ksUjBfOD+OxkytiqbBpG+Fw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/bcp-47-match": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", - "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -2956,22 +2716,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css-selector-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", - "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, "node_modules/css-tree": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", @@ -2997,18 +2741,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/csso": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", @@ -3130,19 +2862,6 @@ "node": ">=0.3.1" } }, - "node_modules/direction": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", - "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", - "license": "MIT", - "bin": { - "direction": "cli.js" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -3432,18 +3151,6 @@ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", "license": "MIT" }, - "node_modules/expressive-code": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.44.1.tgz", - "integrity": "sha512-GakidxhapWDzpKLqEaFQ8wGk6gAqEtPQibu8+yPBfnDLgev5Vdsh1pasTxnrXL/mzIknyqeTwhMHTghdaiUrTg==", - "license": "MIT", - "dependencies": { - "@expressive-code/core": "^0.44.1", - "@expressive-code/plugin-frames": "^0.44.1", - "@expressive-code/plugin-shiki": "^0.44.1", - "@expressive-code/plugin-text-markers": "^0.44.1" - } - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -3579,39 +3286,6 @@ "uncrypto": "^0.1.3" } }, - "node_modules/hast-util-embedded": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", - "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-format": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", - "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-minify-whitespace": "^1.0.0", - "hast-util-phrasing": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "html-whitespace-sensitive-tag-names": "^3.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-from-html": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", @@ -3650,32 +3324,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-has-property": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", - "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-body-ok-link": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", - "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-is-element": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", @@ -3689,23 +3337,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-minify-whitespace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", - "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-parse-selector": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", @@ -3719,23 +3350,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-embedded": "^3.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-is-body-ok-link": "^3.0.0", - "hast-util-is-element": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-raw": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", @@ -3761,33 +3375,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-select": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", - "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "bcp-47-match": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "css-selector-parser": "^3.0.0", - "devlop": "^1.0.0", - "direction": "^2.0.0", - "hast-util-has-property": "^3.0.0", - "hast-util-to-string": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "nth-check": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-to-estree": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", @@ -3885,19 +3472,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-string": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", - "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hast-util-to-text": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", @@ -3960,50 +3534,12 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/html-whitespace-sensitive-tag-names": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", - "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, - "node_modules/i18next": { - "version": "26.3.6", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.3.6.tgz", - "integrity": "sha512-Bu5Z2nAXgfVyM8xvW3jk9EKRIuX37PudsrBViThNFx7CR7aaYTpP01cxNB/E4c4UUzTDiAZRstEhsRfPOL/8xA==", - "funding": [ - { - "type": "individual", - "url": "https://www.locize.com/i18next" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - }, - { - "type": "individual", - "url": "https://www.locize.com" - } - ], - "license": "MIT", - "peerDependencies": { - "typescript": "^5 || ^6 || ^7" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/inline-style-parser": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", @@ -4127,15 +3663,6 @@ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "license": "MIT" }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/lightningcss": { "version": "1.32.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", @@ -4461,27 +3988,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-directive": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", - "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-find-and-replace": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", @@ -4844,25 +4350,6 @@ "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-directive": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz", - "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/micromark-extension-gfm": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", @@ -5695,24 +5182,6 @@ "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==", "license": "MIT" }, - "node_modules/pagefind": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.5.2.tgz", - "integrity": "sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==", - "license": "MIT", - "bin": { - "pagefind": "lib/runner/bin.cjs" - }, - "optionalDependencies": { - "@pagefind/darwin-arm64": "1.5.2", - "@pagefind/darwin-x64": "1.5.2", - "@pagefind/freebsd-x64": "1.5.2", - "@pagefind/linux-arm64": "1.5.2", - "@pagefind/linux-x64": "1.5.2", - "@pagefind/windows-arm64": "1.5.2", - "@pagefind/windows-x64": "1.5.2" - } - }, "node_modules/parse-entities": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", @@ -5820,44 +5289,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz", - "integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -5996,60 +5427,6 @@ "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", "license": "MIT" }, - "node_modules/rehype": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", - "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "rehype-parse": "^9.0.0", - "rehype-stringify": "^10.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-expressive-code": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.44.1.tgz", - "integrity": "sha512-+VZgs7Evw4LXRN3owpoBNSTpYuW6GeOdjqcUT1TuY8o/4MGPtbd0EU7Bgrju7X8KrQ6SslOBAuGWJ5fV5TriJQ==", - "license": "MIT", - "dependencies": { - "expressive-code": "^0.44.1" - } - }, - "node_modules/rehype-format": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", - "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-format": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", - "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-html": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/rehype-raw": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", @@ -6095,22 +5472,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-directive": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-4.0.0.tgz", - "integrity": "sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^4.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-gfm": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", @@ -6129,6 +5490,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-github-blockquote-alert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-github-blockquote-alert/-/remark-github-blockquote-alert-2.1.0.tgz", + "integrity": "sha512-J392jmIP684d7iGsENN0uguL10IGbRdc8bTUSrd/jOLzdWkwg721Fj3JPQGN8tF6fTIrE5HHOIA3nBuwuaeuPQ==", + "license": "MIT", + "dependencies": { + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, "node_modules/remark-mdx": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", @@ -6922,24 +6298,6 @@ } } }, - "node_modules/url-extras": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/url-extras/-/url-extras-0.1.0.tgz", - "integrity": "sha512-8tzwTeXFPuX/5PHuCDQE5Dd9Ts4rwoq2t9aIT+HS4iAVpmj5l4Ao7Q+BuuFjvWRqrLswBhQDk8O96ZicgCqQqw==", - "license": "MIT", - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -7094,6 +6452,21 @@ "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", "license": "MIT" }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/yargs-parser": { "version": "22.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", diff --git a/package.json b/package.json index b203be2..9e29c5e 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,10 @@ "dependencies": { "@astrojs/mdx": "^7.0.5", "@astrojs/sitemap": "^3.7.3", - "@astrojs/starlight": "^0.41.6", "@tailwindcss/vite": "^4.1.0", "astro": "^7.1.6", - "tailwindcss": "^4.1.0" + "remark-github-blockquote-alert": "^2.1.0", + "tailwindcss": "^4.1.0", + "yaml": "^2.9.0" } } diff --git a/src/components/Brand.astro b/src/components/Brand.astro index 889a230..2ff8ae8 100644 --- a/src/components/Brand.astro +++ b/src/components/Brand.astro @@ -1,6 +1,12 @@ --- // The Wezel wordmark. Shared by the landing header and the docs header so the // two chromes can't drift apart. +// +// The mark is the favicon, promoted: a terracotta tile with a serif `w`. Inline +// here rather than an , so the letter picks up Instrument Serif from the +// page. The favicon file falls back to Georgia because an icon SVG is isolated +// and never sees the webfont — close enough at 16px, and the two stay in step +// otherwise. Keep public/favicon.svg in sync with this. interface Props { href?: string; } @@ -13,19 +19,17 @@ const { href = "/" } = Astro.props; class="brand-mark" width="28" height="28" - viewBox="0 0 28 28" - fill="none" + viewBox="0 0 32 32" aria-hidden="true" > - - + + w wezel @@ -37,9 +41,15 @@ const { href = "/" } = Astro.props; gap: 0.6rem; text-decoration: none; } + .brand-mark { flex: none; } + + .brand-mark text { + font-family: var(--font-display); + } + .brand-name { font-family: var(--font-display); font-size: 1.55rem; diff --git a/src/components/docs/DocsHeader.astro b/src/components/docs/DocsHeader.astro new file mode 100644 index 0000000..28faf66 --- /dev/null +++ b/src/components/docs/DocsHeader.astro @@ -0,0 +1,61 @@ +--- +import Brand from "../Brand.astro"; + +// Mirrors the landing header. The frame (height, hairline, translucent +// background) belongs to the header itself now that Starlight's PageFrame is +// gone — see DOCS-DESIGN.md §4. +const links = [ + { href: "/docs", label: "Docs" }, + { href: "/blog", label: "Blog" }, + { href: "/status", label: "Status" }, + { href: "https://github.com/wezel-build", label: "GitHub", external: true }, +]; + +const path = Astro.url.pathname; +--- + +
+ + +
+ + + + + + +
+
+ + diff --git a/src/components/docs/DocsPageHeader.astro b/src/components/docs/DocsPageHeader.astro new file mode 100644 index 0000000..6013c15 --- /dev/null +++ b/src/components/docs/DocsPageHeader.astro @@ -0,0 +1,25 @@ +--- +import type { Breadcrumb } from "../../lib/docs-navigation.ts"; + +interface Props { + title: string; + description?: string | undefined; + breadcrumbs: Breadcrumb[]; +} + +const { title, description, breadcrumbs } = Astro.props; +--- + +
+ { + breadcrumbs.length > 0 && ( + + ) + } +

{title}

+ {description &&

{description}

} +
diff --git a/src/components/docs/DocsPager.astro b/src/components/docs/DocsPager.astro new file mode 100644 index 0000000..618b48d --- /dev/null +++ b/src/components/docs/DocsPager.astro @@ -0,0 +1,31 @@ +--- +import type { NavigationLink } from "../../lib/docs-navigation.ts"; + +interface Props { + previous?: NavigationLink | undefined; + next?: NavigationLink | undefined; +} + +const { previous, next } = Astro.props; +--- + +{ + (previous || next) && ( + + ) +} diff --git a/src/components/docs/DocsSidebar.astro b/src/components/docs/DocsSidebar.astro new file mode 100644 index 0000000..59c0933 --- /dev/null +++ b/src/components/docs/DocsSidebar.astro @@ -0,0 +1,63 @@ +--- +import type { NavigationGroup, NavigationItem } from "../../lib/docs-navigation.ts"; + +interface Props { + navigation: NavigationGroup[]; + id: string; +} + +const { navigation, id } = Astro.props; + +function isCurrent(item: NavigationItem): boolean { + return item.type === "link" ? item.id === id : item.overview?.id === id; +} +--- + + diff --git a/src/components/docs/DocsTableOfContents.astro b/src/components/docs/DocsTableOfContents.astro new file mode 100644 index 0000000..250d5d9 --- /dev/null +++ b/src/components/docs/DocsTableOfContents.astro @@ -0,0 +1,60 @@ +--- +import type { TableOfContentsItem } from "../../lib/table-of-contents.ts"; + +interface Props { + items: TableOfContentsItem[]; +} + +const { items } = Astro.props; +--- + + + + diff --git a/src/components/docs/Header.astro b/src/components/docs/Header.astro deleted file mode 100644 index 5b8e5c1..0000000 --- a/src/components/docs/Header.astro +++ /dev/null @@ -1,115 +0,0 @@ ---- -import Search from "virtual:starlight/components/Search"; -import Brand from "../Brand.astro"; - -// Mirrors the landing header in src/pages/index.astro. The frame itself (fixed -// position, height, hairline, translucent background) comes from Starlight's -// PageFrame; this only fills it. -const links = [ - { href: "/docs", label: "Docs" }, - { href: "/blog", label: "Blog" }, - { href: "/status", label: "Status" }, - { href: "https://github.com/wezel-build", label: "GitHub", external: true }, -]; - -const path = Astro.url.pathname; ---- - -
- - -
-
- - -
-
- - diff --git a/src/components/docs/ThemeProvider.astro b/src/components/docs/ThemeProvider.astro deleted file mode 100644 index 5cf3601..0000000 --- a/src/components/docs/ThemeProvider.astro +++ /dev/null @@ -1,13 +0,0 @@ ---- -// The design system is light-only, so we pin `data-theme` instead of letting -// Starlight read `prefers-color-scheme` / localStorage. -// -// `updatePickers` is still defined because Starlight's own scripts call -// `window.StarlightThemeProvider.updatePickers()`; with the theme select -// removed there is nothing to update, so it is a no-op. ---- - - diff --git a/src/components/docs/ThemeSelect.astro b/src/components/docs/ThemeSelect.astro deleted file mode 100644 index a165473..0000000 --- a/src/components/docs/ThemeSelect.astro +++ /dev/null @@ -1,3 +0,0 @@ ---- -// Light theme only — no toggle. See ThemeProvider.astro. ---- diff --git a/src/content.config.ts b/src/content.config.ts index 7fbcf2c..832cb1a 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -1,7 +1,17 @@ import { defineCollection } from "astro:content"; -import { docsLoader } from "@astrojs/starlight/loaders"; -import { docsSchema } from "@astrojs/starlight/schema"; +import { glob } from "astro/loaders"; +import { z } from "astro/zod"; -export const collections = { - docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), -}; +/* + * Two fields, deliberately. Structure lives in navigation.yml, not in + * frontmatter, so the Markdown stays portable — see DOCS-DESIGN.md. + */ +const docs = defineCollection({ + loader: glob({ base: "./src/content/docs", pattern: "**/*.md" }), + schema: z.object({ + title: z.string(), + description: z.string().optional(), + }), +}); + +export const collections = { docs }; diff --git a/src/content/docs/docs/concepts/experiments.md b/src/content/docs/concepts/experiments.md similarity index 100% rename from src/content/docs/docs/concepts/experiments.md rename to src/content/docs/concepts/experiments.md diff --git a/src/content/docs/docs/concepts/observations.md b/src/content/docs/concepts/observations.md similarity index 100% rename from src/content/docs/docs/concepts/observations.md rename to src/content/docs/concepts/observations.md diff --git a/src/content/docs/docs/concepts/regressions.md b/src/content/docs/concepts/regressions.md similarity index 78% rename from src/content/docs/docs/concepts/regressions.md rename to src/content/docs/concepts/regressions.md index ea400a0..14f4f0f 100644 --- a/src/content/docs/docs/concepts/regressions.md +++ b/src/content/docs/concepts/regressions.md @@ -17,6 +17,5 @@ description: How Wezel separates drift worth reading from ordinary noise. -:::note -Wezel locates the commit where a measurement moved. It does not attribute a cause. -::: +> [!NOTE] +> Wezel locates the commit where a measurement moved. It does not attribute a cause. diff --git a/src/content/docs/docs/index.md b/src/content/docs/index.md similarity index 83% rename from src/content/docs/docs/index.md rename to src/content/docs/index.md index 3ef83d9..ab8e6e3 100644 --- a/src/content/docs/docs/index.md +++ b/src/content/docs/index.md @@ -1,8 +1,6 @@ --- title: Introduction description: What Wezel is, and what it does to a repository. -sidebar: - label: Introduction --- -:::note -Slow shouldn't get slower; fast should stay fast. Wezel reports drift against a -baseline — it does not attribute a cause. -::: +> [!NOTE] +> Slow shouldn't get slower; fast should stay fast. Wezel reports drift against a +> baseline — it does not attribute a cause. ## Where to go next diff --git a/src/content/docs/docs/installation.md b/src/content/docs/installation.md similarity index 83% rename from src/content/docs/docs/installation.md rename to src/content/docs/installation.md index 04e2046..a790b01 100644 --- a/src/content/docs/docs/installation.md +++ b/src/content/docs/installation.md @@ -25,6 +25,5 @@ wezel --version -:::caution - -::: +> [!WARNING] +> diff --git a/src/content/docs/navigation.yml b/src/content/docs/navigation.yml new file mode 100644 index 0000000..b252df6 --- /dev/null +++ b/src/content/docs/navigation.yml @@ -0,0 +1,54 @@ +# Sidebar navigation for the documentation. +# +# This file is the single source of truth for docs structure. It lives beside +# the Markdown so the two move together. +# +# Every page under this directory must be listed exactly once. The build fails +# if a page is missing from this file, listed twice, or listed here without a +# matching file — see src/lib/docs-navigation.ts. +# +# `id` is the collection entry id: the path relative to src/content/docs/ +# without the .md extension. `index` is the /docs landing page. +# An item may carry `id`, nested `items`, or both; an item with only `items` is +# a pure category label. + +- label: Get started + items: + - label: Introduction + id: index + - label: Installation + id: installation + - label: Quickstart + id: quickstart + +- label: Concepts + items: + - label: Experiments + id: concepts/experiments + - label: Observations + id: concepts/observations + - label: Regressions + id: concepts/regressions + +# Server before tracking: you stand somewhere up to send results to before you +# start sending them. +- label: Server + items: + - label: Overview + id: server/overview + - label: Self-hosting + id: server/self-hosting + +- label: Tracking + items: + - label: Scenarios + id: tracking/scenarios + - label: Continuous integration + id: tracking/continuous-integration + +- label: Reference + items: + - label: CLI + id: reference/cli + - label: Configuration + id: reference/configuration diff --git a/src/content/docs/docs/quickstart.md b/src/content/docs/quickstart.md similarity index 94% rename from src/content/docs/docs/quickstart.md rename to src/content/docs/quickstart.md index e624dae..4e5c115 100644 --- a/src/content/docs/docs/quickstart.md +++ b/src/content/docs/quickstart.md @@ -38,9 +38,8 @@ One run produces one outcome, which can be summarised more than one way: -:::tip - -::: +> [!TIP] +> ## Next diff --git a/src/content/docs/docs/reference/cli.md b/src/content/docs/reference/cli.md similarity index 100% rename from src/content/docs/docs/reference/cli.md rename to src/content/docs/reference/cli.md diff --git a/src/content/docs/docs/reference/configuration.md b/src/content/docs/reference/configuration.md similarity index 100% rename from src/content/docs/docs/reference/configuration.md rename to src/content/docs/reference/configuration.md diff --git a/src/content/docs/docs/server/overview.md b/src/content/docs/server/overview.md similarity index 89% rename from src/content/docs/docs/server/overview.md rename to src/content/docs/server/overview.md index b62275a..49f7aee 100644 --- a/src/content/docs/docs/server/overview.md +++ b/src/content/docs/server/overview.md @@ -1,8 +1,6 @@ --- title: Overview description: What the Wezel server stores and serves. -sidebar: - label: Overview --- diff --git a/src/content/docs/docs/server/self-hosting.md b/src/content/docs/server/self-hosting.md similarity index 100% rename from src/content/docs/docs/server/self-hosting.md rename to src/content/docs/server/self-hosting.md diff --git a/src/content/docs/docs/tracking/continuous-integration.md b/src/content/docs/tracking/continuous-integration.md similarity index 91% rename from src/content/docs/docs/tracking/continuous-integration.md rename to src/content/docs/tracking/continuous-integration.md index 35c7195..f53c10e 100644 --- a/src/content/docs/docs/tracking/continuous-integration.md +++ b/src/content/docs/tracking/continuous-integration.md @@ -1,8 +1,6 @@ --- title: Continuous integration description: Running Wezel on a CI runner and reporting results back. -sidebar: - label: Continuous integration --- diff --git a/src/content/docs/docs/tracking/scenarios.md b/src/content/docs/tracking/scenarios.md similarity index 100% rename from src/content/docs/docs/tracking/scenarios.md rename to src/content/docs/tracking/scenarios.md diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index 02d42e7..9a2fcf7 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -23,11 +23,13 @@ const { {title} {description && } - + diff --git a/src/layouts/DocsLayout.astro b/src/layouts/DocsLayout.astro new file mode 100644 index 0000000..81095c2 --- /dev/null +++ b/src/layouts/DocsLayout.astro @@ -0,0 +1,68 @@ +--- +import type { MarkdownHeading } from "astro"; + +import "../styles/docs.css"; +import DocsHeader from "../components/docs/DocsHeader.astro"; +import DocsPageHeader from "../components/docs/DocsPageHeader.astro"; +import DocsPager from "../components/docs/DocsPager.astro"; +import DocsSidebar from "../components/docs/DocsSidebar.astro"; +import DocsTableOfContents from "../components/docs/DocsTableOfContents.astro"; +import Base from "./Base.astro"; +import { + getBreadcrumbs, + getNavigation, + getPagerLinks, +} from "../lib/docs-navigation.ts"; +import { generateTableOfContents } from "../lib/table-of-contents.ts"; + +interface Props { + id: string; + title: string; + description?: string | undefined; + headings: MarkdownHeading[]; +} + +const { id, title, description, headings } = Astro.props; + +const navigation = await getNavigation(); +const breadcrumbs = getBreadcrumbs(navigation, id); +const { previous, next } = getPagerLinks(navigation, id); +const tableOfContents = generateTableOfContents(headings); +const hasToc = tableOfContents.length > 0; +--- + + + + + + +
+ + +
+ +
+ +
+ +
+ + { + hasToc && ( + + ) + } +
+ diff --git a/src/lib/docs-navigation.ts b/src/lib/docs-navigation.ts new file mode 100644 index 0000000..a6ed923 --- /dev/null +++ b/src/lib/docs-navigation.ts @@ -0,0 +1,294 @@ +import { getCollection } from "astro:content"; +import { z } from "astro/zod"; +import { parse as parseYaml } from "yaml"; + +import manifestSource from "../content/docs/navigation.yml?raw"; + +/* + * Docs navigation. + * + * `src/content/docs/navigation.yml` is the single source of truth for docs + * structure. This module parses it, validates it against the pages that + * actually exist, and resolves it into a tree with hrefs. + * + * Validation runs during the static build — every page calls `getNavigation()` + * — so a sidebar that disagrees with the content is a build failure rather than + * a page nobody can reach. + */ + +// ---------------------------------------------------------------- manifest + +interface ManifestItem { + label: string; + id?: string | undefined; + items?: ManifestItem[] | undefined; +} + +const manifestItemSchema: z.ZodType = z.lazy(() => + z + .object({ + label: z.string(), + id: z.string().optional(), + items: z.array(manifestItemSchema).nonempty().optional(), + }) + .strict() + .refine((item) => item.id !== undefined || item.items !== undefined, { + message: "A navigation item needs an `id`, nested `items`, or both.", + }), +); + +const manifestSchema = z + .array( + z + .object({ + label: z.string(), + items: z.array(manifestItemSchema).nonempty(), + }) + .strict(), + ) + .nonempty(); + +export type NavigationManifest = z.infer; + +/** Parses `navigation.yml`. Throws if the shape is wrong. */ +export function parseNavigationManifest(source: string): NavigationManifest { + const result = manifestSchema.safeParse(parseYaml(source)); + + if (!result.success) { + const problems = result.error.issues.map( + (issue) => ` - ${issue.path.join(".") || "(root)"}: ${issue.message}`, + ); + throw new Error( + `navigation.yml is not valid:\n${problems.join("\n")}\n\n` + + `Each top-level entry needs a \`label\` and a non-empty \`items\` list. ` + + `Each item needs a \`label\`, plus an \`id\`, nested \`items\`, or both.`, + ); + } + + return result.data; +} + +// ---------------------------------------------------------------- resolved + +export interface NavigationLink { + type: "link"; + id: string; + label: string; + href: string; +} + +export interface NavigationSubgroup { + type: "group"; + label: string; + overview?: NavigationLink; + children: NavigationItem[]; +} + +export type NavigationItem = NavigationLink | NavigationSubgroup; + +export interface NavigationGroup { + label: string; + items: NavigationItem[]; +} + +/** Docs live under this path. The one place that knows it. */ +export const DOCS_BASE = "/docs"; + +/** + * The one place that maps a page id onto a URL. + * + * Ids are collection entry ids — paths under `src/content/docs/` without the + * extension — so `index` is the docs landing and `concepts/regressions` is a + * page beneath it. + */ +export function hrefForId(id: string): string { + const withoutIndex = id.replace(/(^|\/)index$/, "").replace(/\/$/, ""); + return withoutIndex ? `${DOCS_BASE}/${withoutIndex}` : DOCS_BASE; +} + +/** + * Resolves the manifest against the pages that exist. + * + * Throws — failing the build — when the manifest references a page that does + * not exist, lists a page more than once, or omits a page entirely. The + * sidebar therefore cannot silently drift from the content: adding a Markdown + * file and forgetting to link it is a build error, not an invisible page. + */ +export function resolveNavigation( + manifest: NavigationManifest, + availableIds: Iterable, +): NavigationGroup[] { + const available = new Set(availableIds); + const seen = new Set(); + const problems: string[] = []; + + function resolveItem(item: ManifestItem, groupLabel: string): NavigationItem { + let link: NavigationLink | undefined; + + if (item.id !== undefined) { + if (seen.has(item.id)) { + problems.push( + `"${item.id}" (under "${groupLabel}") is listed more than once.`, + ); + } else { + seen.add(item.id); + if (!available.has(item.id)) { + problems.push( + `"${item.id}" (under "${groupLabel}") does not match any page in src/content/docs.`, + ); + } + } + + link = { + type: "link", + id: item.id, + label: item.label, + href: hrefForId(item.id), + }; + } + + if (item.items !== undefined) { + return { + type: "group", + label: item.label, + ...(link !== undefined && { overview: { ...link, label: "Overview" } }), + children: item.items.map((child) => resolveItem(child, groupLabel)), + }; + } + + if (link !== undefined) { + return link; + } + + // Unreachable: the schema refinement requires an id or items. + throw new Error(`Navigation item "${item.label}" has no page or children.`); + } + + const groups = manifest.map((group) => ({ + label: group.label, + items: group.items.map((item) => resolveItem(item, group.label)), + })); + + for (const id of available) { + if (!seen.has(id)) { + problems.push(`"${id}" is not listed in navigation.yml.`); + } + } + + if (problems.length > 0) { + throw new Error( + `Docs navigation is out of sync with the content:\n` + + problems.map((problem) => ` - ${problem}`).join("\n") + + `\n\nEvery page under src/content/docs must appear in navigation.yml ` + + `exactly once. Fix the manifest or remove the page.`, + ); + } + + return groups; +} + +// ---------------------------------------------------------------- entry point + +let cached: Promise | undefined; + +/** + * The resolved navigation tree. + * + * Cached because every page calls this during the build and the manifest only + * needs parsing and validating once. + */ +export function getNavigation(): Promise { + cached ??= (async () => { + const manifest = parseNavigationManifest(manifestSource); + const entries = await getCollection("docs"); + return resolveNavigation( + manifest, + entries.map((entry) => entry.id), + ); + })(); + + return cached; +} + +// ---------------------------------------------------------------- lookups + +export interface Breadcrumb { + label: string; + href?: string; +} + +/** + * The breadcrumb trail for a page: its group label, any ancestor items, then + * the page itself. Ancestors that are pages link; the current page and pure + * category labels are plain text. + */ +export function getBreadcrumbs( + navigation: NavigationGroup[], + id: string, +): Breadcrumb[] { + function find(items: NavigationItem[]): Breadcrumb[] | undefined { + for (const item of items) { + if (item.type === "link") { + if (item.id === id) return [{ label: item.label }]; + continue; + } + + if (item.overview?.id === id) return [{ label: item.label }]; + + const childTrail = find(item.children); + if (childTrail) { + return [ + { + label: item.label, + ...(item.overview !== undefined && { href: item.overview.href }), + }, + ...childTrail, + ]; + } + } + return undefined; + } + + for (const group of navigation) { + const trail = find(group.items); + if (trail) return [{ label: group.label }, ...trail]; + } + + return []; +} + +/** Flattens the tree into reading order, for prev/next. */ +export function flattenNavigation( + navigation: NavigationGroup[], +): NavigationLink[] { + const links: NavigationLink[] = []; + + function walk(items: NavigationItem[]): void { + for (const item of items) { + if (item.type === "link") { + links.push(item); + continue; + } + if (item.overview) links.push(item.overview); + walk(item.children); + } + } + + for (const group of navigation) walk(group.items); + return links; +} + +/** The pages either side of `id` in reading order. */ +export function getPagerLinks( + navigation: NavigationGroup[], + id: string, +): { previous?: NavigationLink; next?: NavigationLink } { + const links = flattenNavigation(navigation); + const index = links.findIndex((link) => link.id === id); + if (index === -1) return {}; + + return { + ...(index > 0 && { previous: links[index - 1] }), + ...(index < links.length - 1 && { next: links[index + 1] }), + }; +} diff --git a/src/lib/table-of-contents.ts b/src/lib/table-of-contents.ts new file mode 100644 index 0000000..1e1b09f --- /dev/null +++ b/src/lib/table-of-contents.ts @@ -0,0 +1,29 @@ +import type { MarkdownHeading } from "astro"; + +export interface TableOfContentsItem extends MarkdownHeading { + children: TableOfContentsItem[]; +} + +/** Converts Astro's flat heading list into a nested table of contents. */ +export function generateTableOfContents( + headings: MarkdownHeading[], +): TableOfContentsItem[] { + const items: TableOfContentsItem[] = []; + + for (const heading of headings) { + if (heading.depth < 2 || heading.depth > 3) continue; + insert(items, { ...heading, children: [] }); + } + + return items; +} + +/** Inserts a heading as deeply as its level and the preceding headings allow. */ +function insert(items: TableOfContentsItem[], item: TableOfContentsItem): void { + const previous = items.at(-1); + if (previous === undefined || previous.depth >= item.depth) { + items.push(item); + return; + } + insert(previous.children, item); +} diff --git a/src/pages/docs/[...slug].astro b/src/pages/docs/[...slug].astro new file mode 100644 index 0000000..dd2dd2e --- /dev/null +++ b/src/pages/docs/[...slug].astro @@ -0,0 +1,26 @@ +--- +import { getCollection, render } from "astro:content"; +import DocsLayout from "../../layouts/DocsLayout.astro"; + +export async function getStaticPaths() { + const entries = await getCollection("docs"); + + return entries.map((entry) => ({ + // `index` is the /docs landing, so it carries an empty slug. + params: { slug: entry.id === "index" ? undefined : entry.id }, + props: { entry }, + })); +} + +const { entry } = Astro.props; +const { Content, headings } = await render(entry); +--- + + + + diff --git a/src/styles/docs.css b/src/styles/docs.css index 91ce7de..d74a057 100644 --- a/src/styles/docs.css +++ b/src/styles/docs.css @@ -1,550 +1,650 @@ /* - Starlight, dressed in the Wezel design system. + Wezel docs. + + Implements DOCS-DESIGN.md §4. The load-bearing ideas, so that cases not + covered here can be derived rather than guessed: + + - The sheet has edges. Bounded, centred rail; the space outside it is desk. + - Space, not lines. Rules and whitespace are substitutes and this design + spends whitespace. A rule has to earn its place. + - Rules survive only where they separate data: table head, table rows, the + callout's left edge. Nothing in the page furniture is ruled except the + sidebar divider. + - Nothing floats. Radius 0, no shadows. + - Two faces. Inter carries voice and body both — headings are the same face + set heavy and tight, not a change of typeface. Mono is the apparatus and + the data. Instrument Serif belongs to the brand, not to the docs. +*/ - Everything here maps Starlight's `--sl-*` tokens onto the palette defined in - `global.css`. No new colours are introduced: the two derived values below are - `color-mix()` of existing tokens, because Starlight's neutral ramp has more - steps than ours does. +:root { + --docs-rail: 87rem; + --docs-sidebar: 16rem; + --docs-toc: 14rem; + --docs-measure: 54rem; + --docs-margin: 4.75rem; + --docs-header-h: 3.75rem; - Light theme only — the theme toggle is removed and `data-theme` is pinned to - `light` (see `src/components/docs/ThemeProvider.astro`). -*/ + --docs-leading: 1.8; + --docs-block-gap: 1.885rem; + --docs-h2-lead: 4.16rem; + --docs-h3-lead: 2.6rem; +} -/* - Layer order. Tailwind's `base` (preflight) is declared first so that - Starlight's own resets and component styles win over it; without this the two - resets fight and Starlight loses depending on injection order. -*/ -@layer base, starlight.base, starlight.reset, starlight.core, starlight.content, - starlight.components, starlight.utils, theme, components, utilities; +/* Nothing floats, anywhere in the docs. */ +.docs-header *, +.docs-sheet * { + border-radius: 0; + box-shadow: none; +} -/* ========================================================================== - TOKENS - ========================================================================== */ +.skip-link { + position: absolute; + left: -9999px; + top: 0; + z-index: 100; + background: var(--color-surface); + color: var(--color-ink); + padding: 0.7rem 1rem; + font-size: 0.9rem; + border: 1px solid var(--color-line-strong); +} -:root, -:root[data-theme="light"], -::backdrop, -[data-theme="light"] ::backdrop { - /* --- neutral ramp ------------------------------------------------------- - Starlight's light mode inverts this ramp: `white` is the darkest ink and - `black` is the page background. */ - --sl-color-white: var(--color-ink); - --sl-color-gray-1: var(--color-ink); - --sl-color-gray-2: var(--color-ink-soft); - --sl-color-gray-3: var(--color-ink-faint); - /* derived: Starlight wants a step between ink-faint and line-strong */ - --sl-color-gray-4: color-mix(in srgb, var(--color-ink-faint) 55%, var(--color-line-strong)); - --sl-color-gray-5: var(--color-line-strong); - --sl-color-gray-6: var(--color-line); - --sl-color-gray-7: var(--color-veil); - --sl-color-black: var(--color-paper); - - /* --- accent: terracotta, used sparingly --- */ - --sl-color-accent-low: var(--color-accent-wash); - --sl-color-accent: var(--color-accent); - --sl-color-accent-high: var(--color-accent-deep); - - /* --- semantic surfaces --- */ - --sl-color-bg: var(--color-paper); - /* translucent paper, same treatment as the landing header */ - --sl-color-bg-nav: color-mix(in srgb, var(--color-paper) 85%, transparent); - --sl-color-bg-sidebar: var(--color-paper); - --sl-color-bg-inline-code: var(--color-veil); - --sl-color-bg-accent: var(--color-accent); - --sl-color-text: var(--color-ink-soft); - --sl-color-text-accent: var(--color-accent); - --sl-color-text-invert: var(--color-paper); - --sl-color-hairline: var(--color-line); - --sl-color-hairline-light: var(--color-line); - --sl-color-hairline-shade: var(--color-line); - --sl-color-backdrop-overlay: color-mix(in srgb, var(--color-ink) 45%, transparent); - - /* --- signal colours ----------------------------------------------------- - Starlight names its aside palette blue/purple/orange/red. We only have - three signals, so: note → neutral, tip → good, caution → accent, - danger → warn. */ - --sl-color-blue-low: var(--color-veil); - --sl-color-blue: var(--color-line-strong); - --sl-color-blue-high: var(--color-ink-soft); - - --sl-color-purple-low: var(--color-good-wash); - --sl-color-purple: var(--color-good); - --sl-color-purple-high: var(--color-good); - - --sl-color-orange-low: var(--color-accent-wash); - --sl-color-orange: var(--color-accent); - --sl-color-orange-high: var(--color-accent-deep); - - --sl-color-red-low: var(--color-warn-wash); - --sl-color-red: var(--color-warn); - --sl-color-red-high: var(--color-warn); - - --sl-color-green-low: var(--color-good-wash); - --sl-color-green: var(--color-good); - --sl-color-green-high: var(--color-good); - - /* --- shadows: warm, and barely there --- */ - --sl-shadow-sm: 0 1px 2px color-mix(in srgb, var(--color-ink) 4%, transparent); - --sl-shadow-md: 0 1px 2px color-mix(in srgb, var(--color-ink) 4%, transparent), - 0 12px 28px -18px color-mix(in srgb, var(--color-ink) 18%, transparent); - --sl-shadow-lg: 0 1px 2px color-mix(in srgb, var(--color-ink) 5%, transparent), - 0 24px 48px -24px color-mix(in srgb, var(--color-ink) 22%, transparent); - - /* --- type --- */ - --sl-font: var(--font-sans); - --sl-font-mono: var(--font-mono); - - --sl-text-h1: 2.1rem; - --sl-text-h2: 1.45rem; - --sl-text-h3: 1.15rem; - --sl-text-h4: 1rem; - --sl-line-height: 1.7; - --sl-line-height-headings: 1.25; - - /* --- layout: matched to the landing --- */ - --sl-nav-height: 4.25rem; - --sl-nav-pad-x: 1.5rem; - --sl-sidebar-width: 17rem; - --sl-sidebar-pad-x: 1.25rem; - --sl-content-width: 46rem; - --sl-content-pad-x: 1.75rem; -} - -@media (min-width: 50em) { - :root { - --sl-text-h1: 2.6rem; - --sl-text-h2: 1.75rem; - --sl-text-h3: 1.3rem; - --sl-text-h4: 1.05rem; - } +.skip-link:focus { + left: 0.5rem; + top: 0.5rem; +} + +#main-content:focus { + outline: none; } /* ========================================================================== - PAGE CHROME + HEADER — full bleed, above the sheet, no bottom rule ========================================================================== */ - -/* Starlight's PageFrame owns the fixed header bar and its hairline; we only add - the landing's blur so the two chromes are indistinguishable. */ -.header { +.docs-header { + position: sticky; + top: 0; + z-index: 20; + display: flex; + align-items: center; + justify-content: space-between; + gap: 1.5rem; + height: var(--docs-header-h); + padding-inline: 1.75rem; + background: color-mix(in srgb, var(--color-paper) 90%, transparent); backdrop-filter: saturate(140%) blur(8px); } -/* Sidebar and TOC sit on paper, separated by hairlines only. */ -#starlight__sidebar, -.sidebar-pane { - border-inline-end: 1px solid var(--color-line); - background: var(--color-paper); +.docs-header .header-right { + display: flex; + align-items: center; + gap: 1.6rem; + min-width: 0; } -.right-sidebar { - border-inline-start: 1px solid var(--color-line); +.search-placeholder { + display: flex; + align-items: center; + gap: 2.25rem; + border: 1px solid var(--color-line-strong); + background: var(--color-surface); + padding: 0.3rem 0.55rem; + font-family: var(--font-mono); + font-size: 0.72rem; + color: var(--color-ink-faint); } -@media (min-width: 72rem) { - .right-sidebar { - border-inline-start: none; - } +.search-placeholder kbd { + font: inherit; + background: var(--color-veil); + padding: 0 0.3rem; +} + +.header-nav { + display: flex; + align-items: center; + gap: 1.6rem; + font-size: 0.95rem; +} + +.header-nav a { + color: var(--color-ink-soft); + text-decoration: none; + white-space: nowrap; + transition: color 0.15s ease; +} + +.header-nav a:hover { + color: var(--color-ink); +} + +.header-nav a[aria-current="page"]:not(.header-cta) { + color: var(--color-accent); +} + +.header-cta { + border: 1px solid var(--color-line-strong); + padding: 0.35rem 0.85rem; + color: var(--color-ink) !important; +} + +.header-cta:hover { + border-color: var(--color-ink-faint); +} + +.sidebar-toggle { + display: none; + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.12em; + text-transform: uppercase; + color: var(--color-ink-soft); + background: var(--color-surface); + border: 1px solid var(--color-line-strong); + padding: 0.35rem 0.7rem; + cursor: pointer; } /* ========================================================================== - SIDEBAR — uppercase, letter-tracked group labels; one accent on active + THE SHEET — bounded and centred. No outline: the centring is the edge. ========================================================================== */ +.docs-sheet { + max-width: var(--docs-rail); + margin-inline: auto; + min-height: calc(100vh - var(--docs-header-h)); + display: grid; + grid-template-columns: var(--docs-sidebar) minmax(0, 1fr); +} -.sidebar-content { - padding-top: 1.5rem; +.docs-sheet[data-toc] { + grid-template-columns: + var(--docs-sidebar) minmax(0, 1fr) + var(--docs-toc); } -/* group headings */ -.sidebar-content summary, -.sidebar-content > ul > li > details > summary .group-label > span, -.sidebar-content .large { +/* The one rule in the page furniture. */ +.docs-sidebar-column { + border-inline-end: 1px solid var(--color-line); +} + +.rail-inner { + position: sticky; + top: var(--docs-header-h); + max-height: calc(100vh - var(--docs-header-h)); + overflow-y: auto; + padding: 2.9rem 1.5rem; +} + +/* ========================================================================== + SIDEBAR + TOC — apparatus, set in mono + ========================================================================== */ +.nav-group + .nav-group { + margin-top: 2.1rem; +} + +.nav-group > h2, +.docs-toc > h2 { + margin: 0 0 0.6rem; font-family: var(--font-mono); - font-size: 0.7rem; + font-size: 0.65rem; font-weight: 500; - letter-spacing: 0.11em; + letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-ink-faint); } -.sidebar-content ul.top-level > li + li { - margin-top: 1.4rem; +.nav-group ul, +.docs-toc ul { + list-style: none; + margin: 0; + padding: 0; } -.sidebar-content a { +.nav-group a, +.nav-label, +.docs-toc a { + display: block; font-size: 0.9rem; + line-height: 1.5; + padding: 0.3rem 0; color: var(--color-ink-soft); - border-inline-start: 2px solid transparent; - border-radius: 0; - padding-block: 0.32rem; - transition: color 0.15s ease, border-color 0.15s ease; + text-decoration: none; + transition: color 0.15s ease; } -.sidebar-content a:hover { +.nav-group a:hover, +.docs-toc a:hover { color: var(--color-ink); - background: transparent; } -.sidebar-content a[aria-current="page"], -.sidebar-content a[aria-current="page"]:hover { - font-weight: 500; +/* Accent is a signal: it marks where you are, nothing else. */ +.nav-group a[aria-current="page"], +.docs-toc a[aria-current="true"] { color: var(--color-accent); - background: transparent; - border-inline-start-color: var(--color-accent); + font-weight: 500; } -/* nested lists get the rail the active marker sits on */ -.sidebar-content ul ul { - border-inline-start: 1px solid var(--color-line); - padding-inline-start: 0; - margin-inline-start: 0; +.nav-label { + color: var(--color-ink-faint); } -.sidebar-content ul ul li { - border-inline-start: none; - padding-inline-start: 0; - margin-inline-start: 0; +.nav-children, +.toc-children { + margin-inline-start: 0.9rem !important; } -.sidebar-content ul ul a { - padding-inline-start: 0.85rem; - margin-inline-start: -1px; +.nav-children a, +.toc-children a { + font-size: 0.85rem; + color: var(--color-ink-faint); +} + +.docs-toc a { + font-size: 0.85rem; } /* ========================================================================== - TABLE OF CONTENTS + PAGE HEAD ========================================================================== */ +.docs-page-header { + padding: 3.4rem var(--docs-margin) 0; + max-width: var(--docs-measure); +} -starlight-toc nav > h2, -.right-sidebar h2 { +.breadcrumb { font-family: var(--font-mono); - font-size: 0.7rem; - font-weight: 500; - letter-spacing: 0.11em; + font-size: 0.66rem; + letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-ink-faint); - margin-bottom: 0.6rem; + margin-bottom: 1.1rem; } -starlight-toc a { - font-size: 0.85rem; - color: var(--color-ink-soft); - border-inline-start: 2px solid var(--color-line); - padding-block: 0.3rem; - border-radius: 0; - transition: color 0.15s ease, border-color 0.15s ease; +.breadcrumb a { + color: inherit; + text-decoration: none; } -starlight-toc a:hover { +.breadcrumb a:hover { color: var(--color-ink); } -starlight-toc a[aria-current="true"], -starlight-toc a[aria-current="true"]:hover { - font-weight: 500; - color: var(--color-accent); - background: transparent; - border-inline-start-color: var(--color-accent); +.breadcrumb > * + *::before { + content: "/"; + margin-inline: 0.5rem; + color: var(--color-line-strong); } -/* mobile TOC bar */ -starlight-toc > nav > button, -.right-sidebar-container mobile-starlight-toc button { - font-family: var(--font-mono); - font-size: 0.8rem; - background: var(--color-veil); - border-color: var(--color-line); +.docs-page-header h1 { + margin: 0; + font-family: var(--font-sans); + font-weight: 600; + font-size: clamp(2.75rem, 4.5vw, 3.85rem); + letter-spacing: -0.035em; + line-height: 0.98; + color: var(--color-ink); + text-wrap: balance; } -/* ========================================================================== - CONTENT — mono headings (the SST cue), generous rhythm - ========================================================================== */ - -.content-panel + .content-panel { - border-top: 1px solid var(--color-line); +.standfirst { + max-width: 44ch; + margin: 1.4rem 0 0; + font-size: 1.22rem; + line-height: 1.5; + color: var(--color-ink-soft); } -.sl-markdown-content h1, -.sl-markdown-content h2, -.sl-markdown-content h3, -.sl-markdown-content h4, -.sl-markdown-content h5, -.sl-markdown-content h6, -h1#_top { - font-family: var(--font-mono); - font-weight: 500; - letter-spacing: -0.015em; +/* ========================================================================== + PROSE — the text block, with margins you can see + ========================================================================== */ +.docs-prose { + max-width: var(--docs-measure); + padding: 3.25rem var(--docs-margin) 4.55rem; + /* Source Sans 3 has a smaller x-height than Inter, so it needs the extra + 0.03rem to read at the same apparent size across the 54rem measure. */ + font-size: 1.08rem; + line-height: var(--docs-leading); color: var(--color-ink); + + /* Shiki runs on `css-variables`, so code inherits the Wezel palette + instead of importing a foreign editor theme. */ + --astro-code-foreground: var(--color-ink); + --astro-code-background: transparent; + --astro-code-token-comment: var(--color-ink-faint); + --astro-code-token-string: var(--color-good); + --astro-code-token-string-expression: var(--color-good); + --astro-code-token-keyword: var(--color-warn); + --astro-code-token-function: var(--color-accent); + --astro-code-token-constant: var(--color-accent-deep); + --astro-code-token-parameter: var(--color-ink); + --astro-code-token-punctuation: var(--color-ink-faint); + --astro-code-token-link: var(--color-accent); } -h1#_top { - font-size: var(--sl-text-h1); +.docs-prose > * { + margin-block: 0; } -/* Starlight makes headings `display: inline` inside `.sl-heading-wrapper` so the - anchor link can sit on the same line. Section rules therefore go on the - wrapper, which is the block-level element. */ -.sl-markdown-content .sl-heading-wrapper.level-h2 { - margin-top: 2.75rem; - padding-top: 1.5rem; - border-top: 1px solid var(--color-line); +.docs-prose > * + * { + margin-block-start: var(--docs-block-gap); } -/* A page that opens straight into a section shouldn't stack its own hairline - on top of the one under the page title. */ -.sl-markdown-content > .sl-heading-wrapper.level-h2:first-child { - margin-top: 0; - padding-top: 0; - border-top: none; +.docs-prose :is(h2, h3, h4) { + font-family: var(--font-sans); + font-weight: 600; + letter-spacing: -0.028em; + line-height: 1.2; + color: var(--color-ink); + text-wrap: balance; + scroll-margin-top: calc(var(--docs-header-h) + 1.75rem); } -.sl-markdown-content .sl-heading-wrapper.level-h3 { - margin-top: 2rem; +/* No rule above the section: the lead carries the break on its own. */ +.docs-prose > h2 { + font-size: 1.9rem; + margin-block-start: var(--docs-h2-lead); } -.sl-markdown-content .sl-anchor-link { - color: var(--color-ink-faint); +.docs-prose > h2:first-child { + margin-block-start: 0; } -.sl-markdown-content .sl-anchor-link:hover { - color: var(--color-accent); +.docs-prose > h3 { + font-size: 1.2rem; + letter-spacing: -0.015em; + margin-block-start: var(--docs-h3-lead); } -/* the page's own descriptive standfirst, set apart from body copy */ -.page-standfirst { - font-size: 1.08rem; - line-height: 1.6; - color: var(--color-ink-soft); - max-width: 46ch; - margin-top: 0.9rem; +.docs-prose > h4 { + font-size: 1.05rem; + letter-spacing: -0.01em; + margin-block-start: 2rem; } -.sl-markdown-content a:not(:where(.not-content *)) { +.docs-prose a { color: var(--color-accent); - text-decoration-color: color-mix(in srgb, var(--color-accent) 35%, transparent); + text-decoration-color: color-mix( + in srgb, + var(--color-accent) 35%, + transparent + ); text-underline-offset: 0.2em; } -.sl-markdown-content a:not(:where(.not-content *)):hover { +.docs-prose a:hover { color: var(--color-accent-deep); text-decoration-color: currentColor; } -.sl-markdown-content strong { - color: var(--color-ink); +.docs-prose strong { font-weight: 600; + color: var(--color-ink); } -/* inline code reads as a token, not a button */ -.sl-markdown-content code:not(:where(.not-content *)) { - font-family: var(--font-mono); - font-size: 0.86em; - background: var(--color-veil); - border: 1px solid var(--color-line); - border-radius: 0.3rem; - padding: 0.1em 0.35em; - color: var(--color-ink); +.docs-prose :is(ul, ol) { + padding-inline-start: 1.3rem; +} + +.docs-prose li + li { + margin-top: 0.5rem; } -.sl-markdown-content :is(h1, h2, h3, h4, h5, h6) code { - font-size: 1em; - background: none; +.docs-prose li::marker { + color: var(--color-ink-faint); +} + +.docs-prose hr { border: none; - padding: 0; + border-block-start: 1px solid var(--color-line); + margin-block: 2.5rem; } -.sl-markdown-content blockquote:not(:where(.not-content *)) { +.docs-prose blockquote:not(.markdown-alert) { + margin: 0; + padding-inline-start: 1.1rem; border-inline-start: 2px solid var(--color-line-strong); color: var(--color-ink-soft); - font-style: normal; } -.sl-markdown-content hr { - border-color: var(--color-line); +.docs-prose :is(img, video) { + max-width: 100%; + height: auto; } -/* tables read as receipts */ -.sl-markdown-content table:not(:where(.not-content *)) { - font-size: 0.92rem; +/* ---- code: inline code is text, not a button ------------------------- */ +.docs-prose code { + font-family: var(--font-mono); + font-size: 0.86em; } -.sl-markdown-content :is(th, td):not(:where(.not-content *)) { - border-color: var(--color-line); +.docs-prose :not(pre) > code { + color: var(--color-accent-deep); } -.sl-markdown-content th:not(:where(.not-content *)) { - font-family: var(--font-mono); - font-size: 0.75rem; - font-weight: 500; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--color-ink-faint); +.docs-prose :is(h2, h3, h4) code { + font-size: 0.9em; + color: inherit; } -/* ========================================================================== - ASIDES — soft warm tints, hairline keyline - ========================================================================== */ - -.starlight-aside { - border-radius: 0.6rem; - border-inline-start-width: 2px; - padding: 0.95rem 1.1rem; - color: var(--color-ink-soft); +.docs-prose .code-figure { + margin: 0; + background: var(--color-veil); } -.starlight-aside__title { +.docs-prose .code-figure figcaption { font-family: var(--font-mono); - font-size: 0.75rem; - font-weight: 500; - letter-spacing: 0.08em; - text-transform: uppercase; + font-size: 0.7rem; + letter-spacing: 0.05em; + color: var(--color-ink-faint); + padding: 0.55rem 0.95rem 0; } -.starlight-aside--note { - --sl-color-asides-text-accent: var(--color-ink-soft); - --sl-color-asides-border: var(--color-line-strong); +.docs-prose pre { + margin: 0; + padding: 0.95rem; + overflow-x: auto; + background: var(--color-veil) !important; + font-size: 0.88rem; + line-height: 1.7; } -/* ========================================================================== - CODE BLOCKS - ========================================================================== */ +.docs-prose .code-figure pre { + padding-block-start: 0.65rem; +} -.expressive-code .frame pre { - border-color: var(--color-line); +/* ---- tables: rules here separate data, so they stay ------------------ */ +.docs-prose table { + width: 100%; + border-collapse: collapse; + font-size: 0.92rem; } -.expressive-code .frame.is-terminal .header::before, -.expressive-code figcaption.header { +.docs-prose th { font-family: var(--font-mono); - font-size: 0.75rem; - letter-spacing: 0.02em; + font-size: 0.65rem; + font-weight: 500; + letter-spacing: 0.11em; + text-transform: uppercase; + color: var(--color-ink-faint); + text-align: left; + padding: 0.45rem 0.9rem 0.45rem 0; + border-block-end: 1px solid var(--color-line-strong); } -/* ========================================================================== - PAGINATION / FOOTER - ========================================================================== */ +.docs-prose td { + padding: 0.55rem 0.9rem 0.55rem 0; + border-block-end: 1px solid var(--color-line); + vertical-align: baseline; +} -.pagination-links a { - border-color: var(--color-line); - border-radius: 0.6rem; - background: var(--color-surface); - box-shadow: none; - transition: border-color 0.15s ease; +/* ---- callouts: a left rule and a label, no box ----------------------- */ +.docs-prose .markdown-alert { + margin: 0; + padding: 0 0 0 1.1rem; + border-inline-start: 2px solid var(--color-line-strong); + color: var(--color-ink-soft); + font-size: 0.98rem; } -.pagination-links a:hover { - border-color: var(--color-line-strong); +.docs-prose .markdown-alert > * { + margin-block: 0; } -.pagination-links svg { - color: var(--color-ink-faint); +.docs-prose .markdown-alert > * + * { + margin-block-start: 0.7rem; } -/* The direct span holds the "Previous"/"Next" kicker; `.link-title` inside it - holds the page name. Kicker small and quiet, page name prominent. */ -.pagination-links a > span { +.docs-prose .markdown-alert-title { font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.1em; + font-size: 0.66rem; + font-weight: 500; + letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-ink-faint); + margin-block-end: 0.35rem !important; } -.pagination-links a .link-title { - display: inline-block; - margin-top: 0.25rem; - font-family: var(--font-mono); - font-size: 1rem; - font-weight: 500; - letter-spacing: -0.01em; - text-transform: none; - color: var(--color-ink); +/* The plugin ships an octicon; the design uses a word. */ +.docs-prose .markdown-alert-title svg { + display: none; } -.pagination-links a:hover .link-title { - color: var(--color-accent); +.docs-prose .markdown-alert-tip { + border-inline-start-color: var(--color-good); } -footer .meta { - font-size: 0.85rem; - color: var(--color-ink-faint); +.docs-prose .markdown-alert-tip .markdown-alert-title { + color: var(--color-good); } -/* ========================================================================== - SEARCH — ⌘K dialog on paper - ========================================================================== */ +.docs-prose .markdown-alert-important { + border-inline-start-color: var(--color-accent); +} -site-search button[data-open-modal] { - font-family: var(--font-mono); - font-size: 0.8rem; - border-color: var(--color-line-strong); - border-radius: 0.5rem; - background: var(--color-surface); - color: var(--color-ink-faint); - box-shadow: none; - transition: border-color 0.15s ease; +.docs-prose .markdown-alert-important .markdown-alert-title { + color: var(--color-accent-deep); } -site-search button[data-open-modal]:hover { - border-color: var(--color-ink-faint); +.docs-prose :is(.markdown-alert-warning, .markdown-alert-caution) { + border-inline-start-color: var(--color-warn); } -site-search kbd { - font-family: var(--font-mono); - background: var(--color-veil); - color: var(--color-ink-faint); +.docs-prose + :is(.markdown-alert-warning, .markdown-alert-caution) + .markdown-alert-title { + color: var(--color-warn); } -site-search dialog { - border: 1px solid var(--color-line); - border-radius: 0.9rem; - background: var(--color-paper); - box-shadow: var(--sl-shadow-lg); +/* ========================================================================== + PAGER — two cells divided by a rule, not two cards + ========================================================================== */ +.docs-pager { + display: grid; + grid-template-columns: 1fr 1fr; + max-width: var(--docs-measure); + padding-inline: var(--docs-margin); + padding-block-end: 3.5rem; + gap: 2rem; } -#starlight__search { - --pagefind-ui-font: var(--font-sans); - --pagefind-ui-text: var(--color-ink); - --pagefind-ui-background: var(--color-paper); - --pagefind-ui-border: var(--color-line); - --pagefind-ui-primary: var(--color-accent); - --pagefind-ui-tag: var(--color-veil); - --pagefind-ui-border-radius: 0.6rem; - --pagefind-ui-border-width: 1px; +.docs-pager a { + text-decoration: none; + display: block; } -#starlight__search .pagefind-ui__search-input { - font-family: var(--font-mono); - font-weight: 400; - background: var(--color-surface); +.docs-pager .pager-next { + text-align: right; + grid-column: 2; } -#starlight__search .pagefind-ui__result-title a { +.docs-pager .kicker { + display: block; font-family: var(--font-mono); - font-weight: 500; + font-size: 0.66rem; + letter-spacing: 0.14em; + text-transform: uppercase; + color: var(--color-ink-faint); +} + +.docs-pager .title { + display: block; + margin-top: 0.25rem; + font-family: var(--font-sans); + font-weight: 600; + font-size: 1.3rem; + letter-spacing: -0.02em; + line-height: 1.2; color: var(--color-ink); } -#starlight__search mark { - background: var(--color-accent-wash); - color: var(--color-accent-deep); +.docs-pager a:hover .title { + color: var(--color-accent); } /* ========================================================================== - MOBILE MENU + NARROW — the TOC goes first, then the sidebar becomes a drawer ========================================================================== */ +@media (max-width: 78rem) { + .docs-sheet, + .docs-sheet[data-toc] { + grid-template-columns: var(--docs-sidebar) minmax(0, 1fr); + } -starlight-menu-button button { - background: var(--color-surface); - border: 1px solid var(--color-line-strong); - border-radius: 0.5rem; - box-shadow: none; - color: var(--color-ink); + .docs-toc-column { + display: none; + } } -@media (max-width: 50rem) { - .sidebar-pane { +@media (max-width: 64rem) { + :root { + --docs-margin: 2rem; + } + + .docs-sheet, + .docs-sheet[data-toc] { + grid-template-columns: minmax(0, 1fr); + } + + .sidebar-toggle { + display: block; + } + + .header-nav a:not(.header-cta) { + display: none; + } + + .docs-sidebar-column { + display: none; border-inline-end: none; - border-top: 1px solid var(--color-line); + border-block-end: 1px solid var(--color-line); + } + + .docs-sidebar-column[data-open] { + display: block; + } + + .docs-sidebar-column .rail-inner { + position: static; + max-height: none; + padding-block: 1.75rem; + } +} + +@media (max-width: 40rem) { + :root { + --docs-margin: 1.4rem; + } + + .search-placeholder, + .header-cta { + display: none; + } + + .docs-page-header h1 { + font-size: clamp(2.1rem, 10vw, 2.75rem); + } + + .docs-prose > h2 { + font-size: 1.6rem; } } diff --git a/src/styles/global.css b/src/styles/global.css index 106baca..8232f7a 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -33,7 +33,8 @@ /* type */ --font-display: "Instrument Serif", Georgia, "Times New Roman", serif; - --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif; + --font-sans: + "Source Sans 3", ui-sans-serif, system-ui, -apple-system, sans-serif; --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; /* rhythm */ @@ -43,7 +44,12 @@ html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; - scroll-behavior: smooth; +} + +@media (prefers-reduced-motion: no-preference) { + html { + scroll-behavior: smooth; + } } body { From b4641bcafeb93beeb8104156e2bdbe33a6bd70e6 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Mon, 10 Aug 2026 21:54:35 +0200 Subject: [PATCH 05/16] And the page --- src/components/docs/DocsHeader.astro | 2 +- src/pages/index.astro | 1696 +++++++++++++++++++------- src/styles/global.css | 8 - 3 files changed, 1264 insertions(+), 442 deletions(-) diff --git a/src/components/docs/DocsHeader.astro b/src/components/docs/DocsHeader.astro index 28faf66..dabb2af 100644 --- a/src/components/docs/DocsHeader.astro +++ b/src/components/docs/DocsHeader.astro @@ -7,7 +7,7 @@ import Brand from "../Brand.astro"; const links = [ { href: "/docs", label: "Docs" }, { href: "/blog", label: "Blog" }, - { href: "/status", label: "Status" }, + { href: "https://status.wezel.build", label: "Status", external: true }, { href: "https://github.com/wezel-build", label: "GitHub", external: true }, ]; diff --git a/src/pages/index.astro b/src/pages/index.astro index ac9df78..de26c9d 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,448 +1,1278 @@ --- import Base from "../layouts/Base.astro"; import Brand from "../components/Brand.astro"; + +// The landing page. +// +// Built from landing-mockup.html. The load-bearing decisions, so cases not +// covered here can be derived rather than guessed: +// +// - The landing and the docs are the same printed object. Geometry is lifted +// from docs.css: an 87rem sheet, a visible 4.75rem inline margin, a +// 3.75rem full-bleed header with no bottom rule. Radius 0, no shadows. +// - Space, not lines. A rule has to earn its place, and here they earn it in +// three ways only: the masthead and footing of the fold, the break between +// chapters, and inside figures and tables where they separate data. +// - The fold is an artifact, not a symbol. Five earlier attempts (line chart, +// bar plate, readout, oversized wordmark, three different instruments) all +// failed either as fabricated evidence or as decoration. What the tool +// prints when a summary has moved does the job on its own. +// - Figures are bounded objects with a ruled head, not tinted rectangles: +// hairline border, veil caption strip, body on surface. All four figures on +// the page are built this way. +// - Headings are Instrument Serif. That is the one place the landing departs +// from the docs, which set headings in Source Sans 3 600. Switch by moving +// h1/h2 to --font-sans and weight 600. +// +// Copy is the user's. Slots below are marked COPY SLOT; leave the words alone +// unless asked. --- - - - - -
-
-
- -
-

Cargo-native build regression observability

- -

- {/* explicit space: Astro 7 collapses the newline before the span */} - Your build got faster{" "} - here. -

- -

- Wezel watches the build scenarios your team actually waits on. - It detects real drift and bisects only when there's something to explain. -

- - - -
- - curl -fsSL https://wezel.build/install.sh | sh -
-
+ - -
-
- regression receipt - a3f8c1d -
- -
-
- scenario - incremental · crate dirty +
+ +
+
+ Build regression observability + Apache-2.0 · early development
-
- scope - workspace build time + +
+
+ +

+ Your build, always at its best. +

+ + +

+ Wezel watches the build scenarios a team waits on, + records how long they take, and reports when that number + moves. +

+ + + +

+ + curl -fsSL https://wezel.build/install.sh | sh +

+
+ + +
+
Terminal
+ +
+
+ $ + wezel exp run +
+ +
+ workspace-build · incremental · crate dirty +
+
+ against 8f21c4b · previous run, 6 days ago +
+ +
step.cargo.release-build
+
+ 5 samples  41.9s  42.3s  42.0s +  42.1s  42.2s +
+ +
+ Summary + This run + Previous + Δ +   + + build-time + 42.1s + 29.7s + +12.4s + +26% + + binary-size + 18.4 MB + 18.4 MB + ±0 + + + llvm-lines + 1.94 M + 1.63 M + +310 k + +19% +
+ +
+ build-time moved beyond the noise + threshold of ±0.8s. +
+ + +
+ $ + wezel exp bisect build-time +
+
+
-
- - - - - - baseline - - - - wezel installed - - - - - - - - - - - +12.4s · +26% - - - - - - - −3.1s · improving - - - - 32 commits ago - now - -
-
-
+ - -
-
-
-

Choose scenarios

-

Clean, incremental, release, LTO — or whatever your repo actually hurts on.

-
-
-

Measure sparsely

-

Don't burn CI minutes proving nothing changed on every commit.

-
-
-

Bisect regressions

-

When the line jumps, locate the culprit and show the delta.

+
+
+ The experiment file + +

A build scenario is a file in the repository

+

+ An experiment names the steps to run and the numbers to + keep. It is committed next to the code it measures, so the + definition of "slow" moves with the branch. +

+
+ +
+
+
experiment.toml
+
description = "Tracks compile time of the wezel workspace"
+
+# A single experiment consists of multiple steps, executed in order.
+[step.cargo.release-build]
+command      = "build"
+build_target = ["burrow"]
+profile      = "release"
+
+# The cargo tool emits time_ms as an outcome. This summary runs the
+# step five times and keeps the mean, which is what bisection reads.
+summary.build-time = { outcome = "time_ms", aggregation = "mean", samples = 5 }
+
+ + +
+

Steps

+

+ Every step is declared as [step.<tool>.<name>]. The tool decides what is measured; the name is how + the step is referred to afterwards. +

+ +

Outcomes

+

+ An outcome is whatever the step produced. It is not + necessarily a number — a timings file or a profile is an + outcome too. +

+ +

Summaries

+

+ A summary reduces an outcome to one scalar. Scalars are + what bisection can compare, so a summary is the thing + that can regress. One outcome supports several of them. +

+
+
+
+ + +
+
+ What a run leaves behind + +

One run, more than one number

+

+ wezel exp run executes the steps in + order and records the outcomes. The summaries are read off that + one run, so a build that got slower and a binary that got larger + are the same measurement seen twice. +

+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SummaryToolValuevs. baseline
build-timecargo42.1 s+12.4 s
binary sizefilesize18.4 MB±0
generic bloatllvm-lines1.94 M+310 k
+
+ + +
+

Not just Rust

+

+ cargo, filesize and{" "} + llvm-lines ship with Wezel;{ + " " + } + exec measures any command. Tool + implementations live in separate binaries, so a toolchain + that follows the protocol can be added without touching Wezel + itself. +

+
+
+
+ + +
+
+ Sampling + +

Sparse until something moves

+

+ Most commits do not meaningfully change a build. Wezel + measures on a schedule rather than on every push, and only + fills in the commits it skipped once two measurements + disagree. +

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scheduled + + + + + + + + + + + + + + + +12.4s · regression + + Bisected + + + + + + + + + + + + + + 9 unmeasured commits · 3 runs to close + + + + a3f8c1d + + +

+ Scheduled + Detected + Bisected +

+ +

+ Wezel locates the commit where a measurement moved. It does + not attribute a cause. +

+
+
+ + +
+
+ The server + +

Runs go somewhere you own

+

+ Results are stored in SQLite and served by the same binary + that records them. Point the CLI at a hosted instance or at + one of your own. +

+
+ +
+
+
Terminal
+
+
+ $ + wezel serve +
+
listening on 127.0.0.1:8080
+
store: ./wezel.db (sqlite)
+
+
+ $ + wezel exp run +
+
+ release-build · 5 samples · mean 42.1s +
+
reported to http://127.0.0.1:8080
+
+
+ + +
+

Hosted

+

+ Runs reported to the hosted instance are read at{" "} + app.wezel.build. +

+ +

Self-hosted

+

+ wezel serve is the whole server. + It keeps runs in a single SQLite file, which is also the backup. +

+
+
+
+ + +
+
+
+ Where + +

Open source, under active development

+

+ Apache-2.0. The CLI is a single binary; the quickstart + wires a first scenario end to end. +

+ +
+ +
+
Install
+
+ $ + curl -fsSL https://wezel.build/install.sh | sh +
+
+ $ + cargo install wezel +
+
+
+
+
+ +
+ - - - - -
- - latest from /blog - Faster runners hide regressions - Build performance is a maintained property → - -
- - - +
+ + diff --git a/src/styles/global.css b/src/styles/global.css index 8232f7a..001d4d1 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -64,11 +64,3 @@ body { background: var(--color-accent-wash); color: var(--color-accent-deep); } - -/* utility: the page's content rail */ -.rail { - width: 100%; - max-width: 64rem; - margin-inline: auto; - padding-inline: 1.5rem; -} From 6584bb18c93f76ac428819f88efda11a4bef265b Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue, 11 Aug 2026 00:49:14 +0200 Subject: [PATCH 06/16] Moar --- src/pages/index.astro | 100 ++++++++++++++++++++++++++---------------- src/styles/docs.css | 49 ++++++++++++++------- 2 files changed, 93 insertions(+), 56 deletions(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index de26c9d..f097c28 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -20,9 +20,11 @@ import Brand from "../components/Brand.astro"; // - Figures are bounded objects with a ruled head, not tinted rectangles: // hairline border, veil caption strip, body on surface. All four figures on // the page are built this way. -// - Headings are Instrument Serif. That is the one place the landing departs -// from the docs, which set headings in Source Sans 3 600. Switch by moving -// h1/h2 to --font-sans and weight 600. +// - Two faces, as in the docs. Source Sans 3 carries voice and body both: +// headings are the same face set heavy and tight, not a change of typeface. +// Mono is the apparatus and the data. Instrument Serif belongs to the brand, +// so it appears in the wordmark and nowhere else on the page. Heading +// metrics track docs.css deliberately. // // Copy is the user's. Slots below are marked COPY SLOT; leave the words alone // unless asked. @@ -63,10 +65,13 @@ import Brand from "../components/Brand.astro";
- +

- Your build, always at its best. + Your build,{" "}always{" "}at + its best

@@ -87,12 +92,15 @@ import Brand from "../components/Brand.astro"; >
-

- - curl -fsSL https://wezel.build/install.sh | sh -

+
+ Install +

+ + curl -fsSL https://wezel.build/install.sh | sh +

+
- $ - wezel exp ${" "}wezel exp bisect build-time
@@ -473,15 +479,13 @@ import Brand from "../components/Brand.astro";
Terminal
- $ - wezel serve + ${" "}wezel serve
listening on 127.0.0.1:8080
store: ./wezel.db (sqlite)
- $ - wezel exp run + ${" "}wezel exp run
release-build · 5 samples · mean 42.1s @@ -531,13 +535,13 @@ import Brand from "../components/Brand.astro";
Install
- $ + curl -fsSL https://wezel.build/install.sh | sh
- $ + cargo install wezel
@@ -608,18 +612,27 @@ import Brand from "../components/Brand.astro"; text-wrap: balance; } - /* The one place the landing departs from the docs, which set headings in - Source Sans 3 600. */ + /* Headings are the body face set heavy and tight, not a change of + typeface — same rule as the docs (DOCS-DESIGN.md §4, "Two faces"). + Instrument Serif belongs to the brand, so it stays in the wordmark + and nowhere else. Metrics match docs.css so a section head on this + page and one in the docs are the same object. */ h1, h2 { - font-family: var(--font-display); - font-weight: 400; + font-family: var(--font-sans); + font-weight: 600; } h2 { - font-size: 2.4rem; - line-height: 1.12; - letter-spacing: -0.008em; + font-size: 2rem; + line-height: 1.2; + letter-spacing: -0.03em; + } + + /* The one emphasised word in the tagline. Accent is a signal on this + site, so it gets spent once above the fold and nowhere else. */ + .accent { + color: var(--color-accent); } h3 { @@ -717,14 +730,13 @@ import Brand from "../components/Brand.astro"; padding-block: clamp(2.5rem, 7vh, 4.5rem); } + /* Larger than a docs page head, which tops out at 3.85rem — this is the + one heading on the site that is a hero — but the same weight and the + same tightness, so the discipline holds. */ .fold-body h1 { - font-size: clamp(3rem, 5.6vw, 4.9rem); - line-height: 0.97; - letter-spacing: -0.018em; - } - - .stop { - color: var(--color-accent); + font-size: clamp(2.8rem, 5vw, 4.6rem); + line-height: 0.94; + letter-spacing: -0.042em; } .fold-sub { @@ -775,8 +787,17 @@ import Brand from "../components/Brand.astro"; border-color: var(--color-ink-faint); } + /* A footing for this column, built from the devices the page already + has — a hairline and a mono label — rather than a fourth framed box + competing with the terminal figure alongside it. */ + .install { + margin-top: 1.9rem; + padding-top: 0.85rem; + border-top: 1px solid var(--color-line); + } + .install-line { - margin-top: 1.6rem; + margin-top: 0.45rem; display: flex; align-items: baseline; gap: 0.7rem; @@ -1258,12 +1279,13 @@ import Brand from "../components/Brand.astro"; display: none; } + /* Same narrow steps the docs take. */ .fold-body h1 { - font-size: clamp(2.4rem, 11vw, 3rem); + font-size: clamp(2.1rem, 10vw, 2.75rem); } h2 { - font-size: 1.9rem; + font-size: 1.6rem; } .install-line { diff --git a/src/styles/docs.css b/src/styles/docs.css index d74a057..0fc1a0c 100644 --- a/src/styles/docs.css +++ b/src/styles/docs.css @@ -8,8 +8,8 @@ - Space, not lines. Rules and whitespace are substitutes and this design spends whitespace. A rule has to earn its place. - Rules survive only where they separate data: table head, table rows, the - callout's left edge. Nothing in the page furniture is ruled except the - sidebar divider. + callout's left edge, and the frame and caption rule of a code figure. + Nothing else in the page furniture is ruled except the sidebar divider. - Nothing floats. Radius 0, no shadows. - Two faces. Inter carries voice and body both — headings are the same face set heavy and tight, not a change of typeface. Mono is the apparatus and @@ -426,30 +426,45 @@ color: inherit; } -.docs-prose .code-figure { - margin: 0; - background: var(--color-veil); -} - -.docs-prose .code-figure figcaption { - font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.05em; - color: var(--color-ink-faint); - padding: 0.55rem 0.95rem 0; -} +/* A code block is a bounded object with a ruled head, not a tinted rectangle. + The tint is spent on the caption strip, where it marks the head as apparatus; + the body sits on surface and the frame does the containing. Matches the + landing page, so a command reads the same on both surfaces. + A radius-0, shadowless frame still doesn't float, so §3.4 holds. */ .docs-prose pre { margin: 0; - padding: 0.95rem; + padding: 1.15rem 1.2rem 1.25rem; overflow-x: auto; - background: var(--color-veil) !important; + border: 1px solid var(--color-line-strong); + /* beats the inline background-color Shiki emits on the
 */
+  background: var(--color-surface) !important;
   font-size: 0.88rem;
   line-height: 1.7;
 }
 
+.docs-prose .code-figure {
+  margin: 0;
+  border: 1px solid var(--color-line-strong);
+  background: var(--color-surface);
+}
+
+.docs-prose .code-figure > figcaption {
+  font-family: var(--font-mono);
+  font-size: 0.66rem;
+  font-weight: 500;
+  letter-spacing: 0.14em;
+  text-transform: uppercase;
+  color: var(--color-ink-faint);
+  padding: 0.5rem 1.2rem;
+  background: var(--color-veil);
+  border-block-end: 1px solid var(--color-line);
+}
+
+/* The figure already provides the frame; the pre inside it must not add a second. */
 .docs-prose .code-figure pre {
-  padding-block-start: 0.65rem;
+  border: 0;
+  background: transparent !important;
 }
 
 /* ---- tables: rules here separate data, so they stay ------------------ */

From b4457a7c9536d7f0ee7643df3b40b63f6d09a327 Mon Sep 17 00:00:00 2001
From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Date: Tue, 11 Aug 2026 01:33:44 +0200
Subject: [PATCH 07/16] Add search to docs

---
 astro.config.mjs                         |   6 +-
 package-lock.json                        | 187 ++++++++++
 package.json                             |   1 +
 src/components/docs/DocsHeader.astro     |   6 +-
 src/components/docs/DocsPageHeader.astro |   2 +-
 src/components/docs/DocsSearch.astro     | 453 +++++++++++++++++++++++
 src/layouts/DocsLayout.astro             |  13 +-
 src/styles/docs.css                      |  19 -
 8 files changed, 660 insertions(+), 27 deletions(-)
 create mode 100644 src/components/docs/DocsSearch.astro

diff --git a/astro.config.mjs b/astro.config.mjs
index ceaf8eb..cfc54c5 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -2,6 +2,7 @@
 import { defineConfig } from "astro/config";
 import mdx from "@astrojs/mdx";
 import sitemap from "@astrojs/sitemap";
+import pagefind from "astro-pagefind";
 import tailwindcss from "@tailwindcss/vite";
 import { remarkAlert } from "remark-github-blockquote-alert";
 
@@ -48,7 +49,10 @@ const codeFigure = () => ({
 // https://astro.build/config
 export default defineConfig({
   site: "https://wezel.build",
-  integrations: [mdx(), sitemap()],
+  // Pagefind indexes the built HTML after the build and serves /pagefind/ in
+  // dev from the last build output — so `astro dev` has no index until
+  // `astro build` has run at least once.
+  integrations: [mdx(), sitemap(), pagefind()],
   markdown: {
     remarkPlugins: [remarkAlert],
     shikiConfig: {
diff --git a/package-lock.json b/package-lock.json
index 8f4b010..2d5bddd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
         "@astrojs/sitemap": "^3.7.3",
         "@tailwindcss/vite": "^4.1.0",
         "astro": "^7.1.6",
+        "astro-pagefind": "^2.0.1",
         "remark-github-blockquote-alert": "^2.1.0",
         "tailwindcss": "^4.1.0",
         "yaml": "^2.9.0"
@@ -1593,6 +1594,113 @@
         "url": "https://github.com/sponsors/Boshen"
       }
     },
+    "node_modules/@pagefind/component-ui": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/component-ui/-/component-ui-1.5.2.tgz",
+      "integrity": "sha512-t8/aE0tan4JiKa6cyhhSt/5qrEVwAK/qlYBHFpnRoq+qaFFVrhmXFFMY+r6n4GJtVIFCN2A5nUpeLN68cYjEjw==",
+      "license": "MIT",
+      "dependencies": {
+        "adequate-little-templates": "^1.0.2",
+        "bcp-47": "^2.1.0"
+      }
+    },
+    "node_modules/@pagefind/darwin-arm64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.5.2.tgz",
+      "integrity": "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
+    "node_modules/@pagefind/darwin-x64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.5.2.tgz",
+      "integrity": "sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
+    "node_modules/@pagefind/freebsd-x64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.5.2.tgz",
+      "integrity": "sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ]
+    },
+    "node_modules/@pagefind/linux-arm64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.5.2.tgz",
+      "integrity": "sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@pagefind/linux-x64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.5.2.tgz",
+      "integrity": "sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@pagefind/windows-arm64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/windows-arm64/-/windows-arm64-1.5.2.tgz",
+      "integrity": "sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@pagefind/windows-x64": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.5.2.tgz",
+      "integrity": "sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@polka/url": {
+      "version": "1.0.0-next.29",
+      "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
+      "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
+      "license": "MIT"
+    },
     "node_modules/@rolldown/binding-android-arm64": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.3.tgz",
@@ -2350,6 +2458,15 @@
         "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
       }
     },
+    "node_modules/adequate-little-templates": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/adequate-little-templates/-/adequate-little-templates-1.0.2.tgz",
+      "integrity": "sha512-d0tFFG538l3Y4CElRKtticzrMr/OGohs32/nf3Ewn8rbTMBYwkVNe8mPdXWrDnMlz+ZVUFQjsTmsBD5zCtU4wg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/am-i-vibing": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.4.0.tgz",
@@ -2511,6 +2628,20 @@
         }
       }
     },
+    "node_modules/astro-pagefind": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/astro-pagefind/-/astro-pagefind-2.0.1.tgz",
+      "integrity": "sha512-zhMTctuVuKrYH1C0Xl+p8mhexEuxVrqfT8paQOAbKZFtgUIWAMtR2nCeU11ti4Rfeit16LhiCxZFwjOqYoiaNQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@pagefind/component-ui": "^1.5.0",
+        "pagefind": "^1.5.0",
+        "sirv": "^3.0.0"
+      },
+      "peerDependencies": {
+        "astro": "^2.0.4 || ^3 || ^4 || ^5 || ^6 || ^7"
+      }
+    },
     "node_modules/astro/node_modules/magic-string": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.1.0.tgz",
@@ -2539,6 +2670,21 @@
         "url": "https://github.com/sponsors/wooorm"
       }
     },
+    "node_modules/bcp-47": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.1.tgz",
+      "integrity": "sha512-KLw+H/gd2p4zly1X7Yh/qziuyae5/w/QFnvTng9eZL5fvszL7Whl3MBoWF8yxL7ksUjBfOD+OxkytiqbBpG+Fw==",
+      "license": "MIT",
+      "dependencies": {
+        "is-alphabetical": "^2.0.0",
+        "is-alphanumerical": "^2.0.0",
+        "is-decimal": "^2.0.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
     "node_modules/boolbase": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -5182,6 +5328,24 @@
       "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==",
       "license": "MIT"
     },
+    "node_modules/pagefind": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.5.2.tgz",
+      "integrity": "sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==",
+      "license": "MIT",
+      "bin": {
+        "pagefind": "lib/runner/bin.cjs"
+      },
+      "optionalDependencies": {
+        "@pagefind/darwin-arm64": "1.5.2",
+        "@pagefind/darwin-x64": "1.5.2",
+        "@pagefind/freebsd-x64": "1.5.2",
+        "@pagefind/linux-arm64": "1.5.2",
+        "@pagefind/linux-x64": "1.5.2",
+        "@pagefind/windows-arm64": "1.5.2",
+        "@pagefind/windows-x64": "1.5.2"
+      }
+    },
     "node_modules/parse-entities": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
@@ -5798,6 +5962,20 @@
         "node": ">=20"
       }
     },
+    "node_modules/sirv": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
+      "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
+      "license": "MIT",
+      "dependencies": {
+        "@polka/url": "^1.0.0-next.24",
+        "mrmime": "^2.0.0",
+        "totalist": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/sisteransi": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@@ -5985,6 +6163,15 @@
         "url": "https://github.com/sponsors/SuperchupuDev"
       }
     },
+    "node_modules/totalist": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+      "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/trim-lines": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
diff --git a/package.json b/package.json
index 9e29c5e..070b165 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
     "@astrojs/sitemap": "^3.7.3",
     "@tailwindcss/vite": "^4.1.0",
     "astro": "^7.1.6",
+    "astro-pagefind": "^2.0.1",
     "remark-github-blockquote-alert": "^2.1.0",
     "tailwindcss": "^4.1.0",
     "yaml": "^2.9.0"
diff --git a/src/components/docs/DocsHeader.astro b/src/components/docs/DocsHeader.astro
index dabb2af..f9e2735 100644
--- a/src/components/docs/DocsHeader.astro
+++ b/src/components/docs/DocsHeader.astro
@@ -1,5 +1,6 @@
 ---
 import Brand from "../Brand.astro";
+import DocsSearch from "./DocsSearch.astro";
 
 // Mirrors the landing header. The frame (height, hairline, translucent
 // background) belongs to the header itself now that Starlight's PageFrame is
@@ -18,10 +19,7 @@ const path = Astro.url.pathname;
   
 
   
- - + diff --git a/src/components/docs/DocsSearch.astro b/src/components/docs/DocsSearch.astro index ace215d..0f182d1 100644 --- a/src/components/docs/DocsSearch.astro +++ b/src/components/docs/DocsSearch.astro @@ -96,8 +96,9 @@ } .search-dialog::backdrop { - /* The desk, dimmed. Warm rather than neutral so the paper stays warm. */ - background: color-mix(in srgb, var(--color-ink) 22%, transparent); + /* Tokenised rather than mixed from ink: ink is light in the dark scheme, so + an ink-derived scrim would brighten the page instead of dimming it. */ + background: var(--color-scrim); } /* ---- field: one rule under it, no box -------------------------------- */ diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index 9a2fcf7..a5343a8 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -23,6 +23,20 @@ const { {title} {description && } + {/* + Applies a stored colour-scheme choice before first paint. `is:inline` and + not deferred on purpose: bundled or async, the page would render in the OS + scheme and then snap to the chosen one on every navigation. Absence of the + attribute means auto, which global.css resolves from prefers-color-scheme. + */} + + diff --git a/src/pages/index.astro b/src/pages/index.astro index f097c28..cb19aa2 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,6 +1,7 @@ --- import Base from "../layouts/Base.astro"; import Brand from "../components/Brand.astro"; +import ThemeToggle from "../components/ThemeToggle.astro"; // The landing page. // @@ -49,6 +50,7 @@ import Brand from "../components/Brand.astro"; Blog Status GitHub + Install CLI @@ -775,7 +777,7 @@ import Brand from "../components/Brand.astro"; } .btn-primary:hover { - background: #000; + background: var(--color-ink-deep); } .btn-quiet { diff --git a/src/styles/global.css b/src/styles/global.css index 001d4d1..4f8eb14 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,9 +1,22 @@ @import "tailwindcss"; /* - Wezel design tokens — light, warm, confident. + Wezel design tokens — warm, confident, two schemes. + Aesthetic direction (swappable): humanist serif display + clean grotesk body. - The mood we're after: relief + agency. Calm paper, generous space, one warm accent. + The mood we're after: relief + agency. Calm paper, generous space, one warm + accent. + + This palette is the source of truth for the Wezel look, and anthill's + `anthill/src/index.css` + `anthill/src/lib/theme.ts` mirror it token for token + (anthill's --c-bg / --c-surface / --c-surface2 / --c-border / --c-text / + --c-text-mid / --c-text-dim / --c-accent / --c-red / --c-green are the same + values as paper / surface / veil / line-strong / ink / ink-soft / ink-faint / + accent / warn / good below). Change a value here and change it there. + + Dark is not an inversion. Warm paper inverted is mud, so the dark scheme is a + warm near-black with its own neutrals; only the relationships are preserved — + surface is a step off paper, veil is a step further, and both stay warm. */ @theme { /* surfaces */ @@ -15,6 +28,7 @@ --color-ink: #1c1b18; /* primary text */ --color-ink-soft: #57544c; /* secondary text */ --color-ink-faint: #8c887d; /* tertiary / captions */ + --color-ink-deep: #000000; /* pressed/hover past ink; inverts in dark */ /* lines */ --color-line: #e7e3d8; /* hairline borders */ @@ -31,6 +45,9 @@ --color-good: #2f7d57; /* the recovery (faster) */ --color-good-wash: #e2efe7; + /* the desk behind a modal. Not derived from ink: in dark, ink is light. */ + --color-scrim: rgb(28 27 24 / 22%); + /* type */ --font-display: "Instrument Serif", Georgia, "Times New Roman", serif; --font-sans: @@ -41,7 +58,99 @@ --spacing-gutter: 1.5rem; } +/* + Dark scheme. + + Selectable, on the same `data-theme` attribute anthill switches on, so the two + agree structurally and not only in hex values. Three states: `auto` follows the + OS and is the default (no attribute), `light` and `dark` are explicit and are + persisted under the `wezel-theme` key. An inline script in Base.astro applies + the stored choice before first paint, so there is no flash of the wrong theme. + + The values live once, in --d-*. Only the mapping is written twice: for an + explicit choice, and — for readers with no JavaScript — for an OS preference. + Colours cannot drift between the two; at worst a mapping line goes missing. + + Every value clears 4.5:1 against both the page and the caption strip it can + sit on. The dim tone is lighter than a straight port of anthill's --c-text-dim + (#6a604f, 3.16:1 here) because this site spends that colour on 0.66rem mono + labels rather than on decorative text. +*/ +:root { + --d-paper: #0f0c0a; + --d-surface: #1e1916; + --d-veil: #2a231f; + + --d-ink: #ece5d8; + --d-ink-soft: #a89c87; + --d-ink-faint: #988a73; + --d-ink-deep: #fffdf8; + + --d-line: #443a32; + --d-line-strong: #5c5045; + + --d-accent: #e2764a; + --d-accent-deep: #ec8b62; + --d-accent-wash: #3a221a; + + --d-warn: #df6a4a; + --d-warn-wash: #3a1d15; + --d-good: #8aae7e; + --d-good-wash: #1e2a1f; + + --d-scrim: rgb(0 0 0 / 62%); +} + +:root[data-theme="dark"] { + color-scheme: dark; + + --color-paper: var(--d-paper); + --color-surface: var(--d-surface); + --color-veil: var(--d-veil); + --color-ink: var(--d-ink); + --color-ink-soft: var(--d-ink-soft); + --color-ink-faint: var(--d-ink-faint); + --color-ink-deep: var(--d-ink-deep); + --color-line: var(--d-line); + --color-line-strong: var(--d-line-strong); + --color-accent: var(--d-accent); + --color-accent-deep: var(--d-accent-deep); + --color-accent-wash: var(--d-accent-wash); + --color-warn: var(--d-warn); + --color-warn-wash: var(--d-warn-wash); + --color-good: var(--d-good); + --color-good-wash: var(--d-good-wash); + --color-scrim: var(--d-scrim); +} + +/* No attribute means auto. With JavaScript the inline script resolves this to a + concrete value before paint; without it, this is the whole of dark mode. */ +@media (prefers-color-scheme: dark) { + :root:not([data-theme]) { + color-scheme: dark; + + --color-paper: var(--d-paper); + --color-surface: var(--d-surface); + --color-veil: var(--d-veil); + --color-ink: var(--d-ink); + --color-ink-soft: var(--d-ink-soft); + --color-ink-faint: var(--d-ink-faint); + --color-ink-deep: var(--d-ink-deep); + --color-line: var(--d-line); + --color-line-strong: var(--d-line-strong); + --color-accent: var(--d-accent); + --color-accent-deep: var(--d-accent-deep); + --color-accent-wash: var(--d-accent-wash); + --color-warn: var(--d-warn); + --color-warn-wash: var(--d-warn-wash); + --color-good: var(--d-good); + --color-good-wash: var(--d-good-wash); + --color-scrim: var(--d-scrim); + } +} + html { + color-scheme: light dark; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } From 6fb2c1143180c3eb60ee15af2dba0a82754a1949 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Wed, 12 Aug 2026 18:00:21 +0200 Subject: [PATCH 09/16] Update landing page and styling --- public/favicon.svg | 7 ++- public/og.png | Bin 0 -> 59766 bytes src/components/SocialLinks.astro | 69 +++++++++++++++++++++ src/components/ThemeToggle.astro | 86 ++++++++++++++++++++++----- src/components/docs/DocsHeader.astro | 35 +++++++---- src/layouts/Base.astro | 30 ++++++++-- src/pages/index.astro | 45 +++++++++++--- src/pages/llms.txt.ts | 67 +++++++++++++++++++++ src/styles/docs.css | 19 +++++- src/styles/global.css | 9 ++- 10 files changed, 322 insertions(+), 45 deletions(-) create mode 100644 public/og.png create mode 100644 src/components/SocialLinks.astro create mode 100644 src/pages/llms.txt.ts diff --git a/public/favicon.svg b/public/favicon.svg index eaaeebb..46de67c 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,4 +1,9 @@ + - w + diff --git a/public/og.png b/public/og.png new file mode 100644 index 0000000000000000000000000000000000000000..963b6bf535128770864e9f8b21c8e4d86534c1e4 GIT binary patch literal 59766 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 literal 0 HcmV?d00001 diff --git a/src/components/SocialLinks.astro b/src/components/SocialLinks.astro new file mode 100644 index 0000000..463fca6 --- /dev/null +++ b/src/components/SocialLinks.astro @@ -0,0 +1,69 @@ +--- +// Social links. Icons rather than words because these are brand marks, and a +// wordmark is what a brand mark is for — this is the one place the site uses +// iconography, and it isn't inventing a metaphor (compare ThemeToggle, which +// says "Auto" in words rather than drawing a sun). +// +// Paths are the official marks from simple-icons, which are CC0-1.0. They are +// inlined rather than pulled from the package at build time so the site carries +// no dependency for two path strings — but they are copied, not drawn from +// memory, so the silhouettes are correct. +// +// The Bluesky handle is @wezel.build, verified against +// com.atproto.identity.resolveHandle (did:plc:jeiqfutql34qo2gakwfcqrg6). +// +// GitHub first: for a build tool it is the destination people actually want. +// +// The {" "} between the links is deliberate. Astro trims the newline before a +// tag to nothing, so without it the markup carries no whitespace at all and the +// only thing separating these is flex `gap`. Flex ignores whitespace-only text +// nodes, so this costs nothing when gap applies and degrades to ordinary word +// spacing when it doesn't. +--- + + + + diff --git a/src/components/ThemeToggle.astro b/src/components/ThemeToggle.astro index acba9fe..a1ed8f8 100644 --- a/src/components/ThemeToggle.astro +++ b/src/components/ThemeToggle.astro @@ -6,32 +6,71 @@ // under `wezel-theme`. The attribute is the one anthill switches on, so the two // codebases agree on mechanism as well as on palette. // -// The label states the current mode in words rather than in an icon: this site -// has no iconography, and a sun/moon glyph would be a whole new vocabulary for -// one control. Mono uppercase makes it read as apparatus, like every other -// label on the page. +// Icons, now that the header carries brand marks and iconography is no longer +// foreign to the page. All three are drawn here rather than imported: they are +// circles and straight lines on a 24 grid, and the sun's rays are placed on a +// computed 45° ring rather than by eye. `auto` is a half-filled disc — the +// design's own vocabulary — rather than a picture of a monitor, which would be +// a bigger metaphor leap than "half one, half the other". +// +// Icon-only controls have to say what they are: the accessible name and the +// native tooltip both carry the current state, and a visually hidden text node +// keeps it announced. All three icons ship and CSS shows one, so switching state +// touches an attribute rather than rebuilding DOM. // // Base.astro carries the inline script that applies the stored choice before // first paint. Without it this button still works, but every navigation would // flash the OS scheme first. --- - diff --git a/src/components/SiteHeader.astro b/src/components/SiteHeader.astro new file mode 100644 index 0000000..c8ba70c --- /dev/null +++ b/src/components/SiteHeader.astro @@ -0,0 +1,38 @@ +--- +import Brand from "./Brand.astro"; +import SiteNav from "./SiteNav.astro"; + +// The header for every page that isn't docs: the landing and the blog. Docs has +// its own frame because it carries search and the sidebar drawer toggle, but it +// uses the same , so the link list exists once. +// +// Full bleed, 3.75rem, no bottom rule — the geometry is docs.css's, so the two +// chromes are the same object. +--- + + + + diff --git a/src/components/SiteNav.astro b/src/components/SiteNav.astro new file mode 100644 index 0000000..6a3dfd7 --- /dev/null +++ b/src/components/SiteNav.astro @@ -0,0 +1,114 @@ +--- +import SocialLinks from "./SocialLinks.astro"; +import ThemeToggle from "./ThemeToggle.astro"; + +// The site nav, shared by the landing header, the blog header and the docs +// header. It used to be duplicated in two places with a comment asking whoever +// touched one to remember the other, which is exactly the smell that says +// extract — the list had already drifted once (GitHub was dropped from the +// landing and left in the docs). +// +// Three clusters — destinations, chrome, action — separated by space rather +// than by a rule, per DOCS-DESIGN.md §2. Without the grouping the theme control +// and the brand marks read as nav items. +// +// The {" "} between links is load-bearing. Astro trims the newline before a tag +// to nothing, so `gap` would otherwise be the only thing separating these words +// and the failure mode is "DocsBlogStatus". Flex ignores whitespace-only text +// nodes, so it costs nothing when gap applies. + +const links = [ + { href: "/docs", label: "Docs" }, + { href: "/blog", label: "Blog" }, + { href: "https://status.wezel.build", label: "Status", external: true }, +]; + +const path = Astro.url.pathname; +--- + + + + diff --git a/src/components/SocialLinks.astro b/src/components/SocialLinks.astro index 463fca6..e6cd596 100644 --- a/src/components/SocialLinks.astro +++ b/src/components/SocialLinks.astro @@ -6,13 +6,18 @@ // // Paths are the official marks from simple-icons, which are CC0-1.0. They are // inlined rather than pulled from the package at build time so the site carries -// no dependency for two path strings — but they are copied, not drawn from +// no dependency for three path strings — but they are copied, not drawn from // memory, so the silhouettes are correct. // // The Bluesky handle is @wezel.build, verified against // com.atproto.identity.resolveHandle (did:plc:jeiqfutql34qo2gakwfcqrg6). // -// GitHub first: for a build tool it is the destination people actually want. +// Ordered by what a visitor is most likely to want: the source, then the room +// where questions get answered, then the broadcast channel. +// +// The Discord invite (discord.gg/HySRs8TRvH) resolves to the "Wezel.build" +// guild and is set never to expire — checked against the invites API. A +// non-permanent invite would rot silently, so re-check if it is ever replaced. // // The {" "} between the links is deliberate. Astro trims the newline before a // tag to nothing, so without it the markup carries no whitespace at all and the @@ -32,6 +37,16 @@ {" "} + + + {" "} + , so the link list lives +// in one place rather than being mirrored here; it had already drifted once. +// See DOCS-DESIGN.md §4. ---
@@ -21,31 +15,7 @@ const path = Astro.url.pathname;
- - +
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + wezel + + + + + Wezel cut W + Simple W, second downstroke removed, existing warm tile preserved. + + + + Balanced + best first pass + + + + + Wide + more glyph-like + + + + + Compact + favicon-heavy + + + + + Chisel + sharper cuts + + + + + Slab + less soft + + + + + Lockup check + mark beside current wordmark style + + + + + + + + + Token orange + global --color-accent + + + + + + + + + Reverse + light surface use + + diff --git a/public/brand/wezel-mark-cut.png b/public/brand/wezel-mark-cut.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5a18274090225ae09e456b70bdf4a53b5d5556 GIT binary patch literal 47297 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 w(_6t8m%=_U`0)fTrGl?Ky + Wezel cut W mark + + + + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..3005430ccea5ef4bd1ff500baca16027020c27a0 GIT binary patch literal 435 zcmV;k0ZjghP){~vB&`hQ2T7F=v!qSgQBCwBZl zS{w)#f4F@KSRG8B0oj1NYiIud{p;KR(@jZmvD>SrfW^+Vr2aqEkOXFf)L}K?K#KkU zpWiVv*VD0}e&mH*x>-*>b2h*Ie8?Ylt^Z%ngtH8D# zuL%EtZEh==eQ9dd|09Kd|9}7d`v39%wJ7Qt&5KpfGxfi0I>?JGqevm5LOW zK@2>D>Wl=Ki7*+b<+b0>9OH*C$1T@|)3%_Z}@)zuwWcQ^3HnRbs}-E?;y zb}pQUIUm3Cn=|*GJ4X=KES2QtC`7DLWYMb-agoXrGeUGMB6=th?T|xAwiIHqQdtTa zm2?vcsl-yaA-N(;D_KbXuOhOvf+SRumy@M8=Y>cM@2tCa3h>Rdo_tmA2#PHBn?`_$ z9;kq3Vg*8iiOF>lHZyweRj{F#^~`zk@RmRWbye(p<3r{sDd6-F3mAZv76JFoGwe@n zNtXq`kEw;Z|4rUsdkuZ3y4z3>F%X-u0cOesdTYut5XAf7YH|XnEi5=Zh<>wQdRHrW z{|bizm?;xbt+^~T@dJZ{Lj!uU^?p6}GA_yBqiVDTe4kLSP5GH>-ILxP@IA3{;N7<` zZ19=!cA!1{dz`hL&DZr^w~Dz~-&1?~o3N!QpM?YC2r}K*&e=O}$Xt@I&uh^(=~hv{ zG&jv!i}$8afXWj4)>y|S`B-H|+gQgN)JL>A)^>isu6JEN#$wS$v<)@YXLby!EU~t8 z`&c9tK(H}aGaj$lvWEJRw+$FG`u+v#qv3hhUUo2Z0#ufC@C0BiqOp#Oqs-s@jMF(U z9npOqr3Y9v97Nks+PEpUkO~23`5_it4slh8XtVhI%lR68hhIHj{bbQF`%rme`vfSI zwY7=c3u~qGI?;V#qb&z#P(R_OTjC0-5^z->=Qb9e4386iJ~!OuY+cnw#u1?Fj#ff? zY^Aylnv6C%lC&clMxd*@h)WJFIME%~w{B>|h7+LB`TAX$1TLXWF0XA7aFi72*DhSY z+qu3oCO{1q!IVGZgb--~eoDRO5fD8Bj7w$_P>5tRZ7@-YG~ax3_m22N9d+iDUJ_H^;Ka*Ix{NdDX2Pa2x;t002ovPDHLk FV1n>&blLy_ literal 0 HcmV?d00001 diff --git a/public/favicon.svg b/public/favicon.svg index 46de67c..4ee13ce 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,9 +1,13 @@ - - - + + + + + diff --git a/public/og.png b/public/og.png index 963b6bf535128770864e9f8b21c8e4d86534c1e4..8d38d80047a327d308f7697f701a02e6a3f9cc43 100644 GIT binary patch literal 59455 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лVls7HP_*iN)&O4X6SPu|!)gO2PKI z0t=Xbq{WUzZB0r_KULEq(oSPHY@?q&?FQ3P`&d~my|=>gkRHn*GaU?*OR6^;gZR`V z1Hniiku$$Zv#^rWF(LNbp8WwEJ@E*7g0}OD?@Nukxp2e(BPDE+7LuD~5ggxOk$hX> zy@R3(eV0h~rGYX%&;j~EhIjG@LgE}vchra}lle5L-j7|?hWAy1f<=a7e#uDoK&_afI3_C8SBt>ea+4VVvw(w#l zPOi$SyW!D$^>FXxqC%f*n-?hpq*LBe!+AmPxfac%7h-m2%t%4JQQ2LnC51b?v2QJ7 zpKSXfUJtLqWt;AHcj}kg>fi1ubEzA_Az%I(kACl6q0o4}PUL>U?iu^hUP-0oI^_D- zgI4G7PsMG%sEnq(WPz2~b;^%U@QCFxHrII&QC2>`nIKz4@TV#>)ep&5p{xjaJ>WXoKmjgP3t>~-tM1IE@(_WobGbEEAJG)=w0Wl4$ z7G6mj(HI^1kj)_AE9}BN&UAQR#plm^KGaaXj}QwX2I^Uz>P}I(5Ei3X`1R5I=Qbav zvLO(&lqsfNud00Z0Y{oJCw(!R=L;IKZ16fUKp&mC5k{R$>pO~8)VKNI4Y`J6%7CNk z){1{_--0=dI={`_+PQFKLrhCWR5*G-c07OHUPi zoNl^5_eZo1Yho9TofPJDMoNULY{5c@egDlGNI>W$L)j1{!m|SdeES+!4SnMh(ykOe zbA<@)-2+aVQ#YxIIOxrU+*-}IJ_&$v&YtcN+k?#9J%cg^P1+l`qJ@uX(b=UcUG%RK zbxc&QAp0TwslMrP<(;6o(O#LBLYv0U=Z8bH&hwy1tGxv;k-e~RZ~2aGrm$YuqiF3; z8 g&(8ntR3Lf4Qr#z@_c@q24;+w%-MgJ5W&HGi0D)FXRR910 literal 59766 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 diff --git a/src/components/Brand.astro b/src/components/Brand.astro index b10b638..25be946 100644 --- a/src/components/Brand.astro +++ b/src/components/Brand.astro @@ -2,14 +2,9 @@ // The Wezel wordmark. Shared by the landing header and the docs header so the // two chromes can't drift apart. // -// The mark is the favicon, promoted: a terracotta tile with a serif `w`. Inline -// here rather than an , so the letter picks up Instrument Serif from the -// page. -// -// public/favicon.svg and brand/social/avatar.svg carry the same mark with the -// `w` outlined to a path, since an icon SVG never sees the webfont. Those were -// generated from this geometry — font-size 18, centred on x=16, baseline y=22 — -// so changing anything here means regenerating them. +// The header mark is inline rather than an so it can inherit the live +// theme tokens. The favicon is maintained as a separate icon asset because it +// must render without CSS variable access. interface Props { href?: string; } @@ -26,13 +21,16 @@ const { href = "/" } = Astro.props; aria-hidden="true" > - w + + + wezel @@ -49,10 +47,6 @@ const { href = "/" } = Astro.props; flex: none; } - .brand-mark text { - font-family: var(--font-display); - } - .brand-name { font-family: var(--font-display); font-size: 1.55rem; diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index c7d13e4..b57d7e5 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -34,6 +34,9 @@ const ogImage = new URL("/og.png", Astro.site); + + + {title} From 92cf08d6b3e56acb90d8a7175be56b3ce067aff6 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 20 Aug 2026 12:22:11 +0200 Subject: [PATCH 15/16] Restore deploy workflow The full-rebuild wipe in 7b15a4a removed .github/workflows/deploy.yml along with the rest of the site. Since pull_request runs use the workflow file from the PR's own ref, no run was queued and the required "build" check was never reported, blocking the PR. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/deploy.yml | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..7d1881c --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,45 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + + - run: npm ci + - run: npm run build + + - uses: actions/upload-pages-artifact@v3 + with: + path: dist + + deploy: + needs: build + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file From 7202daae39be8ffd3bcfe45173e5401d74c5fbff Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 20 Aug 2026 12:28:22 +0200 Subject: [PATCH 16/16] Restore install.sh, drop unused brand SVG install.sh was removed in the full-rebuild wipe, but the landing page and installation docs still point at https://wezel.build/install.sh, so that URL has been 404ing. Restore it from the pre-rebuild tree. wezel-cut-w-concepts.svg had no references anywhere in the source. Co-Authored-By: Claude Opus 5 (1M context) --- public/brand/wezel-cut-w-concepts.svg | 173 -------------------------- public/install.sh | 82 ++++++++++++ 2 files changed, 82 insertions(+), 173 deletions(-) delete mode 100644 public/brand/wezel-cut-w-concepts.svg create mode 100644 public/install.sh diff --git a/public/brand/wezel-cut-w-concepts.svg b/public/brand/wezel-cut-w-concepts.svg deleted file mode 100644 index b325929..0000000 --- a/public/brand/wezel-cut-w-concepts.svg +++ /dev/null @@ -1,173 +0,0 @@ - - Wezel cut W logo concepts - Six simple Wezel mark variants using the existing terracotta and warm paper palette. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - wezel - - - - - Wezel cut W - Simple W, second downstroke removed, existing warm tile preserved. - - - - Balanced - best first pass - - - - - Wide - more glyph-like - - - - - Compact - favicon-heavy - - - - - Chisel - sharper cuts - - - - - Slab - less soft - - - - - Lockup check - mark beside current wordmark style - - - - - - - - - Token orange - global --color-accent - - - - - - - - - Reverse - light surface use - - diff --git a/public/install.sh b/public/install.sh new file mode 100644 index 0000000..a682b9b --- /dev/null +++ b/public/install.sh @@ -0,0 +1,82 @@ +#!/bin/sh +# +# wezel meta-installer. +# +# Resolves the most recent GitHub release (prereleases included, since +# wezel ships those today) and forwards to its bundled installer. +# +# Usage: curl -fsSL https://wezel.build/install.sh | sh +# +set -eu + +REPO="wezel-build/wezel" +ASSET="wezel_cli-installer.sh" + +if ! command -v curl >/dev/null 2>&1; then + echo "wezel-install: curl is required" >&2 + exit 1 +fi + +# curl >= 7.71 can also retry rate-limit 403s (--retry-all-errors); older builds +# still retry connection errors, 5xx and 429 via plain --retry. +RETRY_ALL=0 +if curl --help all 2>/dev/null | grep -q -- '--retry-all-errors'; then + RETRY_ALL=1 +fi + +# Retry transient GitHub failures with exponential backoff: CDN 504s, request +# timeouts, and (where supported) rate-limit 403s. +get() { + if [ "$RETRY_ALL" -eq 1 ]; then + curl -fsSL --retry 5 --retry-max-time 60 --retry-all-errors "$@" + else + curl -fsSL --retry 5 --retry-max-time 60 "$@" + fi +} + +# A token (exported by CI as GITHUB_TOKEN / GH_TOKEN) lifts the GitHub API limit +# from 60 req/hr per IP. Shared CI runner IPs routinely exhaust the anonymous +# quota — the usual cause of an intermittent HTTP 403 on the release lookup. +TOKEN="${GITHUB_TOKEN:-${GH_TOKEN:-}}" + +releases() { + if [ -n "$TOKEN" ]; then + get -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${TOKEN}" "$1" + else + get -H "Accept: application/vnd.github+json" "$1" + fi +} + +# The /releases endpoint lists ALL releases (prereleases included) sorted +# newest-first. The /releases/latest endpoint excludes prereleases, which +# is why we don't use it. +TAG="$(releases "https://api.github.com/repos/${REPO}/releases?per_page=1" \ + | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' \ + | head -n 1)" + +if [ -z "${TAG}" ]; then + echo "wezel-install: could not determine latest release from GitHub API" >&2 + echo "wezel-install: check https://github.com/${REPO}/releases" >&2 + exit 1 +fi + +UPSTREAM="https://github.com/${REPO}/releases/download/${TAG}/${ASSET}" +echo "wezel-install: resolving ${TAG} -> ${ASSET}" >&2 + +# Run the bundled installer, retrying the whole thing: its binary-tarball +# download can hit transient GitHub CDN errors (e.g. HTTP 504) with no retry +# of its own. +n=1 +while :; do + if installer="$(get "${UPSTREAM}")" && printf '%s\n' "${installer}" | sh; then + exit 0 + fi + if [ "${n}" -ge 3 ]; then + echo "wezel-install: installer failed after ${n} attempts" >&2 + exit 1 + fi + echo "wezel-install: attempt ${n} failed, retrying in $((n * 3))s..." >&2 + sleep "$((n * 3))" + n=$((n + 1)) +done