diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 8c5fea882..000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,48 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node -{ - "name": "Stellar Docs - Docusaurus/pnpm", - "image": "mcr.microsoft.com/devcontainers/typescript-node:1-24", - "hostRequirements": { - "cpus": 2 - }, - "forwardPorts": [3000], - "portsAttributes": { - "3000": { - "elevateIfNeeded": true, - "onAutoForward": "openBrowser", - "label": "docusaurus", - "requireLocalPort": true - } - }, - "customizations": { - "codespaces": { - "openFiles": ["README.md"] - }, - "vscode": { - "settings": { - "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true - }, - "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true - }, - "[jsonc]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true - } - }, - "extensions": [ - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "streetsidesoftware.code-spell-checker" - ] - } - }, - "postCreateCommand": "pnpm install --frozen-lockfile", - "waitFor": "postCreateCommand", - "postStartCommand": "chmod +x ./.devcontainer/post_attach_start.sh", - "postAttachCommand": "./.devcontainer/post_attach_start.sh && tail -f docs.log" -} diff --git a/.devcontainer/post_attach_start.sh b/.devcontainer/post_attach_start.sh deleted file mode 100755 index 59b145803..000000000 --- a/.devcontainer/post_attach_start.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -e - -touch docs.log -chmod 775 docs.log -nohup pnpm start --port 3000 > docs.log 2>&1 & echo $! > run.pid - -echo "Docusaurus running on process: $(cat run.pid)" -echo "Docusaurus running on port 3000" -echo "" -echo "View logs: tail -f docs.log" -echo "Restart docusaurus: ./.devcontainer/restart.sh" -echo "Stop docusaurus: kill -9 '$(lsof -t -i:3000)'" -echo "Developing in a devcontainer: https://docs.github.com/en/codespaces/developing-in-a-codespace/developing-in-a-codespace#working-in-a-codespace-in-the-browser" diff --git a/.devcontainer/restart.sh b/.devcontainer/restart.sh deleted file mode 100755 index d27525d7a..000000000 --- a/.devcontainer/restart.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -set -e - -kill -9 $(lsof -t -i:3000) -./post_attach_start.sh diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d1619e92b..c730811e2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -32,16 +32,3 @@ updates: all-actions: applies-to: version-updates patterns: [ "*" ] - - package-ecosystem: "docker" - directory: "/" - schedule: - interval: "weekly" - day: "sunday" - time: "02:00" - cooldown: - default-days: 3 - open-pull-requests-limit: 2 - groups: - all-docker: - applies-to: version-updates - patterns: [ "*" ] diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml deleted file mode 100644 index f6139e443..000000000 --- a/.github/workflows/build-and-push.yml +++ /dev/null @@ -1,79 +0,0 @@ -name: Build and push stellar-docs - -# Deployed to: https://github.com/stellar/stellar-docs -# -# Converted from the Jenkins pipeline (Jenkinsfile-stellar-docs). On every push -# to main (or manual dispatch) builds the stellar-docs docker image (with -# translations), pushes it to the prd ECR repo (prd/stellar-docs:), and -# also pushes it as dev/stellar-docs:latest for PR previews. - -on: - push: - branches: - - main - workflow_dispatch: - -permissions: - id-token: write - contents: read - -env: - SLACK_CHANNEL: docs-builds - -jobs: - build-and-push: - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v7.0.1 - with: - # Docusaurus uses Git history for last-update author and time. - fetch-depth: 0 - - - name: Determine image label - id: vars - run: echo "label=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" - - - name: ECR login - id: ecr-login - uses: stellar/actions/sdf-ecr-login@main - - - name: Build and push docker image - env: - ECR_REGISTRY: ${{ steps.ecr-login.outputs.ecr-registry }} - LABEL: ${{ steps.vars.outputs.label }} - run: | - set -eu - export TAG="${ECR_REGISTRY}/prd/stellar-docs:${LABEL}" - make docker-build - ecr-push "${TAG}" - - # Push image with latest tag to dev registry for the PR previews. - DEV_TAG="${ECR_REGISTRY}/dev/stellar-docs:latest" - docker tag "${TAG}" "${DEV_TAG}" - ecr-push "${DEV_TAG}" - - - name: Slack notification — success - if: success() - uses: slackapi/slack-github-action@dcb1066f776dd043e64d0e8ba94ca15cc7e1875d # v4.0.0 - with: - method: chat.postMessage - token: ${{ secrets.SLACK_BOT_TOKEN }} - payload: | - { - "channel": "${{ env.SLACK_CHANNEL }}", - "text": "Docs build complete for <${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>." - } - - - name: Slack notification — failure - if: failure() - uses: slackapi/slack-github-action@dcb1066f776dd043e64d0e8ba94ca15cc7e1875d # v4.0.0 - with: - method: chat.postMessage - token: ${{ secrets.SLACK_BOT_TOKEN }} - payload: | - { - "channel": "${{ env.SLACK_CHANNEL }}", - "text": "Docs build failed for <${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>." - } diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index d398cb4f2..000000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Build docs - -on: - workflow_call: - inputs: - stellar-cli-ref: - required: false - default: 'main' - type: string - description: "Stellar-cli ref to build against. If empty, will use latest cli version" - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout App Repo - uses: actions/checkout@v7.0.1 - with: - repository: "stellar/stellar-docs" - - - name: Install pnpm - uses: pnpm/action-setup@v6 - - - name: Setup Node - uses: actions/setup-node@v7.0.0 - with: - node-version: '24' - cache: 'pnpm' - cache-dependency-path: '**/pnpm-lock.yaml' - - - name: Enable Corepack - run: corepack enable - - - name: Install App Dependencies - run: pnpm install --prefer-offline --frozen-lockfile - shell: bash - - - name: Copy Files From Stellar CLI - run: pnpm stellar-cli:build -- --cli-ref='${{ inputs.stellar-cli-ref }}' - shell: bash - - - name: (temp) Fix CLI links - run: pnpm stellar-cli:fix-links - shell: bash - - - name: Build app - run: pnpm build - shell: bash - - - name: Check if routes.txt file needs updating - run: | - if ! git diff --exit-code -- routes.txt; then - echo 'The `routes.txt` file has changed. Please update the routes.txt file locally by running `pnpm build` and push that change.' - exit 1 - fi diff --git a/.github/workflows/check-routes-removal.yml b/.github/workflows/check-routes-removal.yml deleted file mode 100644 index 7c81f7d46..000000000 --- a/.github/workflows/check-routes-removal.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Check Routes Removal - -on: - pull_request: - paths: - - 'routes.txt' - -jobs: - check-routes-removal: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v7.0.1 - with: - fetch-depth: 0 - - - name: Check for routes removal - id: check-removal - run: | - # Get the list of removed lines in routes.txt - ROUTES_DIFF=$(git diff origin/${{ github.base_ref }} ${{ github.sha }} -- routes.txt) - - # Count removed lines (excluding diff metadata) - REMOVED_COUNT=$(echo "$ROUTES_DIFF" | { grep -E '^\-[^-]' || true; } | wc -l) - - if [ $REMOVED_COUNT -gt 0 ]; then - echo "routes_removed=true" >> $GITHUB_OUTPUT - echo "$ROUTES_DIFF" >> routes.diff - else - echo "routes_removed=false" >> $GITHUB_OUTPUT - fi - - - name: Comment on PR (if routes were removed) - if: steps.check-removal.outputs.routes_removed == 'true' - uses: actions/github-script@v9 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const fs = require('fs') - const diffContent = fs.readFileSync('routes.diff', 'utf8'); - - // Convert escaped newlines back for display - const formattedDiff = diffContent.replace(/%0A/g, '\n').replace(/%0D/g, '\r').replace(/%25/g, '%'); - - const comment = `> [!WARNING] - > This change removes routes. The diff of routes is below. Please verify that these changes to the routes are intentional and that redirects are in place if needed. Redirects can be added to \`nginx/includes/redirects.conf\`. - - \`\`\`diff - ${formattedDiff} - \`\`\` - - `; - - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: comment - }); diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index cb2d039a3..000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: Build, format MDX and Lint - -on: - pull_request: - branches: - - main - - workflow_dispatch: - -jobs: - complete: - if: always() - needs: [ mdx-format, build ] - runs-on: ubuntu-latest - steps: - - if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') - run: exit 1 - - mdx-format: - runs-on: ubuntu-latest - - steps: - - name: Checkout App Repo - uses: actions/checkout@v7.0.1 - with: - # Full history so we can diff the PR against its base branch and only - # flag links introduced by this PR, not pre-existing repo content. - fetch-depth: 0 - - - name: Install pnpm - uses: pnpm/action-setup@v6 - - - name: Setup Node - uses: actions/setup-node@v7.0.0 - with: - node-version: '24' - cache: 'pnpm' - cache-dependency-path: '**/pnpm-lock.yaml' - - - name: Enable Corepack - run: corepack enable - - - name: Install App Dependencies - run: pnpm install --prefer-offline --frozen-lockfile - - - name: Check MDX - run: git update-index -g && pnpm ci:mdx - - - name: Show Diff if Prettier Fails - if: ${{ failure() }} - run: pnpm diff:mdx && echo "::error::Prettier static analysis failed" - - - name: No new absolute internal /docs links - # Canonical rule lives in scripts/check-relative-links.sh (shared with - # the pre-commit hook). Only flags absolute /docs links introduced by - # this PR's diff, not pre-existing content in untouched lines. - run: | - base="${{ github.base_ref }}" - scripts/check-relative-links.sh --range "origin/${base:-main}...HEAD" \ - || { echo "::error::New absolute /docs link(s) found above."; exit 1; } - - - - build: - uses: ./.github/workflows/build.yml - diff --git a/.github/workflows/mintlify-checks.yml b/.github/workflows/mintlify-checks.yml new file mode 100644 index 000000000..9461347f1 --- /dev/null +++ b/.github/workflows/mintlify-checks.yml @@ -0,0 +1,65 @@ +name: Format MDX and validate the Mintlify build + +on: + pull_request: + branches: + - main + - mintlify-migration + + workflow_dispatch: + +permissions: + contents: read + +jobs: + complete: + if: always() + needs: [ checks ] + runs-on: ubuntu-latest + steps: + - if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') + run: exit 1 + + checks: + runs-on: ubuntu-latest + + steps: + - name: Checkout App Repo + uses: actions/checkout@v7.0.1 + with: + persist-credentials: false + + - name: Install pnpm + uses: pnpm/action-setup@v6 + + - name: Setup Node + uses: actions/setup-node@v7.0.0 + with: + node-version: '24' + cache: 'pnpm' + cache-dependency-path: '**/pnpm-lock.yaml' + + - name: Enable Corepack + run: corepack enable + + - name: Install App Dependencies + run: pnpm install --prefer-offline --frozen-lockfile + + - name: Check MDX formatting + run: git update-index -g && pnpm ci:mdx + + - name: Show Diff if Prettier Fails + if: ${{ failure() }} + run: pnpm diff:mdx && echo "::error::Prettier static analysis failed" + + - name: Check blank lines around component tags + run: pnpm check:pad + + - name: Validate the Mintlify build + run: pnpm validate + + - name: Check links + # Known broken links remain (see mintlify-fast-follow.md), so this + # reports without failing the job until they're fixed. + continue-on-error: true + run: pnpm check:links diff --git a/.github/workflows/pr-preview.yml b/.github/workflows/pr-preview.yml deleted file mode 100644 index 51be1b9aa..000000000 --- a/.github/workflows/pr-preview.yml +++ /dev/null @@ -1,76 +0,0 @@ -# PR preview environments, replacing the Jenkins preview pipeline -# (Jenkinsfile-stellar-docs-preview). CI only builds the image and signals with the -# `preview` label; ArgoCD's preview-developers ApplicationSet -# (stellar/kube) does the deploying. -# See https://github.com/stellar/actions/tree/main/sdf-pr-preview - -name: pr-preview - -on: - pull_request_target: - types: [opened, synchronize, reopened, closed, labeled] - -# pull_request_target runs in base-repo context, so these are real write -# permissions even for fork PRs. On `pull_request`, fork runs get no OIDC -# token and a read-only token. -permissions: - contents: read - id-token: write - pull-requests: write - -concurrency: - group: pr-preview-${{ github.event.pull_request.number }} - cancel-in-progress: true - -env: - ECR_REPOSITORY: dev/stellar-docs - PREVIEW_HOST: developers-pr-${{ github.event.pull_request.number }}.previews.kube001.services.stellar-ops.com - -jobs: - preview: - # `labeled` is only for maintainer approval of PRs whose author is not an - # org member (the stellar-triage-bot App). Any other label must not rerun - # the gate: it withdraws the `preview` label and would take a live - # preview down. - if: github.event.action != 'labeled' || github.event.label.name == 'preview-approved' - runs-on: ubuntu-latest - steps: - # Nothing that touches PR code may run before the gate, and every step - # after it must be guarded by `member == 'true'`. - - id: gate - uses: stellar/actions/sdf-pr-preview/gate@main - with: - app-id: ${{ vars.PREVIEW_BOT_APP_ID }} - private-key: ${{ secrets.PREVIEW_BOT_PRIVATE_KEY }} - # An org member applies this to approve one preview build of the - # current head; a later push needs a fresh approval. - approval-label: preview-approved - - # PR head SHA, not the default base ref - must match the - # ApplicationSet's {{ .head_sha }}. - - uses: actions/checkout@v6 - if: steps.gate.outputs.member == 'true' - with: - ref: ${{ github.event.pull_request.head.sha }} - persist-credentials: false - allow-unsafe-pr-checkout: true - - - id: ecr-login - if: steps.gate.outputs.member == 'true' - uses: stellar/actions/sdf-ecr-login@main - - - name: Build and push preview image - if: steps.gate.outputs.member == 'true' - env: - TAG: ${{ steps.ecr-login.outputs.ecr-registry }}/${{ env.ECR_REPOSITORY }}:${{ steps.gate.outputs.image-tag }} - run: | - set -eu - make docker-build - make docker-push - echo "IMAGE=${TAG}" >> "$GITHUB_ENV" - - - uses: stellar/actions/sdf-pr-preview/publish@main - if: steps.gate.outputs.member == 'true' - with: - images: ${{ env.IMAGE }} - preview-host: ${{ env.PREVIEW_HOST }} diff --git a/.gitignore b/.gitignore index 6208c37c4..cf856e7d5 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,7 @@ stellar-cli-repo docs.log run.pid + +# Mintlify +tools/sds/node_modules/ +tools/redirects/ diff --git a/.husky/pre-commit b/.husky/pre-commit index 0d418d1aa..4ce5ccf5c 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -51,6 +51,9 @@ fi corepack pnpm check:mdx CHECK_STATUS=$? +corepack pnpm -s check:pad || + fail "✖ MDX components need blank lines around their tags. Run \`pnpm format:mdx\`." + if [ "$CHECK_STATUS" -eq 1 ]; then printf '%s\n' 'ℹ Run `pnpm format:mdx` to fix the formatting.' printf '%s\n' ' If that also fails, your dependencies may be out of sync: `corepack pnpm install`' @@ -63,9 +66,3 @@ The project dependencies may be incomplete or corrupted. Run: corepack pnpm install Setup instructions: ${SETUP_URL}" fi - -# No new absolute internal /docs links in staged docs. Canonical rule lives in -# scripts/check-relative-links.sh (shared with CI) — only flags links introduced -# in staged changes, never pre-existing content in untouched lines. -scripts/check-relative-links.sh --staged || - fail "✖ Absolute /docs link check failed. Use a relative ../path/file.mdx link with the .mdx extension instead." diff --git a/.mintignore b/.mintignore new file mode 100644 index 000000000..3326283dd --- /dev/null +++ b/.mintignore @@ -0,0 +1,39 @@ +/tools/ + +# Pages marked draft: true in the Docusaurus source (not published on developers.stellar.org) +/docs/build/guides/conventions/work-contractspec-js.mdx +/docs/build/guides/conversions/address-to-bytesn.mdx +/docs/build/guides/conversions/address-to-id.mdx +/docs/build/guides/conversions/id-to-address.mdx +/docs/build/guides/dapps/docker.mdx +/docs/build/guides/dapps/react.mdx +/docs/build/guides/fees/cost-analysis.mdx +/docs/build/guides/rpc/self-deploy-rpc.mdx +/docs/build/guides/rpc/use-public-rpc.mdx +/docs/build/guides/storage/choose-type.mdx +/docs/build/smart-contracts/example-contracts/TEMPLATE.mdx +/docs/learn/fundamentals/contract-development/transaction-lifecycle.mdx +/docs/learn/migrate/cosmos.mdx +/docs/learn/migrate/near.mdx +/docs/learn/migrate/solana.mdx +/docs/tools/developer-tools/IDEs.mdx +/docs/build/apps/wallet/contributing.mdx + +# Repo tooling and sources (not site content) +/CONTRIBUTING.md +/docs/**/CONTRIBUTING.md +/openrpc/ +/openapi/horizon/main.yml +/openapi/horizon/components/ +/openapi/horizon/README.md +/openapi/anchor-platform/main-*.yaml +/openapi/anchor-platform/examples.yaml +/openapi/anchor-platform/schemas.yaml +/openapi/stellar-disbursement-platform/main.yaml +/scripts/ +/redocly.yaml +/.prettierrc.js +/.github/ +/.claude/ +/.husky/ +/scratchpad/ diff --git a/.mintlify/skills/agentic-payments/SKILL.md b/.mintlify/skills/agentic-payments/SKILL.md new file mode 100644 index 000000000..9515de3da --- /dev/null +++ b/.mintlify/skills/agentic-payments/SKILL.md @@ -0,0 +1,626 @@ +--- +name: agentic-payments +description: Agentic and machine-to-machine payments on Stellar. Covers x402 (HTTP 402 paid APIs via OZ Channels facilitator, fee-sponsored clients) and MPP (Machine Payments Protocol) in both Charge mode (per-request SAC) and Channel mode (off-chain commits, high-frequency). Defaults to USDC (SEP-41 SAC) on `stellar:testnet`/`stellar:pubnet` (CAIP-2). Use when selling a paid API to AI agents, building an x402 client, or designing a payment-channel architecture for high-frequency agent traffic. +user-invocable: true +argument-hint: "[payment task]" +--- + +# Agentic Payments: x402 + MPP + +Two complementary protocols for AI-agent and machine-to-machine payments on Stellar. Pick based on who depends on whom and how often the agent pays. + +## Quick decision + +| | x402 | MPP Charge | MPP Channel | +|--|------|------------|-------------| +| Per-request on-chain tx? | Yes (via facilitator) | Yes (SAC) | No (off-chain commits) | +| Needs facilitator? | Yes (OZ Channels) | No | No | +| Client needs XLM? | No (fees sponsored) | Optional (`feePayer`) | Yes | +| Setup complexity | Low | Low | Medium (deploy contract first) | +| Best for | Quickest setup, fee-free clients | No third-party dep | High-frequency agents | + +- Selling an API, want zero-XLM clients → see **x402 Seller** below +- Calling an x402 API from an agent → see **x402 Buyer** below +- Selling an API, no facilitator dependency → see **MPP Charge** below +- Agent making many requests per session → see **MPP Channel** below +- Unsure → x402 (lowest friction to get started) + +All protocols use USDC (SEP-41 SAC) by default; `stellar:testnet` / `stellar:pubnet` CAIP-2 network IDs. + +## Related skills +- The SACs the protocols call → `/.well-known/agent-skills/smart-contracts/skill.md` +- USDC and other classic assets → `/.well-known/agent-skills/assets/skill.md` +- Wallets and signing in the buyer client → `/.well-known/agent-skills/dapp/skill.md` +- RPC simulation / submission patterns → `/.well-known/agent-skills/data/skill.md` +- SEP-41 (token interface) and related standards → `/.well-known/agent-skills/standards/skill.md` + +--- + +# Part 1: x402 — Paid APIs + Agent Buyer Clients + + +## When to use x402 +x402 is the right choice when: +- You want the fastest path to a paid API — minimal code, no contract deployment +- You want clients (including AI agents) to pay with **zero XLM** — the OZ Channels facilitator sponsors all network fees +- You're building on top of an existing x402 ecosystem (Coinbase, other chains) + +Trade-off: you depend on OZ Channels (or a self-hosted relayer) for verification and settlement. If you need zero third-party dependency, use MPP Charge (Part 2 below) instead. + +## How x402 works on Stellar + +``` +Client → GET /resource → Server +Client ← 402 Payment Required (payment requirements) ← Server +Client builds SAC USDC transfer +Client signs auth entries only (not the full tx envelope) +Client → GET /resource + X-PAYMENT header → Server +Server → OZ Channels /verify + /settle → Stellar (~5s) +Client ← 200 OK + resource +``` + +The key Stellar difference: clients sign **auth entries**, not full transaction envelopes. The facilitator assembles the transaction, pays fees, and submits. Clients need zero XLM. + +## Seller: monetize an Express API + +```bash +npm install @x402/express @x402/core @x402/stellar express dotenv +npm pkg set type=module +``` + +```js +// server.js +import "dotenv/config"; +import express from "express"; +import { paymentMiddleware, x402ResourceServer } from "@x402/express"; +import { HTTPFacilitatorClient } from "@x402/core/server"; +import { ExactStellarScheme } from "@x402/stellar/exact/server"; + +// Drive the CAIP-2 network ID from one place. Switching to mainnet means +// flipping STELLAR_NETWORK and FACILITATOR_URL in .env, nothing in code. +const NETWORK = process.env.STELLAR_NETWORK || "stellar:testnet"; + +if (!process.env.OZ_API_KEY) { + throw new Error( + "OZ_API_KEY is required. Generate one at https://channels.openzeppelin.com/testnet/gen (testnet) or https://channels.openzeppelin.com/gen (mainnet)." + ); +} + +const facilitator = new HTTPFacilitatorClient({ + url: process.env.FACILITATOR_URL ?? "https://channels.openzeppelin.com/x402/testnet", + // OZ Channels requires Bearer auth on both testnet and mainnet + createAuthHeaders: async () => { + const h = { Authorization: `Bearer ${process.env.OZ_API_KEY}` }; + return { verify: h, settle: h, supported: h }; + }, +}); + +const resourceServer = new x402ResourceServer(facilitator) + .register(NETWORK, new ExactStellarScheme()); + +const app = express(); + +app.use( + paymentMiddleware( + { + "GET /weather": { + accepts: { + scheme: "exact", + price: "$0.001", // human-readable, auto-converts to 7-decimal USDC units + network: NETWORK, + payTo: process.env.STELLAR_RECIPIENT, // recipient G... account + }, + description: "Current weather data", + }, + }, + resourceServer + ) +); + +app.get("/weather", (_req, res) => { + res.json({ city: "San Francisco", temp: 18, conditions: "Foggy" }); +}); + +app.listen(3001, () => console.log(`x402 server on http://localhost:3001 (${NETWORK})`)); +``` + +**Env vars:** +- `STELLAR_NETWORK` — CAIP-2 network ID; defaults to `stellar:testnet`. Set to `stellar:pubnet` for mainnet. +- `STELLAR_RECIPIENT` — your G... address (receives USDC, needs a USDC trustline) +- `OZ_API_KEY` — OZ Channels API key (**required on both testnet and mainnet**; generate at the link in the runbook below) +- `FACILITATOR_URL` — defaults to testnet URL above; set to `https://channels.openzeppelin.com/x402` for mainnet + +**Price format options:** +- `"$0.001"` — human-readable, auto-converts to 7-decimal USDC units +- `{ amount: "1000", asset: "ASSET_SAC_CONTRACT_ID" }` — explicit base units for non-USDC assets + +**`payTo` is the recipient's classic Stellar account (`G...`), not the USDC SAC contract address.** Sending USDC lands in the classic balance of the `payTo` account, which is why that account also needs a USDC trustline. The SAC contract address is what the protocol invokes `transfer` on; see "Two USDC addresses" below. + +## Buyer: agent client + +```bash +npm install @x402/fetch @x402/stellar dotenv +npm pkg set type=module +``` + +```js +// client.js +import "dotenv/config"; +import { wrapFetchWithPaymentFromConfig } from "@x402/fetch"; +import { createEd25519Signer } from "@x402/stellar"; +import { ExactStellarScheme } from "@x402/stellar/exact/client"; + +const NETWORK = process.env.STELLAR_NETWORK || "stellar:testnet"; + +// createEd25519Signer takes the raw S... secret string and the CAIP-2 network ID. +// Do NOT pre-wrap with Keypair.fromSecret or call getNetworkPassphrase yourself — +// the signer does both internally. +const signer = createEd25519Signer(process.env.STELLAR_SECRET_KEY, NETWORK); + +// wrapFetchWithPaymentFromConfig returns a fetch that handles 402 negotiation +// and auth-entry signing transparently. +const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, { + schemes: [{ network: NETWORK, client: new ExactStellarScheme(signer) }], +}); + +const res = await fetchWithPayment("http://localhost:3001/weather"); +console.log(await res.json()); +// Paid automatically: 402 negotiation + auth-entry signing under the hood +``` + +**Env vars:** +- `STELLAR_NETWORK` — CAIP-2 network ID; defaults to `stellar:testnet`. Must match the server's network. +- `STELLAR_SECRET_KEY` — your S... secret key (needs USDC trustline + balance) + +**Browser frontends:** this client uses Node `fetch` and `createEd25519Signer`, both of which run in Node. A vanilla browser cannot sign contract auth entries through a typical wallet extension without additional glue. For a browser payer, run the x402 client server-side and expose a thin proxy endpoint to the page, or wire up Wallets-Kit / Freighter with custom auth-entry signing. + +## Testnet runbook + +You need two Stellar testnet accounts: a **client/payer** (signs and pays from a USDC balance) and a **server/recipient** (the `payTo` in your route config). Both need a USDC trustline. + +Two steps are web-only (Captcha or auth form) and cannot be scripted: the Circle USDC faucet and the OZ Channels key generator. Everything else can be automated. A complete `setup.js` sketch lives at the end of this section. + +1. **Generate two keypairs** + ```bash + node -e "const { Keypair } = require('@stellar/stellar-sdk'); for (const n of ['RECIPIENT','PAYER']) { const k = Keypair.random(); console.log(n, k.publicKey(), k.secret()); }" + ``` + +2. **Fund both with testnet XLM (friendbot)** + ```bash + curl "https://friendbot.stellar.org?addr=RECIPIENT_G..." + curl "https://friendbot.stellar.org?addr=PAYER_G..." + ``` + +3. **Add a USDC trustline to BOTH accounts** — open [Stellar Lab](https://lab.stellar.org/account/fund?network=test) and add a USDC trustline to each `G...`, or run via SDK for each keypair: + ```js + import * as StellarSdk from "@stellar/stellar-sdk"; + + const horizon = new StellarSdk.Horizon.Server("https://horizon-testnet.stellar.org"); + // Circle's classic USDC issuer on Stellar testnet + const USDC_ISSUER = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; + + async function addTrustline(secret) { + const kp = StellarSdk.Keypair.fromSecret(secret); + const acc = await horizon.loadAccount(kp.publicKey()); + const tx = new StellarSdk.TransactionBuilder(acc, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, + }) + .addOperation(StellarSdk.Operation.changeTrust({ + asset: new StellarSdk.Asset("USDC", USDC_ISSUER), + })) + .setTimeout(60) + .build(); + tx.sign(kp); + return horizon.submitTransaction(tx); + } + + // Repeat for both the recipient secret and the payer secret. + await addTrustline(process.env.RECIPIENT_SECRET); + await addTrustline(process.env.PAYER_SECRET); + ``` + + Without a trustline on the recipient, the SAC `transfer` settles into nothing and the request fails with `op_no_trust`. + +4. **Fund the PAYER with testnet USDC** — open the [Circle testnet faucet](https://faucet.circle.com/), select **Stellar testnet**, paste the payer's `G...`. Web Captcha; no API. + +5. **Generate an OZ Channels testnet API key** ([channels.openzeppelin.com/testnet/gen](https://channels.openzeppelin.com/testnet/gen)). **Required, not optional.** Without it the server crashes at startup with `Failed to initialize: no supported payment kinds loaded from any facilitator`. + +6. **Fill in `.env`** + ``` + STELLAR_NETWORK=stellar:testnet + STELLAR_RECIPIENT=G... (recipient public key) + STELLAR_SECRET_KEY=S... (payer secret key) + OZ_API_KEY=... + ``` + +7. **Run it** + ```bash + node server.js + # in another terminal + node client.js + ``` + +### Optional: setup.js to automate steps 1–3 + +Drop this in your project and run once. It generates keys, friendbots, and adds USDC trustlines, then writes a starter `.env` so you only need to do the two manual web steps afterward. + +```js +// setup.js +import fs from "fs/promises"; +import { + Keypair, Horizon, Networks, TransactionBuilder, Operation, Asset, BASE_FEE, +} from "@stellar/stellar-sdk"; + +const USDC_ISSUER = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"; +const horizon = new Horizon.Server("https://horizon-testnet.stellar.org"); + +const friendbot = (addr) => fetch(`https://friendbot.stellar.org?addr=${addr}`); + +async function addTrustline(kp) { + const acc = await horizon.loadAccount(kp.publicKey()); + const tx = new TransactionBuilder(acc, { fee: BASE_FEE, networkPassphrase: Networks.TESTNET }) + .addOperation(Operation.changeTrust({ asset: new Asset("USDC", USDC_ISSUER) })) + .setTimeout(60).build(); + tx.sign(kp); + return horizon.submitTransaction(tx); +} + +const recipient = Keypair.random(); +const payer = Keypair.random(); +await Promise.all([friendbot(recipient.publicKey()), friendbot(payer.publicKey())]); +await new Promise(r => setTimeout(r, 2000)); +await Promise.all([addTrustline(recipient), addTrustline(payer)]); + +await fs.writeFile(".env", `STELLAR_RECIPIENT=${recipient.publicKey()} +STELLAR_SECRET_KEY=${payer.secret()} +OZ_API_KEY= +`); + +console.log(`Fund payer with USDC: https://faucet.circle.com → ${payer.publicKey()}`); +console.log(`Get OZ key: https://channels.openzeppelin.com/testnet/gen → paste into OZ_API_KEY`); +``` + +## Two USDC addresses (don't confuse them) + +USDC on Stellar has two addresses, used in different places. Mixing them up is a common stumble. + +| Address | Format | Used for | +|---------|--------|----------| +| Classic asset issuer | `G...` (32-byte ed25519 public key) | The `issuer` of the classic USDC asset; used when adding a trustline (`new Asset("USDC", G...)`) | +| SAC (Stellar Asset Contract) | `C...` (32-byte contract address) | The contract the protocol invokes `transfer` on; used in payment requirements | + +Use the exported constants instead of hard-coding when possible: + +```js +import { USDC_TESTNET_ADDRESS, USDC_PUBNET_ADDRESS } from "@x402/stellar"; +// USDC_TESTNET_ADDRESS = "CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA" +// USDC_PUBNET_ADDRESS = "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" +``` + +`payTo` in your route config is always a classic recipient account (`G...`). The SAC address only appears if you set a custom `asset` in the price config for a non-USDC token. + +## Mainnet checklist + +| Config | Value | +|--------|-------| +| Network ID | `stellar:pubnet` | +| RPC URL | Provider-specific endpoint (see [Stellar RPC providers directory](https://developers.stellar.org/docs/data/apis/rpc/providers)) | +| Facilitator URL | `https://channels.openzeppelin.com/x402` | +| USDC SAC | `USDC_PUBNET_ADDRESS` from `@x402/stellar` (currently `CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75`) | +| OZ Channels API key | Required ([channels.openzeppelin.com/gen](https://channels.openzeppelin.com/gen)) | +| Funding | Real USDC on mainnet (CEX, DEX, or bridge) | + +Always test on testnet first. To switch a working setup to mainnet, change only the `.env` (`STELLAR_NETWORK=stellar:pubnet`, `FACILITATOR_URL=https://channels.openzeppelin.com/x402`, mainnet `OZ_API_KEY`, and a mainnet `STELLAR_RECIPIENT`); the samples derive their network from `STELLAR_NETWORK`, so no code changes are needed. Both networks require an OZ Channels API key in the `Authorization: Bearer` header. + +## Key concepts + +**Auth entry signing** — On Stellar, x402 clients sign contract authorization entries, not full transaction envelopes. The facilitator assembles the complete transaction. This is lighter than EVM/Solana signing, and means clients never need to manage sequence numbers or pay fees. + +**Fee sponsorship** — OZ Channels pays all Stellar network fees (~$0.00001/tx). Clients need a funded wallet with USDC but zero XLM. + +**`exact-v2` scheme** — The Stellar x402 scheme version. Server advertises `scheme: "exact"` + `x402Version: 2`. Don't mix v1 and v2 packages. + +**SAC (Stellar Asset Contract)** — USDC on Stellar is a classic asset wrapped in a smart contract. x402 payments invoke `transfer` on the SAC. Any SEP-41 token works; USDC is the default. + +**Ledger expiration** — Auth entries include a `max_ledger` bound. Use `latestLedger + 12` (~1 minute at 5s/ledger). Expired entries fail at settlement. + +**CAIP-2 network IDs** — `stellar:testnet` and `stellar:pubnet`. These are the exact strings the protocol expects. + +## Common pitfalls + +**Auth entry expired on settle** +- Symptom: facilitator returns `isValid: false`, error mentions ledger expiration +- Fix: ensure client uses `latestLedger + 12` (or higher) as expiration; don't cache auth entries across requests + +**Wrong USDC decimal precision** +- Symptom: payment amount off by 10x or 100x +- Fix: Stellar USDC uses **7 decimal places** (not 6 like EVM USDC). `$0.001` = `10000` in base units. + +**V1/V2 package mismatch** +- Symptom: TypeScript errors or silent payment failures +- Fix: use all `@x402/*` packages at the same major version. V2 is multi-chain; don't import V1 `@x402/core` alongside V2 `@x402/stellar`. + +**Missing USDC trustline** +- Symptom: `op_no_trust` error during settlement +- Fix: add a USDC `changeTrust` operation before attempting any x402 payment (see testnet runbook above) + +**OZ Channels 401 on testnet or mainnet** +- Symptom: facilitator rejects with 401, server logs `Failed to initialize: no supported payment kinds loaded from any facilitator` +- Fix: an API key is required on **both** networks (this is a recent change). Generate one at [channels.openzeppelin.com/testnet/gen](https://channels.openzeppelin.com/testnet/gen) (testnet) or [channels.openzeppelin.com/gen](https://channels.openzeppelin.com/gen) (mainnet), then set `OZ_API_KEY` and pass it via `createAuthHeaders` (see the Seller example). + +**Trustline missing on the recipient** +- Symptom: `op_no_trust` during settlement, even though the client has USDC +- Fix: the `payTo` account needs a USDC trustline too. The SAC `transfer` settles the underlying classic asset, which the recipient cannot hold without a trustline. Add `changeTrust` to both accounts during setup. + +**Trying to sign auth entries from a browser** +- Symptom: bundling errors, or a browser wallet that has no API to sign contract auth entries +- Fix: run the x402 client server-side (e.g. an Express route the browser calls), or use Wallets-Kit / Freighter with custom auth-entry signing. `@x402/fetch` + `createEd25519Signer` target Node and assume a raw secret key. + +**Passing a `Keypair` (or a network passphrase) to `createEd25519Signer`** +- Symptom: `TypeError: encoded argument must be of type String`, or `Error: Unknown Stellar network: Test SDF Network ; September 2015` +- Fix: the signer takes the raw `S...` secret string and a CAIP-2 network ID. Do **not** wrap with `Keypair.fromSecret` first, and do **not** pre-convert with `getNetworkPassphrase` — both are done internally. + ```js + // wrong + const signer = createEd25519Signer(Keypair.fromSecret(s), getNetworkPassphrase("stellar:testnet")); + // right + const signer = createEd25519Signer(s, "stellar:testnet"); + ``` + +--- + +# Part 2: MPP — Machine Payments Protocol (Charge + Channel) + + +## When to use MPP +MPP is the right choice when: +- You want **no facilitator dependency** — payments settle directly on Stellar via SAC transfers +- Your AI agent makes **many requests per session** — use channel mode to pay off-chain and settle once +- You're building a Stellar-native payment stack without relying on third-party infrastructure + +Two modes: + +| Mode | On-chain txs | Best for | +|------|-------------|----------| +| **Charge** | One per request | Per-request payments, no pre-funding required | +| **Channel** | One deposit + one close | High-frequency agents (100s of requests/session) | + +If you need zero-XLM clients or the simplest possible setup, use x402 (Part 1 above) instead. + +## Charge mode: per-request payments + +Each request triggers a SAC token transfer settled on-chain. No facilitator. Server can optionally sponsor fees so clients don't need XLM. + +```bash +npm install express @stellar/mpp mppx @stellar/stellar-sdk dotenv +npm pkg set type=module +``` + +**Server:** + +```js +// charge-server.js +import express from "express"; +import { Mppx } from "mppx"; +import * as stellar from "@stellar/mpp/charge/server"; +import * as StellarSdk from "@stellar/stellar-sdk"; + +const USDC_SAC_TESTNET = "CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA"; +const RECIPIENT = process.env.STELLAR_RECIPIENT; // G... address + +const mppx = Mppx.create({ + secretKey: process.env.MPP_SECRET_KEY, // shared secret for credential verification + methods: [ + stellar.charge({ + recipient: RECIPIENT, + currency: USDC_SAC_TESTNET, + network: "stellar:testnet", + // optional: server pays network fees so clients don't need XLM + feePayer: process.env.FEE_PAYER_SECRET + ? { envelopeSigner: StellarSdk.Keypair.fromSecret(process.env.FEE_PAYER_SECRET) } + : undefined, + }), + ], +}); + +const app = express(); +app.use(express.json()); + +// mppx middleware: returns 402 with challenge, then validates payment on retry +app.use(mppx.middleware()); + +app.get("/data", (req, res) => { + res.json({ result: "paid content", price: "$0.001 USDC" }); +}); + +app.listen(3002, () => console.log("MPP charge server on http://localhost:3002")); +``` + +**Client:** + +```js +// charge-client.js +import { Mppx } from "mppx"; +import * as stellar from "@stellar/mpp/charge/client"; +import * as StellarSdk from "@stellar/stellar-sdk"; + +const keypair = StellarSdk.Keypair.fromSecret(process.env.STELLAR_SECRET_KEY); + +const mppx = Mppx.create({ + methods: [ + stellar.charge({ + keypair, + mode: "pull", // server assembles and broadcasts the transaction + onProgress(event) { + // event.type: "challenge" | "signed" | "settled" + if (event.type === "settled") console.log("Settled:", event.txHash); + }, + }), + ], +}); + +// mppx wraps fetch — 402 handling is transparent +const res = await mppx.fetch("http://localhost:3002/data"); +console.log(await res.json()); +``` + +**Env vars (server):** `STELLAR_RECIPIENT`, `MPP_SECRET_KEY`, `FEE_PAYER_SECRET` (optional) +**Env vars (client):** `STELLAR_SECRET_KEY` + +**`mode: "pull"` vs `"push"`:** +- `"pull"` — client signs auth entries, server assembles + broadcasts (default; use with `feePayer`) +- `"push"` — client builds and broadcasts the transaction directly (client must have XLM for fees) + +## Channel mode: high-frequency off-chain payments + +The client deploys a one-way payment channel contract, deposits USDC once, then signs **cumulative commitments** off-chain for each request. No transaction per request — only two on-chain txs total (deposit + close). Ideal for AI agents making hundreds of calls in a session. + +### Channel lifecycle + +``` +1. Deploy channel contract (one-time) → C... contract address +2. Client deposits USDC into channel → on-chain tx +3. Per request: client signs commitment → off-chain (just a signature) + Amount is cumulative: each sig covers all previous payments + this one +4. Server closes channel when done → on-chain tx, settles total +``` + +### Prerequisites + +- Deploy a one-way-channel smart contract to get a `C...` contract address +- Generate an ed25519 keypair for commitment signing (see [stellar-mpp SDK](https://github.com/stellar/stellar-mpp-sdk)) +- Fund the channel with USDC before making requests + +### Server: + +```js +// channel-server.js +import express from "express"; +import { Mppx, Store } from "mppx"; +import * as stellar from "@stellar/mpp/channel/server"; + +const mppx = Mppx.create({ + secretKey: process.env.MPP_SECRET_KEY, + methods: [ + stellar.channel({ + channel: process.env.CHANNEL_CONTRACT, // C... contract address + commitmentKey: process.env.COMMITMENT_PUBKEY, // 64-char hex ed25519 public key + store: Store.memory(), // dev only — use persistent store in production + network: "stellar:testnet", + }), + ], +}); + +const app = express(); +app.use(express.json()); +app.use(mppx.middleware()); + +app.get("/data", (req, res) => { + res.json({ result: "paid content" }); +}); + +app.listen(3003); +``` + +### Client: + +```js +// channel-client.js +import { Mppx } from "mppx"; +import * as stellar from "@stellar/mpp/channel/client"; +import * as StellarSdk from "@stellar/stellar-sdk"; + +// commitment key must be a raw ed25519 seed — NOT a standard Stellar secret key +const commitmentKey = StellarSdk.Keypair.fromRawEd25519Seed( + Buffer.from(process.env.COMMITMENT_SECRET, "hex") // 64-char hex secret +); + +const mppx = Mppx.create({ + methods: [ + stellar.channel({ + commitmentKey, + onProgress(event) { + // event.type: "challenge" | "signed" + }, + }), + ], +}); + +// Make many requests — each signs a cumulative off-chain commitment +for (let i = 0; i < 100; i++) { + const res = await mppx.fetch("http://localhost:3003/data"); + console.log(i, await res.json()); +} +``` + +### Closing the channel (server-initiated): + +```js +import { close } from "@stellar/mpp/channel/server"; +import * as StellarSdk from "@stellar/stellar-sdk"; + +const txHash = await close({ + channel: process.env.CHANNEL_CONTRACT, + amount: lastCumulativeAmount, // bigint, total USDC owed in base units + signature: lastCommitmentSignature, // hex string from final commitment + feePayer: { envelopeSigner: StellarSdk.Keypair.fromSecret(process.env.FEE_PAYER_SECRET) }, + network: "stellar:testnet", +}); +// Single on-chain transaction settles the full session +console.log("Channel closed:", txHash); +``` + +**Env vars (server):** `CHANNEL_CONTRACT`, `COMMITMENT_PUBKEY`, `MPP_SECRET_KEY`, `FEE_PAYER_SECRET` +**Env vars (client):** `COMMITMENT_SECRET` + +## Packages and subpath imports + +```bash +npm install @stellar/mpp mppx @stellar/stellar-sdk +``` + +| Import path | Recommended import pattern | +|-------------|----------------------------| +| `@stellar/mpp/charge/server` | `import * as stellar from "@stellar/mpp/charge/server"` — use `stellar.charge(...)` | +| `@stellar/mpp/charge/client` | `import * as stellar from "@stellar/mpp/charge/client"` — use `stellar.charge(...)` | +| `@stellar/mpp/channel/server` | `import * as stellar from "@stellar/mpp/channel/server"` — use `stellar.channel(...)`, `stellar.close(...)`, `stellar.getChannelState(...)`, `stellar.watchChannel(...)` | +| `@stellar/mpp/channel/client` | `import * as stellar from "@stellar/mpp/channel/client"` — use `stellar.channel(...)` | +| `@stellar/mpp/channel` | Zod schema definitions for channel types | +| `mppx` | `import { Mppx, Store } from "mppx"` | + +## Testnet runbook + +**Steps shared with all protocols:** +1. Generate keypair + fund with Friendbot (see x402 testnet runbook in Part 1 above) +2. Add USDC trustline +3. Get testnet USDC from [Circle faucet](https://faucet.circle.com/) + +**Channel mode only:** +4. Deploy the one-way-channel contract (see [stellar-mpp-sdk](https://github.com/stellar/stellar-mpp-sdk) for deploy script) +5. Generate a 64-char hex ed25519 seed for the commitment key: + ```bash + node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" + ``` +6. Derive the public key and fund the channel with USDC before making requests + +## Common pitfalls + +**Channel: wrong commitment key format** +- Symptom: `Keypair.fromRawEd25519Seed` throws or signatures fail to verify +- Fix: the commitment key is a raw ed25519 seed as a 64-char hex string — not a Stellar `S...` secret key. Generate with `crypto.randomBytes(32).toString('hex')`. + +**Channel: non-cumulative amounts** +- Symptom: server rejects commitments after the first request +- Fix: each commitment's `amount` must be the **running total** of all payments so far, not just the price of the current request. The server tracks the highest-seen commitment. + +**Channel: deposit TTL expired** +- Symptom: `close()` fails or channel appears drained +- Fix: Contract storage has a TTL. Close the channel before it expires, or extend storage TTL via `bumpContractInstance`. Don't leave channels open indefinitely. + +**Charge: client has no XLM for fees** +- Symptom: `op_insufficient_balance` or fee errors on client-submitted transactions +- Fix: set `mode: "pull"` on the client and configure `feePayer` on the server so the server pays fees. The client only signs auth entries. + +**`Store.memory()` in production** +- Symptom: server loses track of channel state on restart, enables double-spend +- Fix: replace `Store.memory()` with a persistent store (database-backed) before going to production. diff --git a/.mintlify/skills/assets/SKILL.md b/.mintlify/skills/assets/SKILL.md new file mode 100644 index 000000000..3ec534894 --- /dev/null +++ b/.mintlify/skills/assets/SKILL.md @@ -0,0 +1,452 @@ +--- +name: assets +description: Stellar Assets (classic) + trustlines + Stellar Asset Contract (SAC) bridge to smart contracts. Covers asset issuance, distribution, authorization flags, clawback, regulated assets, trustline management, and the SAC interop layer that exposes classic assets as SEP-41 contract tokens. Use when tokenizing real-world assets, issuing stablecoins, managing trustlines, or bridging classic assets to smart contracts. +user-invocable: true +argument-hint: "[asset task]" +--- + +# Stellar Assets, Trustlines, and SAC + +Stellar's native token mechanism: classic asset issuance, trustlines, and the Stellar Asset Contract (SAC) bridge that makes classic assets usable from smart contracts. Default to classic assets over custom contract tokens unless you need custom logic. + +## When to use this skill +- Issuing a new asset (stablecoin, security token, utility token) +- Setting up trustlines from a client or contract +- Managing issuer flags (auth required, auth revocable, clawback) +- Bridging a classic asset into a smart contract via SAC +- Building regulated-asset flows (compliance, KYC, freeze) + +## Related skills +- Custom token contracts (when classic isn't enough) → `/.well-known/agent-skills/smart-contracts/skill.md` +- UI flows for trustline creation and asset display → `/.well-known/agent-skills/dapp/skill.md` +- Looking up balances and trustline state → `/.well-known/agent-skills/data/skill.md` +- Token-related SEPs (SEP-41, SEP-7, etc.) → `/.well-known/agent-skills/standards/skill.md` + +--- + + +## Overview + +Stellar has two token mechanisms: + +1. **Stellar Assets (Classic)**: Built-in, highly efficient, full ecosystem support +2. **Contract tokens (SEP-41)**: Custom contracts with flexible logic + +**Recommendation**: Prefer Stellar Assets unless you need custom token logic. + +## Stellar Assets (Classic) + +### Asset Types + +| Type | Description | +|------|-------------| +| Native (XLM) | Stellar's native currency, no trustline needed | +| Credit | Issued by an account, requires trustline | +| Liquidity Pool Shares | Represent LP positions | + +### Asset Identifiers + +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +// Native XLM +const xlm = StellarSdk.Asset.native(); + +// Credit asset (code + issuer) +const usdc = new StellarSdk.Asset( + "USDC", + "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN" +); + +// Asset code rules: +// - 1-4 chars: alphanumeric (credit_alphanum4) +// - 5-12 chars: alphanumeric (credit_alphanum12) +``` + +## Issuing Assets + +### Create Issuing Account + +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +const server = new StellarSdk.Horizon.Server("https://horizon-testnet.stellar.org"); + +// 1. Create issuing account (should be separate from distribution) +const issuerKeypair = StellarSdk.Keypair.random(); +const distributorKeypair = StellarSdk.Keypair.random(); + +// 2. Fund accounts (testnet) +await fetch(`https://friendbot.stellar.org?addr=${issuerKeypair.publicKey()}`); +await fetch(`https://friendbot.stellar.org?addr=${distributorKeypair.publicKey()}`); +``` + +### Issue Asset + +```typescript +const asset = new StellarSdk.Asset("MYTOKEN", issuerKeypair.publicKey()); + +// 1. Distributor creates trustline to issuer +const distributorAccount = await server.loadAccount(distributorKeypair.publicKey()); + +const trustlineTx = new StellarSdk.TransactionBuilder(distributorAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.changeTrust({ + asset: asset, + limit: "1000000", // Max amount to hold + }) + ) + .setTimeout(180) + .build(); + +trustlineTx.sign(distributorKeypair); +await server.submitTransaction(trustlineTx); + +// 2. Issuer sends tokens to distributor +const issuerAccount = await server.loadAccount(issuerKeypair.publicKey()); + +const issueTx = new StellarSdk.TransactionBuilder(issuerAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.payment({ + destination: distributorKeypair.publicKey(), + asset: asset, + amount: "1000000", + }) + ) + .setTimeout(180) + .build(); + +issueTx.sign(issuerKeypair); +await server.submitTransaction(issueTx); +``` + +### Lock Issuing Account + +For fixed-supply tokens, lock the issuer: + +```typescript +const lockTx = new StellarSdk.TransactionBuilder(issuerAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.setOptions({ + masterWeight: 0, // Disable master key + }) + ) + .setTimeout(180) + .build(); + +lockTx.sign(issuerKeypair); +await server.submitTransaction(lockTx); +// Issuer can never issue more tokens +``` + +## Asset Flags + +Configure issuer account flags for compliance: + +```typescript +const setFlagsTx = new StellarSdk.TransactionBuilder(issuerAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.setOptions({ + setFlags: + StellarSdk.AuthRequiredFlag | // Trustlines require approval + StellarSdk.AuthRevocableFlag | // Can freeze trustlines + StellarSdk.AuthClawbackEnabledFlag, // Can clawback tokens + }) + ) + .setTimeout(180) + .build(); +``` + +### Flag Descriptions + +| Flag | Effect | +|------|--------| +| `AUTH_REQUIRED` | Users must get approval before receiving tokens | +| `AUTH_REVOCABLE` | Issuer can freeze user balances | +| `AUTH_IMMUTABLE` | Flags cannot be changed (permanent) | +| `AUTH_CLAWBACK_ENABLED` | Issuer can clawback tokens from accounts | + +### Authorize Trustline + +```typescript +// When AUTH_REQUIRED is set, approve trustlines: +const authorizeTx = new StellarSdk.TransactionBuilder(issuerAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.setTrustLineFlags({ + trustor: userPublicKey, + asset: asset, + flags: { + authorized: true, + // authorizedToMaintainLiabilities: true, // Partial auth + }, + }) + ) + .setTimeout(180) + .build(); +``` + +### Clawback Tokens + +```typescript +// Requires AUTH_CLAWBACK_ENABLED flag +const clawbackTx = new StellarSdk.TransactionBuilder(issuerAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.clawback({ + asset: asset, + from: targetAccountId, + amount: "100", + }) + ) + .setTimeout(180) + .build(); +``` + +## Trustlines + +### Create Trustline + +```typescript +const changeTrustTx = new StellarSdk.TransactionBuilder(userAccount, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: StellarSdk.Networks.TESTNET, +}) + .addOperation( + StellarSdk.Operation.changeTrust({ + asset: asset, + limit: "10000", // 0 to remove trustline + }) + ) + .setTimeout(180) + .build(); +``` + +### Check Trustline Status + +```typescript +const account = await server.loadAccount(userPublicKey); +const trustline = account.balances.find( + (b) => + b.asset_type !== "native" && + b.asset_code === "USDC" && + b.asset_issuer === usdcIssuer +); + +if (trustline) { + console.log("Balance:", trustline.balance); + console.log("Limit:", trustline.limit); + console.log("Authorized:", trustline.is_authorized); +} +``` + +## Stellar Asset Contract (SAC) + +SAC provides a smart-contract interface for Stellar Assets, enabling smart contract interactions. + +### Deploy SAC for Existing Asset + +```bash +# Get the SAC address for an asset +stellar contract asset deploy \ + --asset USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN \ + --source alice \ + --network testnet +``` + +### SAC Address Derivation + +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +const asset = new StellarSdk.Asset("USDC", issuerPublicKey); +const contractId = asset.contractId(StellarSdk.Networks.TESTNET); +// Returns the deterministic SAC contract address +``` + +### Using SAC in Smart Contracts + +```rust +use soroban_sdk::{token::Client as TokenClient, Address, Env}; + +pub fn transfer_asset( + env: Env, + from: Address, + to: Address, + asset_contract: Address, + amount: i128, +) { + from.require_auth(); + + // Use standard token interface + let token = TokenClient::new(&env, &asset_contract); + token.transfer(&from, &to, &amount); +} +``` + +### SAC vs Custom Token Interface + +SAC implements the standard SEP-41 token interface: +- `balance(id: Address) -> i128` +- `transfer(from: Address, to: Address, amount: i128)` +- `approve(from: Address, spender: Address, amount: i128, expiration_ledger: u32)` +- `allowance(from: Address, spender: Address) -> i128` +- `decimals() -> u32` +- `name() -> String` +- `symbol() -> Symbol` + +## When to Use What + +### Use Stellar Assets When: +- Standard fungible token (currency, stablecoin) +- Need full ecosystem support (wallets, exchanges) +- Regulatory compliance features (freeze, clawback) +- Performance critical (classic operations are cheaper) +- DEX integration via order book + +### Use Custom Contract Tokens When: +- Complex transfer logic (royalties, fees, restrictions) +- Custom authorization schemes +- Non-standard token behaviors +- Integration with custom DeFi contracts +- NFTs or semi-fungible tokens + +> Reach for a fully custom token as a last resort. Many of the cases above +> (royalties, fees, transfer restrictions) can be built with a regular +> issued Stellar asset plus a thin "SAC admin" contract that drives the +> SAC's `mint`, `burn`, and `clawback` functions. That keeps the ecosystem +> compatibility of a normal asset (DEX, anchors, wallets, trustlines) while +> still layering on custom logic. Prefer a custom contract token only when +> you need token behavior the SAC genuinely cannot express. + +### Use SAC When: +- Need a Stellar asset inside a smart contract +- Building DeFi protocols with existing assets +- Bridge between classic and smart contract operations + +## Querying Assets + +### Get Account Balances + +```typescript +const account = await server.loadAccount(publicKey); + +for (const balance of account.balances) { + if (balance.asset_type === "native") { + console.log("XLM:", balance.balance); + } else { + console.log(`${balance.asset_code}:`, balance.balance); + } +} +``` + +### Find Assets + +```typescript +// Search for assets by code +const assets = await server + .assets() + .forCode("USDC") + .call(); + +// Get specific asset details +const assetDetails = await server + .assets() + .forCode("USDC") + .forIssuer(issuerPublicKey) + .call(); +``` + +### Get Asset Statistics + +```typescript +const stats = await server + .assets() + .forCode("USDC") + .forIssuer(issuerPublicKey) + .call(); + +// stats includes: +// - amount: total issued +// - num_accounts: trustline count +// - flags: issuer flags +``` + +## SEP Standards for Assets + +### SEP-0001 (stellar.toml) + +Publish asset metadata in your domain's `/.well-known/stellar.toml`: + +```toml +[[CURRENCIES]] +code = "MYTOKEN" +issuer = "GABC..." +display_decimals = 2 +name = "My Token" +desc = "A description of my token" +image = "https://example.com/token-logo.png" +``` + +### SEP-0010 (Web Authentication) + +Authenticate users with their Stellar accounts: + +```typescript +// Server generates challenge +// Client signs with wallet +// Server verifies signature +``` + +### SEP-0024 (Hosted Deposit/Withdrawal) + +For fiat on/off ramps: + +```typescript +// Interactive flow for deposits/withdrawals +// Anchor handles KYC and fiat transfer +``` + +### SEP-0045 (Web Auth for Contract Accounts) + +Extends SEP-10 to support contract accounts (`C...` addresses) for web authentication. Required for smart wallet / passkey-based anchor integrations. See [SEP-0045](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0045.md). + +### SEP-0050 (Non-Fungible Tokens) + +Standard contract interface for NFTs on Stellar. Reference implementations available in [OpenZeppelin Stellar Contracts](https://github.com/OpenZeppelin/stellar-contracts) with Base, Consecutive, and Enumerable variants. See [SEP-0050](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0050.md). + +## Best Practices + +### Asset Issuance +- Use separate issuing and distribution accounts +- Lock issuer after initial distribution for fixed supply +- Publish stellar.toml with asset metadata +- Consider multisig for issuer account + +### Trustline Management +- Check trustline exists before sending payments +- Handle trustline creation in onboarding flow +- Respect trustline limits +- Monitor for frozen/deauthorized status + +### Security +- Validate asset issuer, not just code +- Be cautious of assets with clawback enabled +- Verify stellar.toml from authoritative source +- Use well-known asset lists for common tokens diff --git a/.mintlify/skills/dapp/SKILL.md b/.mintlify/skills/dapp/SKILL.md new file mode 100644 index 000000000..c5e6a729e --- /dev/null +++ b/.mintlify/skills/dapp/SKILL.md @@ -0,0 +1,684 @@ +--- +name: dapp +description: Stellar dApp / frontend development. Covers the JavaScript stellar-sdk (browser + Node.js), Freighter wallet, Stellar Wallets Kit (multi-wallet), Wallet Standard, smart accounts with passkeys, transaction building / signing / submission, smart contract invocation from the client, simulation, and error handling. Use when building a React/Next.js/Node.js app that talks to Stellar — classic operations or smart contracts. +user-invocable: true +argument-hint: "[dapp task]" +--- + +# Stellar dApp / Frontend + +Client-side development with `@stellar/stellar-sdk`, wallet connection, signing, and submitting transactions. Covers both classic Stellar operations and smart contract invocation from the browser or Node.js. + +## When to use this skill +- Connecting Freighter or other wallets via Stellar Wallets Kit +- Building, simulating, signing, and submitting transactions +- Invoking Stellar smart contracts from a frontend +- Implementing smart accounts with passkeys +- Handling network passphrases (Mainnet / Testnet / local) + +## Related skills +- Writing the contract being invoked → `/.well-known/agent-skills/smart-contracts/skill.md` +- Issuing assets and managing trustlines → `/.well-known/agent-skills/assets/skill.md` +- Querying chain state via RPC / Horizon → `/.well-known/agent-skills/data/skill.md` +- Building paid APIs or agent payment clients → `/.well-known/agent-skills/agentic-payments/skill.md` +- SEPs the wallet/anchor flows depend on → `/.well-known/agent-skills/standards/skill.md` + +--- + + +## Goals +- Single SDK instance for the app (RPC/Horizon + transaction building) +- Freighter wallet integration (or multi-wallet via Stellar Wallets Kit) +- Clean separation of client/server in Next.js +- Transaction sending with proper confirmation handling + +## Quick Navigation +- SDK setup and env config: [SDK Initialization](#sdk-initialization) +- Wallet integrations: [Wallet Integration](#wallet-integration) +- Tx build/send patterns: [Transaction Building](#transaction-building), [Transaction Submission](#transaction-submission) +- React + Next.js patterns: [React Components](#react-components), [Next.js App Router Setup](#nextjs-app-router-setup) +- Smart wallets/passkeys: [Smart Accounts (Passkey Wallets)](#smart-accounts-passkey-wallets) +- Production UX checklist: [Transaction UX Checklist](#transaction-ux-checklist) + +## Recommended Dependencies + +> **Requires Node.js 20+** — the Stellar SDK dropped Node 18 support. + +```bash +npm install @stellar/stellar-sdk @stellar/freighter-api +# Or for multi-wallet support: +npm install @stellar/stellar-sdk @creit.tech/stellar-wallets-kit +``` + +## SDK Initialization + +> For the full API reference (RPC methods, Horizon endpoints, migration guide), see [api-rpc-horizon.md](/.well-known/agent-skills/data/skill.md). + +### Basic Setup +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +// For Testnet +const testnetServer = new StellarSdk.Horizon.Server("https://horizon-testnet.stellar.org"); +const testnetRpc = new StellarSdk.rpc.Server("https://soroban-testnet.stellar.org"); +const testnetNetworkPassphrase = StellarSdk.Networks.TESTNET; + +// For Mainnet +const mainnetServer = new StellarSdk.Horizon.Server("https://horizon.stellar.org"); +const mainnetRpcUrl = process.env.NEXT_PUBLIC_STELLAR_MAINNET_RPC_URL; +if (!mainnetRpcUrl) throw new Error("Missing NEXT_PUBLIC_STELLAR_MAINNET_RPC_URL"); +const mainnetRpc = new StellarSdk.rpc.Server(mainnetRpcUrl); // set from your chosen RPC provider +const mainnetNetworkPassphrase = StellarSdk.Networks.PUBLIC; +``` + +### Environment Configuration +> Use a provider-specific mainnet RPC URL (see: https://developers.stellar.org/docs/data/apis/rpc/providers). + +```typescript +// lib/stellar.ts +import * as StellarSdk from "@stellar/stellar-sdk"; + +const NETWORK = process.env.NEXT_PUBLIC_STELLAR_NETWORK || "testnet"; + +const requireEnv = (name: string): string => { + const value = process.env[name]; + if (!value) throw new Error(`Missing required env var: ${name}`); + return value; +}; + +export const config = { + testnet: { + horizonUrl: "https://horizon-testnet.stellar.org", + rpcUrl: "https://soroban-testnet.stellar.org", + networkPassphrase: StellarSdk.Networks.TESTNET, + friendbotUrl: "https://friendbot.stellar.org", + }, + mainnet: { + horizonUrl: "https://horizon.stellar.org", + rpcUrl: requireEnv("NEXT_PUBLIC_STELLAR_MAINNET_RPC_URL"), + networkPassphrase: StellarSdk.Networks.PUBLIC, + friendbotUrl: null, + }, +}[NETWORK]!; + +export const horizon = new StellarSdk.Horizon.Server(config.horizonUrl); +export const rpc = new StellarSdk.rpc.Server(config.rpcUrl); +``` + +## Wallet Integration + +### Freighter (Primary Browser Wallet) +```typescript +// hooks/useFreighter.ts +import { useState, useEffect, useCallback } from "react"; +import { + isConnected, + getAddress, + requestAccess, + signTransaction, + getNetwork, +} from "@stellar/freighter-api"; + +export function useFreighter() { + const [connected, setConnected] = useState(false); + const [address, setAddress] = useState(null); + const [network, setNetwork] = useState(null); + + useEffect(() => { + checkConnection(); + }, []); + + const checkConnection = async () => { + const { isConnected: installed, error } = await isConnected(); + if (error || !installed) return; + + // getAddress returns address: "" until the app has been granted access, + // so a non-empty address means we're already authorized. + const { address: addr, error: addressError } = await getAddress(); + if (addressError || !addr) return; + + const { network: net, error: networkError } = await getNetwork(); + if (networkError) return; + setConnected(true); + setAddress(addr); + setNetwork(net); + }; + + const connect = useCallback(async () => { + const { isConnected: installed, error } = await isConnected(); + if (error || !installed) { + throw new Error("Freighter extension not installed"); + } + + // requestAccess prompts the user and returns the granted address. + const { address: addr, error: accessError } = await requestAccess(); + if (accessError) throw new Error(accessError.message); + + const { network: net, error: networkError } = await getNetwork(); + if (networkError) throw new Error(networkError.message); + setConnected(true); + setAddress(addr); + setNetwork(net); + + return addr; + }, []); + + const disconnect = useCallback(() => { + setConnected(false); + setAddress(null); + setNetwork(null); + }, []); + + const sign = useCallback( + async (xdr: string, networkPassphrase: string) => { + if (!connected) throw new Error("Wallet not connected"); + const { signedTxXdr, error } = await signTransaction(xdr, { + networkPassphrase, + }); + if (error) throw new Error(error.message); + return signedTxXdr; + }, + [connected] + ); + + return { connected, address, network, connect, disconnect, sign }; +} +``` + +### Stellar Wallets Kit (Multi-Wallet) +```typescript +// hooks/useStellarWallet.ts +import { useState, useCallback } from "react"; +import { + StellarWalletsKit, + WalletNetwork, + allowAllModules, + FREIGHTER_ID, + LOBSTR_ID, + XBULL_ID, +} from "@creit.tech/stellar-wallets-kit"; + +const kit = new StellarWalletsKit({ + network: WalletNetwork.TESTNET, + selectedWalletId: FREIGHTER_ID, + modules: allowAllModules(), +}); + +export function useStellarWallet() { + const [address, setAddress] = useState(null); + + const connect = useCallback(async () => { + await kit.openModal({ + onWalletSelected: async (option) => { + kit.setWallet(option.id); + const { address } = await kit.getAddress(); + setAddress(address); + }, + }); + }, []); + + const disconnect = useCallback(() => { + setAddress(null); + }, []); + + const sign = useCallback(async (xdr: string) => { + const { signedTxXdr } = await kit.signTransaction(xdr); + return signedTxXdr; + }, []); + + return { address, connect, disconnect, sign, kit }; +} +``` + +## Transaction Building + +### Basic Payment +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; +import { horizon, config } from "@/lib/stellar"; + +export async function buildPaymentTx( + sourceAddress: string, + destinationAddress: string, + amount: string, + asset: StellarSdk.Asset = StellarSdk.Asset.native() +) { + const account = await horizon.loadAccount(sourceAddress); + + const transaction = new StellarSdk.TransactionBuilder(account, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: config.networkPassphrase, + }) + .addOperation( + StellarSdk.Operation.payment({ + destination: destinationAddress, + asset: asset, + amount: amount, + }) + ) + .setTimeout(180) + .build(); + + return transaction.toXDR(); +} +``` + +### Smart Contract Invocation +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; +import { rpc, config } from "@/lib/stellar"; + +export async function invokeContract( + sourceAddress: string, + contractId: string, + method: string, + args: StellarSdk.xdr.ScVal[] +) { + const account = await rpc.getAccount(sourceAddress); + + const contract = new StellarSdk.Contract(contractId); + + let transaction = new StellarSdk.TransactionBuilder(account, { + fee: StellarSdk.BASE_FEE, + networkPassphrase: config.networkPassphrase, + }) + .addOperation(contract.call(method, ...args)) + .setTimeout(180) + .build(); + + // Simulate to get resource estimates + const simulation = await rpc.simulateTransaction(transaction); + + if (StellarSdk.rpc.Api.isSimulationError(simulation)) { + throw new Error(`Simulation failed: ${simulation.error}`); + } + + // Assemble with proper resources + transaction = StellarSdk.rpc.assembleTransaction( + transaction, + simulation + ).build(); + + return transaction.toXDR(); +} +``` + +### Building ScVal Arguments +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +// Common conversions +const addressVal = StellarSdk.Address.fromString(address).toScVal(); +const i128Val = StellarSdk.nativeToScVal(BigInt(amount), { type: "i128" }); +const u32Val = StellarSdk.nativeToScVal(42, { type: "u32" }); +const stringVal = StellarSdk.nativeToScVal("hello", { type: "string" }); +const symbolVal = StellarSdk.nativeToScVal("transfer", { type: "symbol" }); + +// Struct +const structVal = StellarSdk.nativeToScVal( + { name: "Token", decimals: 7 }, + { + type: { + name: ["symbol", null], + decimals: ["u32", null], + }, + } +); + +// Vec +const vecVal = StellarSdk.nativeToScVal([1, 2, 3], { type: "i128" }); +``` + +## Transaction Submission + +### Submit and Wait for Confirmation +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; +import { rpc, horizon, config } from "@/lib/stellar"; + +export async function submitTransaction(signedXdr: string) { + const transaction = StellarSdk.TransactionBuilder.fromXDR( + signedXdr, + config.networkPassphrase + ); + + // For smart contract transactions, use RPC + if (transaction.operations.some(op => op.type === "invokeHostFunction")) { + return submitSorobanTransaction(signedXdr); + } + + // For classic transactions, use Horizon + return submitClassicTransaction(signedXdr); +} + +async function submitSorobanTransaction(signedXdr: string) { + const transaction = StellarSdk.TransactionBuilder.fromXDR( + signedXdr, + config.networkPassphrase + ) as StellarSdk.Transaction; + + const response = await rpc.sendTransaction(transaction); + + if (response.status === "ERROR") { + throw new Error(`Transaction failed: ${response.errorResult}`); + } + + // Poll for completion + let getResponse = await rpc.getTransaction(response.hash); + while (getResponse.status === "NOT_FOUND") { + await new Promise((resolve) => setTimeout(resolve, 1000)); + getResponse = await rpc.getTransaction(response.hash); + } + + if (getResponse.status === "SUCCESS") { + return { + hash: response.hash, + result: getResponse.returnValue, + }; + } + + throw new Error(`Transaction failed: ${getResponse.status}`); +} + +async function submitClassicTransaction(signedXdr: string) { + const transaction = StellarSdk.TransactionBuilder.fromXDR( + signedXdr, + config.networkPassphrase + ) as StellarSdk.Transaction; + + const response = await horizon.submitTransaction(transaction); + return { + hash: response.hash, + ledger: response.ledger, + }; +} +``` + +## React Components + +### Connect Wallet Button +```tsx +// components/ConnectButton.tsx +"use client"; + +import { useFreighter } from "@/hooks/useFreighter"; + +export function ConnectButton() { + const { connected, address, connect, disconnect } = useFreighter(); + + if (connected && address) { + return ( +
+ + {address.slice(0, 4)}...{address.slice(-4)} + + +
+ ); + } + + return ( + + ); +} +``` + +### Send Payment Form +```tsx +// components/SendPayment.tsx +"use client"; + +import { useState } from "react"; +import { useFreighter } from "@/hooks/useFreighter"; +import { buildPaymentTx, submitTransaction } from "@/lib/transactions"; + +export function SendPayment() { + const { address, sign } = useFreighter(); + const [destination, setDestination] = useState(""); + const [amount, setAmount] = useState(""); + const [status, setStatus] = useState(null); + const [loading, setLoading] = useState(false); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + if (!address) return; + + setLoading(true); + setStatus("Building transaction..."); + + try { + const xdr = await buildPaymentTx(address, destination, amount); + + setStatus("Please sign in your wallet..."); + const signedXdr = await sign(xdr, config.networkPassphrase); + + setStatus("Submitting transaction..."); + const result = await submitTransaction(signedXdr); + + setStatus(`Success! Hash: ${result.hash}`); + } catch (error) { + setStatus(`Error: ${error.message}`); + } finally { + setLoading(false); + } + }; + + return ( +
+ setDestination(e.target.value)} + className="w-full p-2 border rounded" + /> + setAmount(e.target.value)} + className="w-full p-2 border rounded" + /> + + {status &&

{status}

} +
+ ); +} +``` + +## Next.js App Router Setup + +### Provider Component +```tsx +// app/providers.tsx +"use client"; + +import { ReactNode } from "react"; + +// Add any context providers here +export function Providers({ children }: { children: ReactNode }) { + return <>{children}; +} +``` + +### Layout +```tsx +// app/layout.tsx +import { Providers } from "./providers"; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + {children} + + + ); +} +``` + +## Data Fetching + +### Account Balance +```typescript +import { horizon } from "@/lib/stellar"; + +export async function getBalance(address: string) { + try { + const account = await horizon.loadAccount(address); + const nativeBalance = account.balances.find( + (b) => b.asset_type === "native" + ); + return nativeBalance?.balance || "0"; + } catch (error) { + if (error.response?.status === 404) { + return "0"; // Account not funded + } + throw error; + } +} +``` + +### Contract State +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; +import { rpc } from "@/lib/stellar"; + +export async function getContractData( + contractId: string, + key: StellarSdk.xdr.ScVal +) { + const ledgerKey = StellarSdk.xdr.LedgerKey.contractData( + new StellarSdk.xdr.LedgerKeyContractData({ + contract: new StellarSdk.Address(contractId).toScAddress(), + key: key, + durability: StellarSdk.xdr.ContractDataDurability.persistent(), + }) + ); + + const entries = await rpc.getLedgerEntries(ledgerKey); + + if (entries.entries.length === 0) { + return null; + } + + return StellarSdk.scValToNative( + entries.entries[0].val.contractData().val() + ); +} +``` + +## Smart Accounts (Passkey Wallets) + +For passwordless authentication using WebAuthn passkeys, use Smart Account Kit. + +### Installation +```bash +npm install smart-account-kit +``` + +### Quick Start +```typescript +import { SmartAccountKit, IndexedDBStorage } from 'smart-account-kit'; + +const kit = new SmartAccountKit({ + rpcUrl: 'https://soroban-testnet.stellar.org', + networkPassphrase: 'Test SDF Network ; September 2015', + accountWasmHash: 'YOUR_ACCOUNT_WASM_HASH', + webauthnVerifierAddress: 'CWEBAUTHN_VERIFIER_ADDRESS', + storage: new IndexedDBStorage(), +}); + +// On page load - silent restore from stored session +const result = await kit.connectWallet(); +if (!result) { + showConnectButton(); // No stored session +} + +// Create new wallet with passkey +const { contractId, credentialId } = await kit.createWallet( + 'My App', + 'user@example.com', + { autoSubmit: true } +); + +// Connect to existing wallet (prompts for passkey) +await kit.connectWallet({ prompt: true }); + +// Sign and submit transactions +const result = await kit.signAndSubmit(transaction); + +// Transfer tokens +await kit.transfer(tokenContract, recipient, amount); +``` + +### Key Features +- **Session Management**: Automatic credential persistence and silent reconnection +- **Multiple Signer Types**: Passkeys (secp256r1), Ed25519 keys, policies +- **Context Rules**: Fine-grained authorization for different operations +- **Policy Support**: Threshold multisig, spending limits, custom policies +- **External Wallet Support**: Connect Freighter, LOBSTR via adapters +- **Gasless Transactions**: Optional relayer integration for fee sponsoring + +### Fee Sponsorship with OpenZeppelin Relayer + +The [OpenZeppelin Relayer](https://docs.openzeppelin.com/relayer/stellar) (also called Stellar Channels Service) handles gasless transaction submission. It replaces the deprecated Launchtube service and uses Stellar's native fee bump mechanism so users don't need XLM for fees. + +```typescript +import * as RPChannels from "@openzeppelin/relayer-plugin-channels"; + +const client = new RPChannels.ChannelsClient({ + baseUrl: "https://channels.openzeppelin.com/testnet", + apiKey: "your-api-key", +}); + +// Submit a smart contract call with fee sponsorship +const response = await client.submitSorobanTransaction({ + func: contractFunc, + auth: contractAuth, +}); +``` + +- **Testnet hosted instance**: `https://channels.openzeppelin.com/testnet` (API keys at `/gen`) +- **Production**: Self-host via Docker ([GitHub](https://github.com/OpenZeppelin/openzeppelin-relayer)) +- **Stellar docs**: https://developers.stellar.org/docs/tools/openzeppelin-relayer + +### Resources +- **GitHub**: https://github.com/kalepail/smart-account-kit +- **OpenZeppelin Contracts**: https://github.com/OpenZeppelin/stellar-contracts +- **Legacy SDK**: https://github.com/kalepail/passkey-kit (for simpler use cases) + +## Transaction UX Checklist + +- [ ] Show loading state during wallet signing +- [ ] Display transaction hash immediately after submission +- [ ] Track confirmation status (pending → success/failed) +- [ ] Handle common errors with clear messages: + - Wallet not connected + - User rejected signing + - Insufficient XLM for fees + - Account not funded + - Network mismatch (wallet on wrong network) + - Transaction timeout/expired +- [ ] Prevent double-submission while processing +- [ ] Show destination and amount before signing diff --git a/.mintlify/skills/data/SKILL.md b/.mintlify/skills/data/SKILL.md new file mode 100644 index 000000000..84850ac49 --- /dev/null +++ b/.mintlify/skills/data/SKILL.md @@ -0,0 +1,546 @@ +--- +name: data +description: Querying Stellar chain data via Stellar RPC (preferred) and Horizon (legacy). Covers RPC JSON-RPC methods, Horizon REST endpoints, streaming, pagination, historical queries, Hubble/Galexie for deep history, and the RPC/Horizon migration story. Use when reading balances, transactions, operations, ledgers, contract events, or building any indexer/analytics workflow. +user-invocable: true +argument-hint: "[data task]" +--- + +# Stellar Data: RPC + Horizon + +API access for reading chain state. Stellar RPC is the preferred entry point for new projects; Horizon remains for legacy and historical-query workflows. For deeper history beyond RPC's 7-day window, use Hubble/Galexie. + +## When to use this skill +- Calling Stellar RPC methods (`getLatestLedger`, `getLedgerEntries`, `getEvents`, `simulateTransaction`, `sendTransaction`) +- Querying Horizon endpoints (accounts, transactions, operations, effects, ledgers) +- Streaming live events or operations +- Pulling historical data beyond RPC's 7-day window (Hubble, Galexie) +- Choosing between RPC and Horizon for a given workflow + +## Related skills +- Building transactions to send → `/.well-known/agent-skills/dapp/skill.md` +- Smart contract simulation and event emission → `/.well-known/agent-skills/smart-contracts/skill.md` +- Asset balance and trustline lookups → `/.well-known/agent-skills/assets/skill.md` +- Standards (SEP-7 deeplinks, SEP-10 auth) → `/.well-known/agent-skills/standards/skill.md` + +--- + + +## Overview + +Stellar provides two API paradigms: + +| API | Status | Use Case | +|-----|--------|----------| +| **Stellar RPC** | Preferred | Smart contracts, real-time state, new projects | +| **Horizon** | Legacy-focused | Historical data, legacy applications | + +**Recommendation**: Use Stellar RPC for all new projects. Use Horizon mainly for historical queries and legacy compatibility paths. + +## Quick Navigation +- RPC methods and usage: [Stellar RPC](#stellar-rpc) +- Horizon endpoints and streaming: [Horizon API (Legacy)](#horizon-api-legacy) +- Migration strategy: [Migration: Horizon to RPC](#migration-horizon-to-rpc) +- Data history/indexing options: [Historical Data Access](#historical-data-access) +- Environment setup and endpoints: [Network Configuration](#network-configuration) + +## Stellar RPC + +### Endpoints + +> Note: SDF directly provides Futurenet public RPC. For Mainnet RPC, select a provider from the [RPC providers directory](https://developers.stellar.org/docs/data/apis/rpc/providers). + +| Network | RPC URL | +|---------|---------| +| Mainnet | Provider-specific endpoint (see [RPC providers directory](https://developers.stellar.org/docs/data/apis/rpc/providers)) | +| Testnet | `https://soroban-testnet.stellar.org` | +| Futurenet | `https://rpc-futurenet.stellar.org` | +| Local | `http://localhost:8000/soroban/rpc` | + +### Setup + +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +const rpc = new StellarSdk.rpc.Server("https://soroban-testnet.stellar.org"); +``` + +### Key Methods + +#### Get Account + +```typescript +const account = await rpc.getAccount(publicKey); +// Returns account with sequence number for transaction building +``` + +#### Get Health + +```typescript +const health = await rpc.getHealth(); +// { status: "healthy" } +``` + +#### Get Latest Ledger + +```typescript +const ledger = await rpc.getLatestLedger(); +// { id: "...", sequence: 123456, protocolVersion: 25 } +``` + +#### Get Ledger Entries + +```typescript +// Read contract storage +const key = StellarSdk.xdr.LedgerKey.contractData( + new StellarSdk.xdr.LedgerKeyContractData({ + contract: new StellarSdk.Address(contractId).toScAddress(), + key: StellarSdk.xdr.ScVal.scvSymbol("Counter"), + durability: StellarSdk.xdr.ContractDataDurability.persistent(), + }) +); + +const entries = await rpc.getLedgerEntries(key); +if (entries.entries.length > 0) { + const value = StellarSdk.scValToNative( + entries.entries[0].val.contractData().val() + ); +} +``` + +#### Simulate Transaction + +```typescript +const simulation = await rpc.simulateTransaction(transaction); + +if (StellarSdk.rpc.Api.isSimulationError(simulation)) { + console.error("Simulation failed:", simulation.error); +} else if (StellarSdk.rpc.Api.isSimulationSuccess(simulation)) { + console.log("Cost:", simulation.cost); + console.log("Result:", simulation.result); +} +``` + +#### Send Transaction + +```typescript +const response = await rpc.sendTransaction(signedTransaction); + +if (response.status === "PENDING") { + // Poll for result + let result = await rpc.getTransaction(response.hash); + while (result.status === "NOT_FOUND") { + await new Promise(r => setTimeout(r, 1000)); + result = await rpc.getTransaction(response.hash); + } + + if (result.status === "SUCCESS") { + console.log("Success:", result.returnValue); + } else { + console.error("Failed:", result.status); + } +} +``` + +#### Get Transaction + +```typescript +const tx = await rpc.getTransaction(txHash); +// status: "SUCCESS" | "FAILED" | "NOT_FOUND" +// returnValue: ScVal (for contract calls) +// ledger: number +``` + +#### Get Events + +```typescript +const events = await rpc.getEvents({ + startLedger: 1000000, + filters: [ + { + type: "contract", + contractIds: [contractId], + topics: [ + ["*", StellarSdk.xdr.ScVal.scvSymbol("transfer").toXDR("base64")], + ], + }, + ], +}); + +for (const event of events.events) { + console.log("Event:", event.topic, event.value); +} +``` + +### RPC Limitations + +- **7-day history for most methods**: `getTransaction`, `getEvents`, etc. only cover recent data +- **`getLedgers` exception**: "Infinite Scroll" feature queries any ledger back to genesis via the data lake +- **No streaming**: Poll for updates (no WebSocket) +- **Contract-focused**: Limited classic Stellar data + +## Horizon API (Legacy) + +### Endpoints + +| Network | Horizon URL | +|---------|-------------| +| Mainnet | `https://horizon.stellar.org` | +| Testnet | `https://horizon-testnet.stellar.org` | +| Local | `http://localhost:8000` | + +### Setup + +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +const server = new StellarSdk.Horizon.Server("https://horizon-testnet.stellar.org"); +``` + +### Common Operations + +#### Load Account + +```typescript +const account = await server.loadAccount(publicKey); +// Full account details including balances, signers, data +``` + +#### Get Account Balances + +```typescript +const account = await server.loadAccount(publicKey); +for (const balance of account.balances) { + if (balance.asset_type === "native") { + console.log("XLM:", balance.balance); + } else { + console.log(`${balance.asset_code}:`, balance.balance); + } +} +``` + +#### Get Transactions + +```typescript +// Account transactions +const transactions = await server + .transactions() + .forAccount(publicKey) + .order("desc") + .limit(10) + .call(); + +// Specific transaction +const tx = await server + .transactions() + .transaction(txHash) + .call(); +``` + +#### Get Operations + +```typescript +const operations = await server + .operations() + .forAccount(publicKey) + .order("desc") + .limit(20) + .call(); + +for (const op of operations.records) { + console.log(op.type, op.created_at); +} +``` + +#### Get Payments + +```typescript +const payments = await server + .payments() + .forAccount(publicKey) + .order("desc") + .call(); + +for (const payment of payments.records) { + if (payment.type === "payment") { + console.log( + `${payment.from} -> ${payment.to}: ${payment.amount} ${payment.asset_code || "XLM"}` + ); + } +} +``` + +#### Get Effects + +```typescript +const effects = await server + .effects() + .forAccount(publicKey) + .limit(50) + .call(); +``` + +#### Streaming (Server-Sent Events) + +```typescript +// Stream transactions +const closeHandler = server + .transactions() + .forAccount(publicKey) + .cursor("now") + .stream({ + onmessage: (tx) => { + console.log("New transaction:", tx.hash); + }, + onerror: (error) => { + console.error("Stream error:", error); + }, + }); + +// Close stream when done +closeHandler(); +``` + +#### Submit Transaction + +```typescript +try { + const result = await server.submitTransaction(signedTransaction); + console.log("Success:", result.hash); +} catch (error) { + if (error.response?.data?.extras?.result_codes) { + console.error("Error codes:", error.response.data.extras.result_codes); + } +} +``` + +### Pagination + +```typescript +// First page +let page = await server.transactions().forAccount(publicKey).limit(10).call(); + +// Next page +if (page.records.length > 0) { + page = await page.next(); +} + +// Previous page +page = await page.prev(); +``` + +## Migration: Horizon to RPC + +### Account Loading + +```typescript +// Horizon (old) +const account = await horizonServer.loadAccount(publicKey); + +// RPC (new) +const account = await rpc.getAccount(publicKey); +// Note: RPC returns less data, just what's needed for transactions +``` + +### Transaction Submission + +```typescript +// Horizon (for classic transactions) +const result = await horizonServer.submitTransaction(tx); + +// RPC (for smart contract transactions) +const response = await rpc.sendTransaction(tx); +const result = await pollForResult(response.hash); +``` + +### Historical Data + +```typescript +// Horizon - full history +const allTxs = await horizonServer + .transactions() + .forAccount(publicKey) + .call(); + +// RPC - most methods limited to 7 days +// Exception: getLedgers can query back to genesis (Infinite Scroll) +// For full historical data, use: +// 1. Hubble (SDF's BigQuery dataset) +// 2. Galexie (data pipeline) +// 3. Your own indexer +``` + +### Streaming Replacement + +```typescript +// Horizon - native streaming +server.payments().stream({ onmessage: handlePayment }); + +// RPC - polling (no native streaming) +async function pollForUpdates() { + const lastLedger = await rpc.getLatestLedger(); + // Check for new events/transactions + // Repeat on interval +} +setInterval(pollForUpdates, 5000); +``` + +## Historical Data Access + +For data older than 7 days (not available via most RPC methods; `getLedgers` can reach genesis via Infinite Scroll): + +### Hubble (BigQuery) + +```sql +-- Query Stellar data in BigQuery +SELECT * +FROM `crypto-stellar.crypto_stellar.history_transactions` +WHERE source_account = 'G...' +ORDER BY created_at DESC +LIMIT 100 +``` + +### Galexie + +Self-hosted data pipeline for processing Stellar ledger data: +- https://github.com/stellar/galexie + +### Data Lake + +RPC "Infinite Scroll" is powered by the Stellar data lake — a cloud-based object store (SEP-0054 format): +- **Public access**: `s3://aws-public-blockchain/v1.1/stellar/ledgers/pubnet` (AWS Open Data) +- **Self-host**: Use Galexie to export to AWS S3 or Google Cloud Storage +- **Hosted**: [Quasar (Lightsail Network)](https://quasar.lightsail.network) provides hosted Galexie Data Lake + Archive RPC endpoints +- **Size**: ~3.8TB, growing ~0.5TB/year +- **Cost**: ~$160/month self-hosted ($60 compute + $100 storage) +- **Docs**: https://developers.stellar.org/docs/data/apis/rpc/admin-guide/data-lake-integration + +### Third-Party Indexers + +For complex queries, event streaming, or custom data pipelines beyond what RPC/Horizon provide: + +- **Mercury** — Stellar-native indexer with Retroshades, GraphQL API (https://mercurydata.app) +- **SubQuery** — Multi-chain indexer with Stellar support, event handlers (https://subquery.network) +- **Goldsky** — Real-time data replication pipelines and subgraphs (https://goldsky.com) +- **StellarExpert API** — Free, no-auth REST API for assets, accounts, ledger resolution (https://stellar.expert/openapi.html) + +See the full indexer directory: https://developers.stellar.org/docs/data/indexers + +## Network Configuration + +> For a React/Next.js-specific setup, see [frontend-stellar-sdk.md](/.well-known/agent-skills/dapp/skill.md). +> For mainnet RPC, set `STELLAR_MAINNET_RPC_URL` from a provider in the [RPC providers directory](https://developers.stellar.org/docs/data/apis/rpc/providers). + +### Environment-Based Setup + +```typescript +// lib/stellar-config.ts +import * as StellarSdk from "@stellar/stellar-sdk"; + +type NetworkConfig = { + rpcUrl: string; + horizonUrl: string; + networkPassphrase: string; + friendbotUrl: string | null; +}; + +const requireEnv = (name: string): string => { + const value = process.env[name]; + if (!value) throw new Error(`Missing required env var: ${name}`); + return value; +}; + +const configs: Record = { + mainnet: { + rpcUrl: requireEnv("STELLAR_MAINNET_RPC_URL"), + horizonUrl: "https://horizon.stellar.org", + networkPassphrase: StellarSdk.Networks.PUBLIC, + friendbotUrl: null, + }, + testnet: { + rpcUrl: "https://soroban-testnet.stellar.org", + horizonUrl: "https://horizon-testnet.stellar.org", + networkPassphrase: StellarSdk.Networks.TESTNET, + friendbotUrl: "https://friendbot.stellar.org", + }, + local: { + rpcUrl: "http://localhost:8000/soroban/rpc", + horizonUrl: "http://localhost:8000", + networkPassphrase: "Standalone Network ; February 2017", + friendbotUrl: "http://localhost:8000/friendbot", + }, +}; + +const network = process.env.STELLAR_NETWORK || "testnet"; +export const config = configs[network]; + +export const rpc = new StellarSdk.rpc.Server(config.rpcUrl); +export const horizon = new StellarSdk.Horizon.Server(config.horizonUrl); +``` + +## Best Practices + +### Use RPC for: +- New application development +- Smart contract interactions +- Transaction simulation and submission +- Real-time account state + +### Use Horizon for: +- Historical transaction queries +- Payment streaming +- Legacy application maintenance +- Rich account metadata + +### Error Handling + +```typescript +// RPC errors +try { + const result = await rpc.sendTransaction(tx); +} catch (error) { + if (error.code === 400) { + // Invalid transaction + } else if (error.code === 503) { + // Service unavailable + } +} + +// Horizon errors +try { + const result = await horizon.submitTransaction(tx); +} catch (error) { + const extras = error.response?.data?.extras; + if (extras?.result_codes) { + // Detailed error codes + console.log("Transaction:", extras.result_codes.transaction); + console.log("Operations:", extras.result_codes.operations); + } +} +``` + +### Rate Limiting + +Both RPC and Horizon have rate limits: +- Use exponential backoff for retries +- Cache responses where appropriate +- Consider running your own nodes for high-volume applications + +```typescript +async function withRetry(fn: () => Promise, maxRetries = 3): Promise { + let lastError: Error; + for (let i = 0; i < maxRetries; i++) { + try { + return await fn(); + } catch (error) { + lastError = error; + if (error.response?.status === 429) { + // Rate limited - exponential backoff + await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000)); + } else { + throw error; + } + } + } + throw lastError; +} +``` diff --git a/.mintlify/skills/smart-contracts/SKILL.md b/.mintlify/skills/smart-contracts/SKILL.md new file mode 100644 index 000000000..d0d135abe --- /dev/null +++ b/.mintlify/skills/smart-contracts/SKILL.md @@ -0,0 +1,901 @@ +--- +name: smart-contracts +description: Stellar smart contract development (Rust, soroban-sdk). Entry point with project setup, contract anatomy, and build/deploy workflow, routing to three companion files in this directory — development.md (storage, auth, cross-contract calls, events, errors, upgrades, factories, troubleshooting), testing.md (unit, fuzz, property, fork, mutation, integration), and security.md (vulnerability classes, checklists, tooling, audits). Use when writing, testing, securing, or shipping Stellar smart contracts (formerly branded Soroban). +user-invocable: true +argument-hint: "[contract task]" +--- + +# Stellar Smart Contracts + +Guide for building Stellar smart contracts in Rust. Smart contracts on Stellar were formerly branded "Soroban" — the platform name is retired, but the Rust SDK (`soroban-sdk`) and several tool names keep the prefix. + +This file covers setup and the core workflow. The deep dives are included below — **jump to the section that matches the task**: + +| Task | Section | +|------|------| +| Storage, auth, cross-contract calls, events, errors, upgrades, factories, troubleshooting | [Development Patterns](#development-patterns) | +| Unit, integration, fuzz, property, fork, and mutation testing | [Testing](#testing) | +| Security review, vulnerability classes, checklists, audit prep, tooling | [Security](#security) | + +## When to use this skill +- Writing a Stellar smart contract in Rust +- Setting up contract tests (any layer) +- Reviewing a contract for security issues +- Architecting upgradeable contracts, factories, governance, or DeFi primitives +- Debugging a contract-specific error (auth, storage, archival, resource limits) + +## Related skills +- Assets, trustlines, and SAC bridge → `/.well-known/agent-skills/assets/skill.md` +- Frontend/wallets that call your contract → `/.well-known/agent-skills/dapp/skill.md` +- Chain data queries (RPC/Horizon) → `/.well-known/agent-skills/data/skill.md` +- ZK verification (BLS12-381, Groth16, Circom/Noir/RISC Zero) → `/.well-known/agent-skills/zk-proofs/skill.md` +- SEP/CAP standards and ecosystem links → `/.well-known/agent-skills/standards/skill.md` + +## Platform constraints + +Contracts are Rust compiled to WebAssembly, run in a sandboxed host: + +- `#![no_std]` required — use `soroban_sdk` types (`String`, `Vec`, `Map`, `Symbol`), not the Rust standard library +- 64KB compiled contract size limit — use the release profile below +- `Symbol` is limited to 32 characters; `symbol_short!()` covers up to 9 +- Storage is rented: every entry has a TTL and can be archived — see [development.md](#storage) +- No `delegatecall`, no classical cross-contract reentrancy — see [security.md](#security) + +## Project setup + +```bash +stellar contract init my-contract # scaffolds a Cargo workspace with contracts/ +cd my-contract +``` + +`Cargo.toml` essentials: + +```toml +[lib] +crate-type = ["cdylib"] + +[dependencies] +soroban-sdk = "25.0.1" # check https://crates.io/crates/soroban-sdk for latest + +[dev-dependencies] +soroban-sdk = { version = "25.0.1", features = ["testutils"] } # match above + +[profile.release] +opt-level = "z" +overflow-checks = true +debug = 0 +strip = "symbols" +debug-assertions = false +panic = "abort" +codegen-units = 1 +lto = true +``` + +## Contract anatomy + +One compact example showing state, constructor, auth, TTL, and a typed error: + +```rust +#![no_std] +use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env}; + +#[contracttype] +#[derive(Clone)] +pub enum DataKey { + Admin, + Counter, +} + +#[contracterror] +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +#[repr(u32)] +pub enum Error { + NotInitialized = 1, +} + +#[contract] +pub struct CounterContract; + +#[contractimpl] +impl CounterContract { + // Runs once, atomically, at deploy time (Protocol 22+). Must be named + // `__constructor` and return (). Does not run again on upgrade. + pub fn __constructor(env: Env, admin: Address) { + env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Counter, &0u32); + } + + pub fn increment(env: Env) -> Result { + let admin: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .ok_or(Error::NotInitialized)?; + admin.require_auth(); + + let count: u32 = env.storage().instance().get(&DataKey::Counter).unwrap_or(0); + let count = count + 1; + env.storage().instance().set(&DataKey::Counter, &count); + + // Extend TTL so contract state is not archived (threshold, extend-to) + env.storage().instance().extend_ttl(100, 518400); + + Ok(count) + } + + pub fn get_count(env: Env) -> u32 { + env.storage().instance().get(&DataKey::Counter).unwrap_or(0) + } +} +``` + +Full patterns (three storage types, auth variants, cross-contract calls, events, custom types): [development.md](#development-patterns). + +## Build, deploy, invoke + +```bash +# Build optimized WASM → target/wasm32-unknown-unknown/release/*.wasm +stellar contract build + +# Create and fund an identity (testnet) +stellar keys generate --global alice --network testnet --fund + +# Deploy (constructor args go after the `--`) +stellar contract deploy \ + --wasm target/wasm32-unknown-unknown/release/my_contract.wasm \ + --source alice \ + --network testnet \ + -- \ + --admin alice + +# Invoke +stellar contract invoke \ + --id CONTRACT_ID \ + --source alice \ + --network testnet \ + -- \ + increment +``` + +To upload WASM without instantiating (e.g. for factories or upgrades), use `stellar contract upload` (the older `stellar contract install` is a deprecated alias). + +## Minimal test + +```rust +#![cfg(test)] +use super::*; +use soroban_sdk::{testutils::Address as _, Address, Env}; + +#[test] +fn test_increment() { + let env = Env::default(); + env.mock_all_auths(); + let admin = Address::generate(&env); + let contract_id = env.register(CounterContract, (admin.clone(),)); + let client = CounterContractClient::new(&env, &contract_id); + + assert_eq!(client.increment(), 1); + assert_eq!(client.get_count(), 1); +} +``` + +Auth mocking, fuzzing, fork tests, and CI setup: [testing.md](#testing). + +## Before mainnet + +Work through the checklists in [security.md](#security) — authorization, reinitialization, arithmetic, storage TTLs, and cross-contract validation are the recurring failure modes. + +## Documentation + +- [Smart contract docs](https://developers.stellar.org/docs/build/smart-contracts) +- [Example contracts](https://github.com/stellar/soroban-examples) +- [soroban-sdk API reference](https://docs.rs/soroban-sdk) +- [Stellar CLI manual](https://developers.stellar.org/docs/tools/cli/stellar-cli) + + +--- + +# Development Patterns + +Core and advanced patterns for Stellar smart contracts. For setup and the basic workflow, start at [SKILL.md](#stellar-smart-contracts); for tests see [testing.md](#testing); for security review see [security.md](#security). + +## Architecture + +Contracts run as WebAssembly guests in a sandboxed host. The host provides storage, crypto, and cross-contract calls; guest code references host objects via handles, not direct memory. Practical consequences: + +- `#![no_std]` — use `soroban_sdk` collections and strings +- 64KB compiled size limit (see [Contract size](#contract-size) below) +- Rust is the supported language. Community alternatives (AssemblyScript, Solidity via Solang) exist but are not production-ready — see [migration docs](https://developers.stellar.org/docs/learn/migrate). + +## Storage + +Three storage types with different costs and lifetimes. Choosing wrong is a top source of bugs and fee waste: + +| Type | Lifetime | Use for | +|------|----------|---------| +| `instance()` | Tied to the contract instance, shared TTL | Admin address, global config, small global state | +| `persistent()` | Per-key TTL, archived when expired but **restorable** | User balances, anything that must survive | +| `temporary()` | Per-key TTL, deleted when expired, **not restorable** | Caches, session data, short-lived flags | + +```rust +env.storage().instance().set(&DataKey::Admin, &admin); +env.storage().persistent().set(&DataKey::Balance(user), &balance); +env.storage().temporary().set(&DataKey::Cache(key), &value); +``` + +### TTL management + +Every entry has a TTL (in ledgers, ~5s each) and is archived when it expires. Extend proactively in functions that touch the data: + +```rust +const MIN_TTL: u32 = 17280; // ~1 day +const EXTEND_TO: u32 = 518400; // ~30 days + +// extend_ttl(threshold, extend_to): only extends if TTL < threshold +env.storage().instance().extend_ttl(MIN_TTL, EXTEND_TO); +env.storage().persistent().extend_ttl(&DataKey::Balance(user), MIN_TTL, EXTEND_TO); +``` + +Archived persistent entries can be restored with a `RestoreFootprint` operation, but that costs an extra transaction — design TTL extension into hot paths instead. Details: [state archival docs](https://developers.stellar.org/docs/learn/fundamentals/contract-development/storage/state-archival). + +### Typed storage keys + +Always use a `#[contracttype]` enum for keys — ad-hoc symbols invite collisions: + +```rust +#[contracttype] +#[derive(Clone)] +pub enum DataKey { + Admin, + Balance(Address), + Allowance(Address, Address), // (owner, spender) +} +``` + +## Data types + +```rust +use soroban_sdk::{Address, Bytes, BytesN, Map, String, Symbol, Vec}; + +let addr: Address = env.current_contract_address(); +let sym: Symbol = symbol_short!("transfer"); // ≤9 chars; Symbol max is 32 +let s: String = String::from_str(&env, "hello"); +let hash: BytesN<32> = env.crypto().sha256(&bytes).into(); +let v: Vec = vec![&env, 1, 2, 3]; +let m: Map = Map::new(&env); +``` + +Custom types derive `#[contracttype]`: + +```rust +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct TokenMetadata { + pub name: String, + pub symbol: Symbol, + pub decimals: u32, +} +``` + +## Authorization + +Authorization is opt-in and explicit. Call `require_auth()` on every address whose consent the operation needs: + +```rust +pub fn transfer(env: Env, from: Address, to: Address, amount: i128) { + from.require_auth(); + // or bind the auth to specific arguments: + // from.require_auth_for_args((&to, amount).into_val(&env)); + // ... +} +``` + +Admin pattern: + +```rust +fn require_admin(env: &Env) { + let admin: Address = env.storage().instance().get(&DataKey::Admin).unwrap(); + admin.require_auth(); +} +``` + +Authorization semantics (sub-invocations, custom accounts): [auth docs](https://developers.stellar.org/docs/learn/fundamentals/contract-development/authorization). + +## Constructors + +`__constructor` runs once, atomically, at deploy time (Protocol 22+). Prefer it over a separate `initialize` function — it removes the front-running window between deploy and init: + +```rust +pub fn __constructor(env: Env, admin: Address, initial_value: u32) { + env.storage().instance().set(&DataKey::Admin, &admin); + env.storage().instance().set(&DataKey::Value, &initial_value); +} +``` + +Rules: exact name `__constructor`, returns `()`, runs only at creation (not on upgrade), failure aborts the deployment atomically. Pass args at deploy time after the `--` separator (see [SKILL.md](#build-deploy-invoke)). + +If you must support a guarded `initialize` instead (pre-Protocol-22 targets), check-and-set an `Initialized` flag — see [security.md](#2-reinitialization-attacks). + +## Cross-contract calls + +Import another contract's WASM to get a typed client: + +```rust +mod token_contract { + soroban_sdk::contractimport!( + file = "../token/target/wasm32-unknown-unknown/release/token.wasm" + ); +} + +pub fn deposit(env: Env, user: Address, token: Address, amount: i128) { + user.require_auth(); + let token_client = token_contract::Client::new(&env, &token); + token_client.transfer(&user, &env.current_contract_address(), &amount); +} +``` + +For Stellar assets, use the built-in SAC client — every asset has a Stellar Asset Contract: + +```rust +use soroban_sdk::token::Client as TokenClient; + +let token = TokenClient::new(&env, &asset_contract_id); +token.transfer(&from, &to, &amount); +``` + +SAC details and asset interop: `/.well-known/agent-skills/assets/skill.md`. Validate addresses you call — see [security.md](#3-arbitrary-contract-calls). + +## Events + +```rust +use soroban_sdk::contractevent; + +#[contractevent(topics = ["transfer"])] +pub struct TransferEvent { + pub from: Address, + pub to: Address, + pub amount: i128, +} + +// in a contract function: +TransferEvent { from, to, amount }.publish(&env); +``` + +Emit events for every state change you'll want to index or audit — events are much cheaper than storing queryable state. + +## Error handling + +```rust +#[contracterror] +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +#[repr(u32)] +pub enum ContractError { + NotInitialized = 1, + InsufficientBalance = 2, + InvalidAmount = 3, +} + +pub fn transfer(env: Env, from: Address, to: Address, amount: i128) -> Result<(), ContractError> { + if amount <= 0 { + return Err(ContractError::InvalidAmount); + } + // ... + Ok(()) +} +``` + +Returning `Result` gives callers (and clients generated for tests) typed errors via `try_` methods. Panics abort with less information — reserve them for invariant violations. + +## Upgradeability + +Decide early whether the contract is mutable. If yes, gate the upgrade behind admin/governance auth and track versions: + +```rust +contractmeta!(key = "binver", val = "1.0.0"); + +pub fn upgrade(env: Env, new_wasm_hash: BytesN<32>) { + let admin: Address = env.storage().instance().get(&DataKey::Admin).unwrap(); + admin.require_auth(); + env.deployer().update_current_contract_wasm(new_wasm_hash); +} +``` + +- Upload the new WASM first (`stellar contract upload`), pass its hash here. +- Add a dedicated `migrate` entrypoint for storage migrations; make it idempotent and monotonic (`new_version > current_version`). +- `__constructor` does not re-run on upgrade. +- SEP-0049 standardizes upgradeable-contract interfaces; OpenZeppelin's [stellar-contracts](https://github.com/OpenZeppelin/stellar-contracts) ships an audited implementation. + +## Factories + +```rust +#[contractimpl] +impl Factory { + pub fn deploy( + env: Env, + owner: Address, + wasm_hash: BytesN<32>, + salt: BytesN<32>, + constructor_args: Vec, + ) -> Address { + owner.require_auth(); + env.deployer() + .with_address(env.current_contract_address(), salt) + .deploy_v2(wasm_hash, constructor_args) + } +} +``` + +- Addresses are deterministic per (deployer, salt) — derive salts intentionally. +- Authorize who may deploy; emit an event per deployment so instances are indexable. +- Keep factory logic separate from instance business logic. + +## Governance + +For sensitive actions (upgrades, config changes), prefer a timelock: `propose_*` stores the pending action plus an execute-after ledger, `execute_*` enforces the delay, `cancel_*` lets governance abort. For multisig, separate proposer/approver/executor roles, store proposal state in persistent storage, and prevent replay (unique proposal IDs, expiry semantics, explicit events). + +## DeFi and compliance patterns + +Condensed design rules — the details are application-specific: + +- **Vaults**: track `total_assets`/`total_shares`, round conservatively on mint/redeem, include pause controls. +- **Pools/AMMs**: define the invariant and fee accounting precisely; slippage-check every user-facing swap. +- **Oracles**: enforce freshness bounds, prefer multi-source/median feeds, add circuit breakers. +- **Regulated tokens**: isolate allowlist/denylist and freeze/forced-transfer logic in dedicated entrypoints with strong auth, emit policy-decision events, never store PII on-chain. + +Worked examples: [soroban-examples](https://github.com/stellar/soroban-examples) (liquidity pool, atomic swap, timelock, single-offer) and the [DeFi tutorials](https://developers.stellar.org/docs/build/apps/guestbook). + +## Contract size + +The 64KB limit is real and the release profile in [SKILL.md](#project-setup) is mandatory. If you still exceed it: + +```bash +ls -la target/wasm32-unknown-unknown/release/*.wasm # check size +cargo install cargo-bloat +cargo bloat --release --target wasm32-unknown-unknown # find heavy deps +``` + +Then: split the contract, drop heavy dependencies, prefer `symbol_short!`, avoid large static data. + +## Resource optimization + +Fees are multidimensional (CPU instructions, ledger reads/writes, bytes, events, rent): + +- Minimize storage reads/writes; batch where possible +- Avoid unbounded loops over user-controlled collections +- Reduce cross-contract calls in hot paths +- Use events instead of storage for data that only needs off-chain visibility +- Profile with `stellar contract invoke ... --send=no` before optimizing blind + +## Troubleshooting + +| Symptom | Cause | Fix | +|---------|-------|-----| +| `contract exceeds maximum size` | WASM > 64KB | See [Contract size](#contract-size) | +| `cannot find macro println` / `std` errors | Missing `#![no_std]` | Add as first line of `lib.rs`; use SDK types | +| Calls fail after inactivity, data "missing" | Storage TTL expired → archived | Extend TTLs proactively; restore archived entries | +| Temporary data vanished | Wrong storage type | Use `persistent()` for data that must survive | +| `Error: identity "alice" not found` | CLI identity missing | `stellar keys generate --global alice --network testnet --fund` | +| `invalid argument format` on invoke | Wrong CLI arg syntax | Plain strings for addresses; JSON for complex types | +| `transaction simulation failed` | Soroban tx not simulated/assembled | Simulate, then `assembleTransaction` before signing | +| `tx_bad_auth` | Wrong network passphrase or signer | Match passphrase to network; check signing identity | +| `tx_bad_seq` | Stale sequence number | Reload the account before building the tx | + +Client-side issues (wallet detection, trustlines, transaction building from JS) are covered in `/.well-known/agent-skills/dapp/skill.md` and `/.well-known/agent-skills/data/skill.md`. + + +--- + +# Testing + +Testing strategy for Stellar smart contracts, from fast native unit tests to mainnet-fork tests. Companion to [SKILL.md](#stellar-smart-contracts), [development.md](#development-patterns), and [security.md](#security). + +Layers, fastest first: + +1. **Unit tests** — native Rust with `soroban-sdk` testutils (not WASM, full debugger support) +2. **Local integration** — Stellar Quickstart container +3. **Testnet** — public network rehearsal +4. **Fork tests** — replay against real ledger state + +## Unit testing + +```rust +#![cfg(test)] +use soroban_sdk::{ + testutils::{Address as _, MockAuth, MockAuthInvoke}, + Address, Env, +}; +use crate::{Contract, ContractClient}; + +#[test] +fn test_basic() { + let env = Env::default(); + let contract_id = env.register(Contract, ()); // () = no constructor args + let client = ContractClient::new(&env, &contract_id); + let user = Address::generate(&env); + + client.initialize(&user); + assert_eq!(client.get_value(), 0); +} +``` + +`env.register` takes constructor args as its second parameter — `env.register(Contract, (admin.clone(),))` for a contract with `__constructor(env, admin)`. + +### Authorization + +`mock_all_auths()` approves everything — convenient, but it can hide missing `require_auth` calls. Always pair it with `env.auths()` assertions, or mock specific auths: + +```rust +#[test] +fn test_auth() { + let env = Env::default(); + let contract_id = env.register(Contract, ()); + let client = ContractClient::new(&env, &contract_id); + let user = Address::generate(&env); + let other = Address::generate(&env); + // Approve only this specific invocation + env.mock_auths(&[MockAuth { + address: &user, + invoke: &MockAuthInvoke { + contract: &contract_id, + fn_name: "transfer", + args: (&user, &other, &100i128).into_val(&env), + sub_invokes: &[], + }, + }]); + + client.transfer(&user, &other, &100); + assert!(!env.auths().is_empty()); // verify auth was actually required +} +``` + +### Time and ledger state + +```rust +env.ledger().set_timestamp(1000); // for vesting/timelock logic +env.ledger().set_sequence_number(1000); +// ... act, then advance: +env.ledger().set_timestamp(2500); +``` + +### Events + +```rust +let events = env.events().all(); +assert_eq!(events.len(), 1); +// each event = (contract_id, topics: Vec, data: Val) +``` + +### Storage TTL + +```rust +let ttl = env.as_contract(&contract_id, || { + env.storage().persistent().get_ttl(&DataKey::MyData) +}); +assert!(ttl > 0); +``` + +### Cross-contract + +Register a real dependency from its WASM and test the interaction: + +```rust +mod token { soroban_sdk::contractimport!(file = "token.wasm"); } + +let token_id = env.register(token::WASM, ()); +let vault_id = env.register(VaultContract, ()); +// drive both through their typed clients +``` + +## Local network + +```bash +stellar container start local # or: docker run --rm -it -p 8000:8000 stellar/quickstart:latest --local +stellar keys generate --global test-account --network local --fund +stellar contract deploy --wasm target/wasm32-unknown-unknown/release/contract.wasm \ + --source test-account --network local +``` + +Endpoints: RPC `http://localhost:8000/soroban/rpc`, Horizon `http://localhost:8000`, passphrase `"Standalone Network ; February 2017"`. + +## Testnet + +```bash +stellar keys generate --global my-key --network testnet --fund +stellar contract deploy --wasm ... --source my-key --network testnet +``` + +- RPC: `https://soroban-testnet.stellar.org` · Horizon: `https://horizon-testnet.stellar.org` +- Passphrase: `"Test SDF Network ; September 2015"` · Friendbot: `https://friendbot.stellar.org` +- **Testnet resets quarterly** — everything is deleted. Script your deployments; never treat testnet state as durable. + +## Integration tests + +TypeScript, against local or testnet (the same flow a frontend uses — simulate, assemble, sign, send): + +```typescript +import * as StellarSdk from "@stellar/stellar-sdk"; + +const rpc = new StellarSdk.rpc.Server(process.env.RPC_URL!); +const account = await rpc.getAccount(keypair.publicKey()); +const contract = new StellarSdk.Contract(contractId); + +const tx = new StellarSdk.TransactionBuilder(account, { fee: "100", networkPassphrase }) + .addOperation(contract.call("initialize", StellarSdk.Address.fromString(keypair.publicKey()).toScVal())) + .setTimeout(30) + .build(); + +const sim = await rpc.simulateTransaction(tx); +const prepared = StellarSdk.rpc.assembleTransaction(tx, sim).build(); +prepared.sign(keypair); +const result = await rpc.sendTransaction(prepared); +``` + +In Rust, gate network-dependent tests behind `#[ignore]` and run them with `cargo test -- --ignored` in environments where the network is up. + +## Fuzz testing + +All `#[contracttype]` types implement `SorobanArbitrary` under the `testutils` feature, so fuzzing works out of the box with `cargo-fuzz`: + +```bash +rustup install nightly +cargo install --locked cargo-fuzz +cargo fuzz init +``` + +`Cargo.toml` needs `crate-type = ["lib", "cdylib"]`; add `soroban-sdk = { version = "...", features = ["testutils"] }` to `fuzz/Cargo.toml`. + +```rust +// fuzz/fuzz_targets/fuzz_deposit.rs +#![no_main] +use libfuzzer_sys::fuzz_target; +use soroban_sdk::{testutils::Address as _, Address, Env}; +use my_contract::{Contract, ContractClient}; + +fuzz_target!(|amount: i128| { + let env = Env::default(); + env.mock_all_auths(); + let contract_id = env.register(Contract, ()); + let client = ContractClient::new(&env, &contract_id); + let user = Address::generate(&env); + + client.initialize(&user); + let _ = client.try_deposit(&user, &amount); // must never panic unexpectedly +}); +``` + +Run with `cargo +nightly fuzz run fuzz_deposit`. For token contracts there's a reusable harness: [soroban-token-fuzzer](https://github.com/brson/soroban-token-fuzzer). Docs: [fuzzing guide](https://developers.stellar.org/docs/build/guides/testing/fuzzing). + +## Property-based testing + +`proptest` + `SorobanArbitrary` runs in plain `cargo test` — use it to lock in invariants found by fuzzing: + +```rust +proptest! { + #[test] + fn deposit_then_withdraw_preserves_balance(amount in 1i128..=i128::MAX) { + // setup as usual... + client.deposit(&user, &amount); + client.withdraw(&user, &amount); + prop_assert_eq!(client.balance(&user), 0); + } +} +``` + +Workflow: fuzz interactively to find deep bugs → convert findings to proptest regressions for CI. + +## Snapshots, fork tests, mutation tests + +Three techniques worth knowing; each is one command plus a doc link: + +- **Test snapshots**: every test writes a JSON snapshot of events + final ledger state to `test_snapshots/`. Commit them — diffs expose unintended behavioral changes. [Docs](https://developers.stellar.org/docs/build/guides/testing/differential-tests-with-test-snapshots) +- **Fork testing**: `stellar snapshot create --address C... --output json --out snapshot.json`, then `Env::from_ledger_snapshot_file("snapshot.json")` to test against real network state. Also useful for upgrade rehearsals: `stellar contract fetch --id C... --out-file deployed.wasm`, register both old and new versions, compare behavior. [Docs](https://developers.stellar.org/docs/build/guides/testing/fork-testing) +- **Mutation testing**: `cargo install --locked cargo-mutants && cargo mutants` — mutates your source and reports `MISSED` where tests didn't notice. [Docs](https://developers.stellar.org/docs/build/guides/testing/mutation-testing) + +## Resource profiling + +```bash +stellar contract invoke --id CONTRACT_ID --source alice --network testnet \ + --send=no -- function_name --arg value +``` + +Simulation reports CPU instructions, ledger reads/writes, and fees without submitting. + +## CI + +```yaml +name: Test contracts +on: [push, pull_request] +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: rustup target add wasm32-unknown-unknown + - run: cargo test + - run: cargo build --release --target wasm32-unknown-unknown +``` + +For integration jobs, run `stellar/quickstart` as a service container and deploy with the CLI (`cargo install stellar-cli --locked`). + +## Checklist + +- [ ] Unit tests cover all public functions, including error paths +- [ ] Edge cases: zero amounts, max values, empty state +- [ ] Authorization verified with `env.auths()` or specific `mock_auths` +- [ ] Events asserted +- [ ] Storage TTL behavior validated +- [ ] Cross-contract interactions tested against real WASM +- [ ] Fuzz targets for value-moving paths (deposit, withdraw, swap) +- [ ] Property tests for invariants +- [ ] Test snapshots committed +- [ ] Integration test against local network in CI +- [ ] Testnet rehearsal before mainnet + + +--- + +# Security + +Security review guide for Stellar smart contracts. Companion to [SKILL.md](#stellar-smart-contracts), [development.md](#development-patterns), and [testing.md](#testing). + +## Threat model + +Assume the attacker controls: + +- All arguments passed to contract functions +- Transaction ordering and timing +- All accounts except those requiring signatures +- The ability to deploy contracts that mimic your interface + +## What the platform rules out + +- **No `delegatecall`** — contracts cannot execute foreign bytecode in their own context; proxy-style hijacks don't exist. +- **No classical reentrancy** — execution is synchronous; the Ethereum-style cross-contract reentrancy class is absent (self-reentrancy is possible but rarely exploitable). +- **Explicit authorization** — `require_auth()` is opt-in, which means *forgetting it* is the failure mode to hunt for. + +## Vulnerability classes + +### 1. Missing authorization + +```rust +// BAD: anyone can drain +pub fn withdraw(env: Env, to: Address, amount: i128) { + transfer_tokens(&env, &to, amount); +} + +// GOOD +pub fn withdraw(env: Env, to: Address, amount: i128) { + let admin: Address = env.storage().instance().get(&DataKey::Admin).unwrap(); + admin.require_auth(); + transfer_tokens(&env, &to, amount); +} +``` + +Every privileged path needs `require_auth()` on the right address. Auth variants: [development.md](#authorization). + +### 2. Reinitialization attacks + +Only relevant if you use a guarded `initialize` instead of a `__constructor` (which can't re-run): + +```rust +// GOOD: refuses second call +pub fn initialize(env: Env, admin: Address) { + if env.storage().instance().has(&DataKey::Admin) { + panic!("already initialized"); + } + env.storage().instance().set(&DataKey::Admin, &admin); +} +``` + +### 3. Arbitrary contract calls + +Calling whatever address a user passes lets an attacker substitute a contract that mimics the interface: + +```rust +// GOOD: allowlist external contracts +pub fn swap(env: Env, token: Address, amount: i128) { + let allowed: Vec
= env.storage().instance().get(&DataKey::AllowedTokens).unwrap(); + if !allowed.contains(&token) { + panic!("token not allowed"); + } + let client = token::Client::new(&env, &token); + // ... +} +``` + +### 4. Integer overflow/underflow + +`overflow-checks = true` in the release profile catches overflows at runtime (panic), but explicit checked math fails cleaner and survives profile mistakes: + +```rust +let new_balance = balance.checked_add(amount).expect("overflow"); +``` + +Also validate sign and range on inputs (`amount <= 0` checks) — `i128` amounts can be negative. + +### 5. Storage key collisions + +Untyped keys can silently overwrite unrelated data. Always use a `#[contracttype]` key enum — see [development.md](#typed-storage-keys). + +### 6. Check-then-act races + +State can change between transactions. Do checks and state changes atomically within one invocation, and take slippage bounds (`min_out`) from the caller: + +```rust +pub fn swap(env: Env, user: Address, amount_in: i128, min_out: i128) { + user.require_auth(); + let amount_out = calculate_output(amount_in); + if amount_out < min_out { + panic!("slippage exceeded"); + } + // update all state in this same invocation +} +``` + +### 7. TTL/archival failures + +If critical state expires, the contract breaks (or worse, behaves as if state never existed). Extend TTLs in hot paths and monitor entry TTLs in production — see [development.md](#ttl-management). + +### 8. Trusting cross-contract return values + +Validate data from external contracts — allowlist oracles, sanity-check magnitudes, enforce freshness: + +```rust +let price: i128 = oracle_client.get_price(&asset); +if price <= 0 || price > MAX_REASONABLE_PRICE { + panic!("invalid price"); +} +``` + +## Classic-side risks (for contracts touching assets) + +- **Trustline spoofing**: display and verify full asset code + issuer; honor curated lists (`stellar.toml`). +- **Clawback**: assets with `auth_clawback_enabled` can be seized by the issuer — check issuer flags before treating balances as final. +- Asset semantics live in `/.well-known/agent-skills/assets/skill.md`. + +## Checklists + +### Contract + +- [ ] All privileged functions require appropriate authorization +- [ ] Initialization can only happen once (or uses `__constructor`) +- [ ] External contract calls validated/allowlisted +- [ ] Arithmetic checked; input signs and ranges validated +- [ ] Storage keys typed and collision-free +- [ ] Critical TTLs extended proactively; archival behavior considered +- [ ] Events emitted for auditable state changes +- [ ] Upgrade path gated, tested (happy + failure), and replay-safe +- [ ] Emergency controls (pause) and incident runbook defined for value-bearing contracts + +### Client-side + +- [ ] Network passphrase validated before signing +- [ ] Transactions simulated before submission +- [ ] Operation details displayed clearly; confirmation for high-value actions +- [ ] Contract addresses verified against known deployments +- [ ] Trustline status checked before transfers + +## Tooling + +**Static analysis** + +- [Scout](https://github.com/CoinFabrik/scout-soroban) (CoinFabrik): `cargo install cargo-scout-audit && cargo scout-audit` — 20+ detectors (missing overflow checks, unprotected WASM update, unrestricted transfers, unsafe unwrap, DoS-unbounded ops). SARIF output for CI; VSCode extension available. +- [Security Detectors SDK](https://github.com/OpenZeppelin/soroban-security-detectors-sdk) (OpenZeppelin): pre-built detectors (`auth_missing`, `unchecked_ft_transfer`, improper TTL extension) plus a framework for writing custom ones. + +**Formal verification** + +- [Certora Sunbeam](https://docs.certora.com/en/latest/docs/sunbeam/index.html): specs as Rust macros (`cvlr_assert!`), operates on WASM bytecode. +- [Komet](https://docs.runtimeverification.com/komet) (Runtime Verification): property tests + formal verification via KWasm semantics. + +**Monitoring**: [OpenZeppelin Monitor](https://www.openzeppelin.com/news/monitor-and-relayers-are-now-open-source) — self-hosted contract monitoring with Stellar support. + +**Knowledge base**: [sorobansecurity.com](https://sorobansecurity.com) — searchable audit reports and vulnerability database. + +## Audits and bounties + +- **[Audit Bank](https://stellar.org/grants-and-funding/soroban-audit-bank)** — SDF-subsidized audits for SCF-funded protocols ($3M+ across 43+ audits to date). Partner firms include OtterSec, Veridise, Runtime Verification, CoinFabrik, Certora, Zellic, Code4rena. Follow-up audits trigger at TVL milestones. +- **[Immunefi — Stellar](https://immunefi.com/bug-bounty/stellar/)** — up to $250K for core/SDK/CLI vulnerabilities (PoC required, local forks only). +- **[Immunefi — OpenZeppelin on Stellar](https://immunefi.com/bug-bounty/openzeppelin-stellar/)** — up to $25K for the audited contracts library. + +Before requesting an audit: run the static analyzers, complete the checklists above, document your threat model and trust assumptions, and have the test suite from [testing.md](#testing) green — auditors' time is better spent on logic than on lint. diff --git a/.mintlify/skills/standards/SKILL.md b/.mintlify/skills/standards/SKILL.md new file mode 100644 index 000000000..390d893e5 --- /dev/null +++ b/.mintlify/skills/standards/SKILL.md @@ -0,0 +1,864 @@ +--- +name: standards +description: Stellar standards, ecosystem, and reference. Covers SEPs (Stellar Ecosystem Proposals), CAPs (Core Advancement Proposals), and a quick map for picking the right standard for wallets, anchors, payments, deposits/withdrawals, federation, deep links, and KYC. Also bundles ecosystem references (DeFi protocols, dev tools, wallets, infra, community projects) and curated documentation links. Use when you need to know which SEP applies, or want a starting point for ecosystem integrations and official docs. +user-invocable: true +argument-hint: "[standards or ecosystem lookup]" +--- + +# Standards, Ecosystem, and Resources + +Three things bundled because they're all reference material you reach for in the same moment: "which standard handles X?", "is there an existing project doing Y?", and "where's the canonical doc for Z?". + +## When to use this skill +- Picking the right SEP for an integration (anchors, deposits, federation, deep links, KYC, paths) +- Checking CAP status for a protocol feature you want to rely on +- Finding existing DeFi protocols, wallets, or infrastructure to integrate with rather than rebuild +- Locating official docs, SDKs, or community resources + +## Related skills +- Implementing a SEP-41 token interface → `/.well-known/agent-skills/assets/skill.md`, `/.well-known/agent-skills/smart-contracts/skill.md` +- Frontend SEP-7 / SEP-10 flows → `/.well-known/agent-skills/dapp/skill.md` +- CAPs for cryptography (BLS, BN254, Poseidon) → `/.well-known/agent-skills/zk-proofs/skill.md` +- x402/MPP protocol context → `/.well-known/agent-skills/agentic-payments/skill.md` + +--- + +# Part 1: SEP / CAP Standards Reference + + +## When to use this guide +Use this when you need: +- The right SEP/CAP for a feature or integration +- Interoperability guidance for wallets, anchors, and contracts +- A fast map from use case to official standards docs + +## Maintenance note +Standards status can change quickly. +Before implementation, verify current status in: +- SEPs: [stellar-protocol/ecosystem](https://github.com/stellar/stellar-protocol/tree/master/ecosystem) +- CAPs: [stellar-protocol/core](https://github.com/stellar/stellar-protocol/tree/master/core) + +Treat this file as a routing map, not a source of final governance/status truth. + +## High-value SEPs for app developers + +### Contracts and token interfaces +- [SEP-0041](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0041.md): Soroban token interface +- [SEP-0046](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0046.md): Contract metadata in Wasm +- [SEP-0048](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0048.md): Contract interface specification +- [SEP-0049](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0049.md): Upgradeable-contract guidance +- [SEP-0050](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0050.md): NFT standard work +- [SEP-0055](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0055.md): Contract build verification +- [SEP-0056](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0056.md): Vault-style tokenized products +- [SEP-0057](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0057.md): Regulated token patterns (T-REX) + +### Auth, identity, and metadata +- [SEP-0010](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md): Web authentication +- [SEP-0023](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0023.md): StrKey encoding +- [SEP-0001](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md): `stellar.toml` + +### Anchor and fiat integration +- [SEP-0006](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md): Programmatic deposit/withdrawal API +- [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md): Hosted interactive anchor flow +- [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md): Cross-border payment flow +- [SEP-0012](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md): KYC data exchange + +## High-value CAPs for smart contract developers + +### Smart contract foundations +- [CAP-0046](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0046.md): Soroban overview +- CAP-0046 subdocuments (`cap-0046-*.md`): runtime, lifecycle, host functions, storage, auth, metering + +### Frequently used contract capabilities +- [CAP-0051](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0051.md): secp256r1 verification (passkey-related cryptography) +- [CAP-0053](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0053.md): TTL extension behavior +- [CAP-0058](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0058.md): constructors (`__constructor`) +- [CAP-0059](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0059.md): BLS12-381 primitives +- [CAP-0067](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0067.md): protocol/runtime improvements including asset/event model changes + +### Newer and draft crypto/features +- [CAP-0074](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0074.md): BN254 host functions proposal +- [CAP-0075](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0075.md): Poseidon/Poseidon2 proposal +- [CAP-0079](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0079.md): muxed-address strkey conversion proposal + +Use the CAP preamble status fields as the source of truth for implementation readiness. + +## Quick mapping by use case + +### I am building a fungible token +1. Start with SEP-0041 interface expectations. +2. Prefer Stellar Assets + SAC interop unless custom logic is required. +3. If regulated, review SEP-0057 patterns. + +### I need upgrade-safe contracts +1. Read SEP-0049 guidance for upgrade process design. +2. Use CAP-0058 constructors for atomic initialization where protocol support exists. +3. Add migration/versioning strategy before deploying upgradeable contracts. + +### I am building a smart-wallet flow +1. Use SEP-0010 for web authentication flows. +2. Review CAP-0051 for passkey-related cryptographic primitives. +3. Align wallet UX and signing payloads with current SDK guidance. + +### I need anchor integration for fiat rails +1. SEP-0006 for API-first flows. +2. SEP-0024 for hosted interactive rails. +3. SEP-0031 when supporting payment corridors. +4. SEP-0012 for KYC data requirements. + +## Practical workflow for AI agents +- Step 1: Identify feature category (token, wallet auth, anchor, upgradeability). +- Step 2: Link user to the 1-3 primary SEP/CAP docs. +- Step 3: Check status/acceptance in the source repo before asserting support. +- Step 4: Implement only what is active on the target network/protocol. +- Step 5: Document dependencies on draft standards explicitly. + +## Related docs +- Contract implementation details: [`/.well-known/agent-skills/smart-contracts/skill.md`](/.well-known/agent-skills/smart-contracts/skill.md) +- Advanced architecture guidance: [`/.well-known/agent-skills/smart-contracts/skill.md#development-patterns`](/.well-known/agent-skills/smart-contracts/skill.md#development-patterns) +- RPC and data access: [`/.well-known/agent-skills/data/skill.md`](/.well-known/agent-skills/data/skill.md) +- Security considerations: [`/.well-known/agent-skills/smart-contracts/skill.md#security`](/.well-known/agent-skills/smart-contracts/skill.md#security) + +--- + +# Part 2: Stellar Ecosystem + + +This guide catalogs the major projects, protocols, and tools in the Stellar ecosystem. Use this as a reference when building on Stellar to find relevant integrations, examples, and community projects. + +> **Canonical directories** — For the most up-to-date project lists, check: +> - [Stellar Ecosystem](https://stellar.org/ecosystem) — Official directory (searchable by country, asset, category) +> - [SCF Projects](https://communityfund.stellar.org/projects) — Funded projects with status tracking +> - [Stellar on DefiLlama](https://defillama.com/chain/stellar) — Live DeFi TVL data +> +> Treat project metrics/status as volatile. Validate latest activity and production readiness before taking dependencies. + +## DeFi Protocols + +### Lending & Borrowing + +#### Blend Protocol +Universal liquidity protocol enabling permissionless lending pools. +- **Use Case**: Lending, borrowing, yield generation +- **GitHub**: https://github.com/blend-capital/blend-contracts +- **GitHub (v2)**: https://github.com/blend-capital/blend-contracts-v2 +- **Integrations**: Meru, Airtm, Lobstr, DeFindex, Beans + +#### Slender +First non-custodial lending protocol on Stellar with flash loan support. +- **Use Case**: Lending, borrowing, flash loans +- **Features**: Pool-based strategy, sTokens, dTokens, utilization caps +- **Oracle**: SEP-40 compatible (Reflector) + +### DEXs & AMMs + +#### Soroswap +First DEX and aggregator on Stellar. +- **Use Case**: Token swaps, liquidity provision, aggregation +- **Website**: https://soroswap.finance +- **GitHub (Core)**: https://github.com/soroswap/core +- **GitHub (Frontend)**: https://github.com/soroswap/frontend +- **GitHub (Aggregator)**: https://github.com/soroswap/aggregator +- **Docs**: https://docs.soroswap.finance +- **Features**: AMM + DEX aggregator across Aqua, Phoenix, Stellar Classic DEX + +#### Aquarius / AQUA Network +Governance-driven liquidity layer with AMM functionality. +- **Use Case**: Liquidity incentives, AMM, governance +- **Website**: https://aqua.network +- **GitHub**: https://github.com/AquaToken/soroban-amm +- **GitHub (Org)**: https://github.com/AquaToken +- **Token**: AQUA (governance + rewards) +- **Docs**: https://docs.aqua.network + +#### Phoenix Protocol +AMM protocol on Stellar. +- **GitHub**: https://github.com/Phoenix-Protocol-Group +- **Use Case**: Token swaps, liquidity pools + +### Yield & Vaults + +#### DeFindex +Yield aggregation and vault infrastructure by PaltaLabs. +- **Use Case**: Tokenized vaults, yield strategies, DeFi abstraction +- **Docs**: https://docs.defindex.io +- **Features**: Automated rebalancing, vault management, Blend integration + +### Stablecoins & CDPs + +#### Orbit CDP Protocol +Collateralized stablecoin issuance (USD, EUR, MXN). +- **Use Case**: Mint stablecoins against XLM/bond collateral +- **Docs**: https://docs.orbitcdp.finance +- **Features**: Multi-currency stablecoins, Pegkeeper automation, Blend integration + +## Wallets + +### Browser Extensions + +#### Freighter +SDF's flagship non-custodial browser wallet. +- **Website**: https://freighter.app +- **Docs**: https://docs.freighter.app +- **GitHub**: https://github.com/stellar/freighter +- **GitHub (Mobile)**: https://github.com/stellar/freighter-mobile +- **API**: https://github.com/stellar/freighter/tree/master/library/freighter-api +- **Features**: Smart contract support, mobile apps (iOS/Android), Discover browser + +#### xBull +Feature-rich browser wallet with advanced capabilities. +- **Website**: https://xbull.app +- **Features**: Multi-account, hardware wallet support + +#### Albedo +Lightweight web-based wallet and signing provider. +- **Website**: https://albedo.link +- **Use Case**: Web authentication, transaction signing + +#### Rabet +Browser extension wallet for Stellar. +- **Website**: https://rabet.io + +#### Hana Wallet +Modern Stellar wallet with DeFi features. +- **Website**: https://hana.network + +### Mobile Wallets + +#### LOBSTR +Most popular Stellar mobile wallet. +- **Website**: https://lobstr.co +- **Platforms**: iOS, Android, Web +- **Features**: DEX trading, multisig, 2FA, asset discovery + +#### Beans +Payments platform with yield features. +- **Use Case**: Payments, earning (via DeFindex/Blend) +- **Features**: Non-custodial yield generation + +### Multi-Wallet Integration + +#### Stellar Wallets Kit +SDK for integrating multiple Stellar wallets. +- **GitHub**: https://github.com/Creit-Tech/Stellar-Wallets-Kit +- **Supports**: Freighter, LOBSTR, xBull, Albedo, Rabet, Hana, Ledger, Trezor, WalletConnect + +## Developer Tools + +### Smart Account & Authentication + +#### Smart Account Kit (Recommended) +Comprehensive TypeScript SDK for OpenZeppelin Smart Accounts on Stellar. +- **GitHub**: https://github.com/kalepail/smart-account-kit +- **Use Case**: Production smart wallets with passkeys +- **Built On**: [OpenZeppelin stellar-contracts](https://github.com/OpenZeppelin/stellar-contracts) +- **Features**: + - Context rules with fine-grained authorization scopes + - Policy support (threshold multisig, spending limits, custom policies) + - Session management with automatic credential persistence + - External wallet adapter support (Freighter, LOBSTR, etc.) + - Built-in indexer for contract discovery + - Multiple signer types (passkeys, Ed25519, policies) + +#### Passkey Kit (Legacy) +Original TypeScript SDK for passkey-based smart wallets. +- **GitHub**: https://github.com/kalepail/passkey-kit +- **Status**: Legacy - use Smart Account Kit for new projects +- **Use Case**: Simple passkey wallet integration +- **Integration**: OpenZeppelin Relayer (gasless tx), Mercury (indexing) +- **Demo**: [passkey-kit-demo.pages.dev](https://passkey-kit-demo.pages.dev) +- **Example**: [Super Peach](https://github.com/kalepail/superpeach) + +#### OpenZeppelin Relayer +Service for fee-sponsored transaction submission. +- **Docs**: https://docs.openzeppelin.com/relayer +- **Use Case**: Gasless transactions, fee sponsoring + +### Data Indexing + +For a full directory of indexing options, see [Stellar Indexer Docs](https://developers.stellar.org/docs/data/indexers). + +#### Mercury +Stellar-native data indexing platform with Retroshades technology. +- **Website**: https://mercurydata.app +- **Docs**: https://docs.mercurydata.app +- **Use Case**: Event indexing, data queries, automation +- **Features**: Zephyr VM (serverless Rust execution at ledger close), GraphQL API + +#### SubQuery +Multi-chain indexer supporting Stellar. +- **Website**: https://subquery.network +- **Quick Start**: https://subquery.network/doc/indexer/quickstart/quickstart_chains/stellar.html +- **Features**: Block/transaction/operation/event handlers, multi-threading, 300+ chains + +#### Goldsky +Real-time data replication and subgraph platform. +- **Website**: https://goldsky.com +- **Docs**: https://docs.goldsky.com/chains/stellar +- **Features**: Mirror (real-time pipelines), subgraphs, on-chain + off-chain data + +#### Zephyr VM +Cloud execution environment for blockchain data processing. +- **GitHub**: https://github.com/xycloo/zephyr-vm +- **Use Case**: Indexing, monitoring, automation +- **Features**: Self-hostable, ledger-close execution + +### Contract Libraries + +#### OpenZeppelin Stellar Contracts +Audited smart contract library for Stellar (track latest release tags before pinning versions). +- **GitHub**: https://github.com/OpenZeppelin/stellar-contracts +- **Docs**: https://developers.stellar.org/docs/tools/openzeppelin-contracts +- **Contract Wizard**: https://wizard.openzeppelin.com/stellar +- **Includes**: Tokens (fungible/NFT), governance (timelock), vaults (SEP-56), access control, fee forwarder +- **Crates**: `stellar-tokens`, `stellar-access`, `stellar-contract-utils` + +### Security Tools + +#### Scout Soroban (CoinFabrik) +Open-source vulnerability detector with 23 detectors for Stellar smart contracts. +- **GitHub**: https://github.com/CoinFabrik/scout-soroban +- **Install**: `cargo install cargo-scout-audit` +- **Features**: CLI tool, VSCode extension, SARIF output for CI/CD +- **Examples**: https://github.com/CoinFabrik/scout-soroban-examples + +#### OpenZeppelin Security Detectors SDK +Framework for building custom security detectors for Stellar contracts. +- **GitHub**: https://github.com/OpenZeppelin/soroban-security-detectors-sdk +- **Detectors**: `auth_missing`, `unchecked_ft_transfer`, improper TTL, contract panics +- **Extensible**: Load external detector libraries, CI/CD ready + +#### Certora Sunbeam Prover +Formal verification for Stellar smart contracts — first WASM platform supported by Certora. +- **Docs**: https://docs.certora.com/en/latest/docs/sunbeam/index.html +- **Spec Language**: CVLR (Rust macros) — https://github.com/Certora/cvlr +- **Reports**: [Blend V1 verification](https://www.certora.com/reports/blend-smart-contract-verification-report) +- **Verifies at**: WASM bytecode level, eliminating compiler trust assumptions + +#### Runtime Verification — Komet +Formal verification and testing tool designed for Stellar smart contracts (SCF-funded). +- **Docs**: https://docs.runtimeverification.com/komet +- **Repo**: https://github.com/runtimeverification/komet +- **Spec Language**: Rust — property-based tests written in the same language as the contracts +- **Operates at**: WASM bytecode level via [KWasm semantics](https://github.com/runtimeverification/wasm-semantics) (eliminates compiler trust assumptions) +- **Features**: Fuzzing, testing, formal verification +- **Reports**: https://github.com/runtimeverification/publications +- **Example**: [TokenOps audit and verification report](https://github.com/runtimeverification/publications/blob/main/reports/smart-contracts/TokenOps.pdf) +- **Blog**: [Introducing Komet](https://runtimeverification.com/blog/introducing-komet-smart-contract-testing-and-verification-tool-for-soroban-created-by-runtime-verification) + +#### Soroban Security Portal (Inferara) +Community security knowledge base (SCF-funded). +- **Website**: https://sorobansecurity.com +- **Features**: Searchable audit reports, vulnerability database, best practices + +### CLI & SDKs + +#### Stellar CLI +Official command-line interface for Stellar. +- **Docs**: https://developers.stellar.org/docs/tools/stellar-cli +- **Features**: Contract build, deploy, invoke, bindings generation + +#### Stellar SDK (JavaScript) +Official JavaScript/TypeScript SDK. +- **GitHub**: https://github.com/stellar/js-stellar-sdk +- **npm**: `@stellar/stellar-sdk` + +#### Soroban Rust SDK +Rust SDK for smart contract development. +- **GitHub**: https://github.com/stellar/rs-soroban-sdk +- **Crate**: `soroban-sdk` + +## Oracles + +#### Reflector Network +Community-powered price oracle for Stellar. +- **Website**: https://reflector.network +- **Docs**: https://developers.stellar.org/docs/data/oracles/oracle-providers +- **Features**: SEP-40 compatible, on-chain/off-chain prices, webhooks +- **Integrations**: Blend, OrbitCDP, DeFindex, EquitX, Slender + +#### DIA Oracle +Cross-chain oracle with 20,000+ asset support. +- **Website**: https://diadata.org +- **Blog**: https://www.diadata.org/blog/post/soroban-stellar-oracle-dia/ +- **Features**: VWAPIR methodology, custom feeds + +#### Band Protocol +Cross-chain data oracle on BandChain. +- **Website**: https://bandprotocol.com +- **Architecture**: Cosmos SDK-based, cross-chain + +## Gaming & NFTs + +#### Litemint +NFT marketplace and gaming platform. +- **GitHub**: https://github.com/litemint/litemint-soroban-contracts +- **Contracts**: Timed auctions, royalty payments +- **Features**: Open/sealed bids, ascending/descending price, buy-now + +## Infrastructure + +### Anchors & On/Off Ramps + +#### Stellar Ramps +Suite of open standards for fiat-crypto bridges. +- **Docs**: https://stellar.org/use-cases/ramps +- **SEPs**: SEP-6, SEP-24, SEP-31 (deposits/withdrawals/cross-border) + +#### Anchor Platform +SDF-maintained platform for building SEP-compliant anchors. +- **Docs**: https://developers.stellar.org/docs/learn/fundamentals/anchors +- **GitHub**: https://github.com/stellar/java-stellar-anchor-sdk + +### Block Explorers + +#### StellarExpert +Comprehensive network explorer with analytics. +- **Website**: https://stellar.expert +- **Features**: Transactions, accounts, assets, contracts + +#### Stellar Lab +Developer tools and transaction builder. +- **Website**: https://lab.stellar.org + +#### StellarChain +Alternative explorer with contract support. +- **Website**: https://stellarchain.io + +### Disbursements + +#### Stellar Disbursement Platform (SDP) +Bulk payment infrastructure for enterprises. +- **Docs**: https://developers.stellar.org/docs/category/use-the-stellar-disbursement-platform +- **GitHub**: https://github.com/stellar/stellar-disbursement-platform +- **Use Case**: Mass payments, aid distribution, payroll + +## Example Repositories + +### Official Examples + +#### Soroban Examples +Official educational smart contract examples. +- **GitHub**: https://github.com/stellar/soroban-examples +- **Includes**: Tokens, atomic swaps, auth, events, liquidity pools, timelock, deployer, merkle distribution + +#### Soroban Example dApp +Crowdfunding dApp with Next.js frontend. +- **GitHub**: https://github.com/stellar/soroban-example-dapp +- **Learning**: Full-stack contract development, Freighter integration + +### Community Examples + +#### Soroban Guide (Xycloo) +Learning resources and example contracts. +- **GitHub**: https://github.com/xycloo/soroban-guide +- **Includes**: Events, rock-paper-scissors, vaults, Dutch auctions + +#### Soroban Contracts (icolomina) +Governance and investment contract examples. +- **GitHub**: https://github.com/icolomina/soroban-contracts +- **Includes**: Ballot voting, investment contracts, multisig + +#### Oracle Example +Publisher-subscriber oracle pattern. +- **GitHub**: https://github.com/FredericRezeau/soroban-oracle-example +- **Uses**: soroban-kit oracle module + +#### OZ Stellar NFT +Simple NFT using OpenZeppelin. +- **GitHub**: https://github.com/jamesbachini/OZ-Stellar-NFT + +## Cross-Chain + +#### Axelar +Cross-chain gateway and Interchain Token Service for Stellar. +- **GitHub**: https://github.com/axelarnetwork/axelar-amplifier-stellar +- **Use Case**: Cross-chain messaging, token bridging, interoperability +- **Status**: Active development (verify latest activity before integrating) + +#### Allbridge Core +Cross-chain stable swap bridge (Stellar is 10th supported chain). +- **Use Case**: Cross-chain stablecoin transfers (USDC between Stellar, Base, Arbitrum, etc.) +- **Features**: Automatic Stellar account activation, liquidity pools + +#### LayerZero +Omnichain interoperability protocol with Stellar support. +- **Use Case**: Cross-chain messaging, token bridging (OFT/ONFT), dApp interoperability +- **Features**: OApp standard, Omni-Chain Fungible Tokens, native issuer minting/burning control + +## Builder Teams & Companies + +Notable teams shipping production-level code on Stellar. For a broader directory, see [Stellar Ecosystem](https://stellar.org/ecosystem). + +| Team | Website | GitHub | X/Twitter | Notable Projects | +|------|---------|--------|-----------|-----------------| +| **Lightsail Network** | [lightsail.network](https://lightsail.network) | [lightsail-network](https://github.com/lightsail-network) | [@overcat_me](https://x.com/overcat_me) | Quasar RPC, Java/Python SDKs, Ledger app, validators | +| **PaltaLabs** | [paltalabs.io](https://paltalabs.io) | [paltalabs](https://github.com/paltalabs) | [@PaltaLabs](https://x.com/PaltaLabs) | Soroswap, DeFindex | +| **Aha Labs** | [ahalabs.dev](https://ahalabs.dev) | [AhaLabs](https://github.com/AhaLabs) | [@AhaLabsDev](https://x.com/AhaLabsDev) | Scaffold Stellar, Soroban CLI contributions | +| **OpenZeppelin** | [openzeppelin.com](https://www.openzeppelin.com/networks/stellar) | [OpenZeppelin](https://github.com/OpenZeppelin/stellar-contracts) | [@OpenZeppelin](https://x.com/OpenZeppelin) | Contracts library, Relayer, Monitor, Security Detectors SDK | +| **Cheesecake Labs** | [cheesecakelabs.com](https://cheesecakelabs.com) | [CheesecakeLabs](https://github.com/CheesecakeLabs) | [@CheesecakeLabs](https://x.com/CheesecakeLabs) | Stellar Plus library | +| **Script3 / Blend Capital** | [script3.io](https://script3.io) | [script3](https://github.com/script3), [blend-capital](https://github.com/blend-capital) | [@script3official](https://x.com/script3official) | Blend Protocol | +| **Xycloo Labs** | [xycloo.com](https://xycloo.com) | [Xycloo](https://github.com/Xycloo) | [@heytdep](https://x.com/heytdep) | Mercury indexer, Zephyr VM | +| **CoinFabrik** | [coinfabrik.com](https://www.coinfabrik.com) | [CoinFabrik](https://github.com/CoinFabrik) | [@coinfabrik](https://x.com/coinfabrik) | Scout Soroban (static analysis) | +| **Creit Tech** | [creit.tech](https://creit.tech) | [Creit-Tech](https://github.com/Creit-Tech) | [@CreitTech_](https://x.com/CreitTech_) | Stellar Wallets Kit, xBull, SorobanHub | +| **Ultra Stellar** | [ultrastellar.com](https://ultrastellar.com) | [lobstrco](https://github.com/lobstrco) | [@Lobstrco](https://x.com/Lobstrco) | LOBSTR wallet, StellarExpert | + +## Project Directories + +### Official Directories + +#### Stellar Ecosystem Directory +The canonical, up-to-date project directory maintained by SDF. +- **Website**: https://stellar.org/ecosystem +- **Features**: Search by country, asset, category +- **Includes**: DeFi, wallets, anchors, on/off ramps, exchanges, infrastructure + +#### SCF Project Tracker +All Stellar Community Fund–funded projects with status and milestones. +- **Website**: https://communityfund.stellar.org/projects + +### Funding Programs + +#### Stellar Community Fund (SCF) +Grants up to $150K per funding round. +- **Website**: https://communityfund.stellar.org +- **Funded**: 100+ projects across DeFi, NFT, GameFi, Web3 + +#### Soroban Audit Bank +Security audit funding for SCF projects. +- **Website**: https://stellar.org/grants-and-funding/soroban-audit-bank +- **Features**: Pre-negotiated audit rates, readiness checklist + +## Real-World Assets + +### Major Issuers on Stellar +- **Franklin Templeton**: Regulated fund tokens +- **Ondo**: Tokenized real estate +- **RedSwan**: $100M commercial real estate +- **Centrifuge**: Yield-generating tokens +- **WisdomTree**: Asset-backed tokens + +### Stablecoins +- **USDC** (Circle): Primary USD stablecoin +- **EURC** (Circle): EUR stablecoin +- **PYUSD** (PayPal): Verify current issuance and distribution details before launch planning + +## Enterprise Integrations + +Major companies building on Stellar: +- **PayPal**: PYUSD stablecoin +- **Visa**: Settlement infrastructure +- **Mastercard**: Payment rails +- **Wirex**: USDC/EURC settlement +- **U.S. Bank**: Custom stablecoin testing +- **PwC**: Stablecoin exploration + +--- + +# Part 3: Curated Resources + + +## Official Documentation + +### Stellar Developer Docs +- [Stellar Documentation](https://developers.stellar.org/docs) - Primary documentation +- [Build Smart Contracts](https://developers.stellar.org/docs/build/smart-contracts) - smart contract guides +- [Build Apps](https://developers.stellar.org/docs/build/apps) - Client application guides +- [Tools & SDKs](https://developers.stellar.org/docs/tools) - Available tooling +- [Networks](https://developers.stellar.org/docs/networks) - Network configuration +- [Learn Fundamentals](https://developers.stellar.org/docs/learn/fundamentals) - Core concepts +- [Security Best Practices](https://developers.stellar.org/docs/build/security-docs) + +### API References +- [Stellar RPC Methods](https://developers.stellar.org/docs/data/apis/rpc/api-reference/methods) - RPC API +- [Horizon API](https://developers.stellar.org/docs/data/apis/horizon/api-reference) - REST API (legacy-focused) +- [Oracle Providers](https://developers.stellar.org/docs/data/oracles/oracle-providers) + +## SDKs + +### Client SDKs (Application Development) +- [JavaScript SDK](https://github.com/stellar/js-stellar-sdk) - `@stellar/stellar-sdk` +- [Python SDK](https://github.com/StellarCN/py-stellar-base) - `stellar-sdk` +- [Java SDK](https://github.com/lightsail-network/java-stellar-sdk) - `network.lightsail:stellar-sdk` (Lightsail Network) +- [Go SDK](https://github.com/stellar/go-stellar-sdk) - `txnbuild`, Horizon & RPC clients +- [Rust SDK (RPC Client)](https://github.com/stellar/rs-stellar-rpc-client) +- [SDK Documentation](https://developers.stellar.org/docs/tools/sdks/client-sdks) + +### Contract SDK (Rust) +- [Soroban Rust SDK](https://github.com/stellar/rs-soroban-sdk) - `soroban-sdk` +- [Soroban SDK Docs](https://docs.rs/soroban-sdk/latest/soroban_sdk/) - Rust docs + +## CLI Tools + +### Stellar CLI +- [Stellar CLI Repository](https://github.com/stellar/stellar-cli) +- [CLI Installation](https://developers.stellar.org/docs/tools/stellar-cli) +- [CLI Commands Reference](https://developers.stellar.org/docs/tools/stellar-cli/stellar-cli-commands) + +### Scaffold Stellar +- [Scaffold Stellar](https://scaffoldstellar.org) - Full-stack dApp scaffolding (contracts + React/Vite/TS frontend) +- [Scaffold Docs](https://developers.stellar.org/docs/tools/scaffold-stellar) - Official documentation +- [GitHub](https://github.com/theahaco/scaffold-stellar) - Open source (Apache 2.0) + +### Quickstart (Local Development) +- [Quickstart Docker](https://github.com/stellar/quickstart) +- [Quickstart Guide](https://developers.stellar.org/docs/tools/quickstart) + +## Contract Libraries & Tools + +### OpenZeppelin Stellar Contracts +- [OpenZeppelin Contracts](https://github.com/OpenZeppelin/stellar-contracts) +- [Documentation](https://developers.stellar.org/docs/tools/openzeppelin-contracts) +- [Contract Wizard](https://wizard.openzeppelin.com/stellar) - Generate contracts + +### Smart Account SDKs +- [Smart Account Kit](https://github.com/kalepail/smart-account-kit) - Production smart wallet SDK (recommended) +- [Passkey Kit](https://github.com/kalepail/passkey-kit) - Legacy passkey wallet SDK +- [Super Peach](https://github.com/kalepail/superpeach) - Smart wallet implementation example + +### Developer Tools +- [Stellar Wallets Kit](https://github.com/Creit-Tech/Stellar-Wallets-Kit) - Multi-wallet integration +- [OpenZeppelin Relayer](https://docs.openzeppelin.com/relayer) - Fee-sponsored transactions + +## Example Repositories + +### Official Examples +- [Soroban Examples](https://github.com/stellar/soroban-examples) - Core contract patterns +- [Soroban Example dApp](https://github.com/stellar/soroban-example-dapp) - Crowdfunding Next.js app +- [Stellar Repositories](https://github.com/orgs/stellar/repositories) + +### Community Examples +- [Scout Soroban Examples](https://github.com/CoinFabrik/scout-soroban-examples) - Security-audited examples +- [Soroban Guide (Xycloo)](https://github.com/xycloo/soroban-guide) - Learning resources +- [Soroban Contracts (icolomina)](https://github.com/icolomina/soroban-contracts) - Governance examples +- [Oracle Example](https://github.com/FredericRezeau/soroban-oracle-example) - Pub-sub oracle pattern +- [OZ Stellar NFT](https://github.com/jamesbachini/OZ-Stellar-NFT) - Simple NFT with OpenZeppelin + +## Ecosystem Projects + +For DeFi protocols, wallets, oracles, gaming/NFTs, cross-chain bridges, and builder teams, see Part 2: Stellar Ecosystem below. + +## Security + +For vulnerability patterns, checklists, and detailed tooling guides, see [the smart contract security guide](/.well-known/agent-skills/smart-contracts/skill.md#security). + +### Bug Bounty Programs +- [Stellar Bug Bounty (Immunefi)](https://immunefi.com/bug-bounty/stellar/) - Up to $250K, covers core + smart contract stack +- [OpenZeppelin Stellar Bounty (Immunefi)](https://immunefi.com/bug-bounty/openzeppelin-stellar/) - Up to $25K +- [HackerOne VDP](https://stellar.org/grants-and-funding/bug-bounty) - Web application vulnerabilities + +### Audit Bank & Audit Firms +- [Soroban Audit Bank](https://stellar.org/grants-and-funding/soroban-audit-bank) - $3M+ deployed, 43+ audits +- [Audited Projects List](https://stellar.org/audit-bank/projects) - Public audit registry +- Partners: OtterSec, Veridise, Runtime Verification, CoinFabrik, QuarksLab, Coinspect, Certora, Halborn, Zellic, Code4rena + +### Static Analysis +- [Scout Soroban](https://github.com/CoinFabrik/scout-soroban) - 23 vulnerability detectors, VSCode extension +- [OZ Security Detectors SDK](https://github.com/OpenZeppelin/soroban-security-detectors-sdk) - Custom detector framework + +### Formal Verification +- [Certora Sunbeam Prover](https://docs.certora.com/en/latest/docs/sunbeam/index.html) - WASM-level formal verification +- [CVLR Spec Language](https://github.com/Certora/cvlr) - Certora Verification Language for Rust +- [Runtime Verification Komet](https://runtimeverification.com/blog/introducing-komet-smart-contract-testing-and-verification-tool-for-soroban-created-by-runtime-verification) - contract verification tool + +### Security Resources +- [Veridise Security Checklist](https://veridise.com/blog/audit-insights/building-on-stellar-soroban-grab-this-security-checklist-to-avoid-vulnerabilities/) - smart-contract security checklist +- [Soroban Security Portal](https://sorobansecurity.com) - Community vulnerability database +- [CoinFabrik Audit Reports](https://www.coinfabrik.com/smart-contract-audit-reports/) +- [Certora Security Reports](https://github.com/Certora/SecurityReports) - Includes Stellar verifications + +## Zero-Knowledge Proofs (Status-Sensitive) + +For comprehensive ZK development guidance, see [zk-proofs.md](/.well-known/agent-skills/zk-proofs/skill.md). + +Always verify CAP status and network support before treating any ZK primitive as production-available. + +### Protocol & Specifications +- [Protocol upgrades](https://stellar.org/protocol-upgrades) - Upgrade timeline and network context +- [CAP-0074](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0074.md) - BN254 host functions proposal +- [CAP-0075](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0075.md) - Poseidon/Poseidon2 host functions proposal + +### SDK Documentation +- [Soroban SDK BN254 module](https://docs.rs/soroban-sdk/latest/soroban_sdk/crypto/bn254/) - Verify availability in your pinned SDK version +- [Soroban SDK Crypto](https://docs.rs/soroban-sdk/latest/soroban_sdk/crypto/) - Full crypto module reference + +### Proving Systems & Tooling +- [Noir Documentation](https://noir-lang.org/docs/) - Aztec's ZK domain-specific language +- [RISC Zero](https://dev.risczero.com/) - General-purpose zkVM for Rust programs + +### Example Contracts +- [Soroban Examples](https://github.com/stellar/soroban-examples) - Official examples (includes `groth16_verifier`, `privacy-pools`, `import_ark_bn254`) + +## Testing + +### Testing Guides +- [Definitive Guide to Testing Smart Contracts](https://stellar.org/blog/developers/the-definitive-guide-to-testing-smart-contracts-on-stellar) - Comprehensive overview +- [Fuzzing Guide](https://developers.stellar.org/docs/build/guides/testing/fuzzing) - cargo-fuzz + SorobanArbitrary +- [Fuzzing Example Contract](https://developers.stellar.org/docs/build/smart-contracts/example-contracts/fuzzing) +- [Differential Testing](https://developers.stellar.org/docs/build/guides/testing/differential-tests-with-test-snapshots) - Automatic test snapshots +- [Fork Testing](https://developers.stellar.org/docs/build/guides/testing/fork-testing) - Test against production state +- [Mutation Testing](https://developers.stellar.org/docs/build/guides/testing/mutation-testing) - cargo-mutants + +### Local Development +- [Stellar Quickstart](https://github.com/stellar/quickstart) +- [Docker Setup](https://developers.stellar.org/docs/tools/quickstart) + +### Test Networks +- [Testnet Info](https://developers.stellar.org/docs/networks/testnet) +- [Friendbot](https://friendbot.stellar.org) - Testnet faucet + +## Data & Analytics + +### Data Documentation Hub +- [Stellar Data Overview](https://developers.stellar.org/docs/data) - Choose the right tool (APIs, indexers, analytics, oracles) +- [Indexer Directory](https://developers.stellar.org/docs/data/indexers) - All supported indexers +- [RPC Provider Directory](https://developers.stellar.org/docs/data/apis/rpc/providers) - All RPC infrastructure providers + +### Block Explorers +- [StellarExpert](https://stellar.expert) - Network explorer & analytics +- [StellarExpert API](https://stellar.expert/openapi.html) - Free REST API (no auth, CORS-enabled) +- [Stellar Lab](https://lab.stellar.org) - Developer tools +- [StellarChain](https://stellarchain.io) - Alternative explorer + +### Data Indexers +- [Mercury](https://mercurydata.app) - Stellar-native indexer with Retroshades + GraphQL ([docs](https://docs.mercurydata.app)) +- [SubQuery](https://subquery.network) - Multi-chain indexer with Stellar support ([quick start](https://subquery.network/doc/indexer/quickstart/quickstart_chains/stellar.html)) +- [Goldsky](https://goldsky.com) - Real-time data replication pipelines + subgraphs ([Stellar docs](https://docs.goldsky.com/chains/stellar)) +- [Zephyr VM](https://github.com/xycloo/zephyr-vm) - Serverless Rust execution at ledger close + +### Historical Data & Analytics +- [Hubble](https://developers.stellar.org/docs/data/analytics/hubble) - BigQuery dataset (updated every 30 min) +- [Galexie](https://developers.stellar.org/docs/data/indexers/build-your-own/galexie) - Data pipeline for building data lakes +- [Data Lake](https://developers.stellar.org/docs/data/apis/rpc/admin-guide/data-lake-integration) - Powers RPC Infinite Scroll (public via AWS Open Data) + +## Infrastructure + +### Anchors & On/Off Ramps +- [Anchor Platform](https://github.com/stellar/java-stellar-anchor-sdk) +- [Anchor Docs](https://developers.stellar.org/docs/category/anchor-platform) +- [Anchor Fundamentals](https://developers.stellar.org/docs/learn/fundamentals/anchors) +- [Stellar Ramps](https://stellar.org/use-cases/ramps) + +### Disbursements +- [Stellar Disbursement Platform](https://github.com/stellar/stellar-disbursement-platform) +- [SDP Documentation](https://developers.stellar.org/docs/category/use-the-stellar-disbursement-platform) + +### RPC Providers +- [RPC Provider Directory](https://developers.stellar.org/docs/data/apis/rpc/providers) - Full list of providers +- [Quasar (Lightsail Network)](https://quasar.lightsail.network) - Stellar-native RPC, Archive RPC, hosted Galexie Data Lake +- [Blockdaemon](https://www.blockdaemon.com/soroban) - Enterprise RPC +- [Validation Cloud](https://www.validationcloud.io) - Testnet & Mainnet +- [QuickNode](https://www.quicknode.com) - Testnet, Mainnet & Dedicated +- [Ankr](https://www.ankr.com) - Testnet & Mainnet +- [NOWNodes](https://nownodes.io) - All networks incl. Futurenet +- [GetBlock](https://getblock.io) - Testnet & Mainnet + +## Protocol & Governance + +### Stellar Protocol +- [Stellar Protocol Repo](https://github.com/stellar/stellar-protocol) +- [CAPs](https://github.com/stellar/stellar-protocol/tree/master/core) - Core Advancement Proposals +- [SEPs](https://github.com/stellar/stellar-protocol/tree/master/ecosystem) - Stellar Ecosystem Proposals + +### Key SEP Standards +- [SEP-0001](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md) - stellar.toml +- [SEP-0010](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md) - Web Authentication +- [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md) - Hosted Deposit/Withdrawal +- [SEP-0030](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0030.md) - Account Recovery +- [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md) - Cross-Border Payments +- [SEP-0041](https://developers.stellar.org/docs/tokens/token-interface) - Token Interface +- [SEP-0045](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0045.md) - Web Auth for Contract Accounts (Draft) +- [SEP-0046](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0046.md) - Contract Meta (Active) +- [SEP-0048](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0048.md) - Contract Interface Specification (Active) +- [SEP-0050](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0050.md) - Non-Fungible Tokens (Draft) +- [SEP-0056](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0056.md) - Tokenized Vault Standard (Draft, ERC-4626 equivalent) + +### Network Upgrades +- [Protocol Upgrades](https://stellar.org/protocol-upgrades) +- [SDF Blog](https://stellar.org/blog) + +## Project Directories & Funding + +### Ecosystem Discovery +- [Stellar Ecosystem](https://stellar.org/ecosystem) - Official project directory +- [Stellar Community Fund Projects](https://communityfund.stellar.org/projects) + +### Funding Programs +- [Stellar Community Fund](https://communityfund.stellar.org) - Grants up to $150K +- [Soroban Audit Bank](https://stellar.org/grants-and-funding/soroban-audit-bank) +- [$100M Soroban Adoption Fund](https://stellar.org/soroban) + +## Learning Resources + +### Official Tutorials +- [Getting Started](https://developers.stellar.org/docs/build/smart-contracts/getting-started) +- [Hello World Contract](https://developers.stellar.org/docs/build/smart-contracts/getting-started/hello-world) +- [Deploy to Testnet](https://developers.stellar.org/docs/build/smart-contracts/getting-started/deploy-to-testnet) +- [TypeScript Bindings](https://developers.stellar.org/docs/build/apps/guestbook/bindings) +- [Passkey Prerequisites](https://developers.stellar.org/docs/build/apps/guestbook/passkeys-prerequisites) + +### Video Content +- [Stellar YouTube](https://www.youtube.com/@StellarDevelopmentFoundation) +- [Learn Rust for Smart Contracts (DAO Series)](https://www.youtube.com/watch?v=VeQM5N-0DrI) +- [Call Option Contract Walkthrough](https://www.youtube.com/watch?v=Z8FHVllP_D0) +- [Blend Protocol Tutorial](https://www.youtube.com/watch?v=58j0QkXKiDU) + +### Developer Tools +- [Stella AI Bot](https://developers.stellar.org/docs/tools/developer-tools) - AI assistant for Stellar developer questions +- [Soroban Playground](https://soropg.com) - Browser-based smart contract IDE ([GitHub](https://github.com/jamesbachini/Soroban-Playground)) + +### Blog Posts & Guides +- [Composability on Stellar](https://stellar.org/blog/developers/composability-on-stellar-from-concept-to-reality) +- [Testing Smart Contracts Guide](https://stellar.org/blog/developers/the-definitive-guide-to-testing-smart-contracts-on-stellar) +- [Sorobounty Spectacular Tutorials](https://stellar.org/blog/developers/sorobounty-spectacular-dapp-tutorials) +- [Learn Soroban 1-2-3 (Community Tools)](https://stellar.org/blog/developers/learn-soroban-as-easy-as-1-2-3-with-community-made-tooling) +- [SCF Infrastructure Recap](https://stellar.org/blog/ecosystem/stellar-community-fund-recap-soroban-infrastructure) +- [Native vs Soroban Tokens](https://cheesecakelabs.com/blog/native-tokens-vs-soroban-tokens/) +- [57Blocks Integration Testing](https://57blocks.com/blog/soroban-integration-testing-best-practices) + +## Stablecoins on Stellar + +### Major Stablecoins +- [USDC on Stellar](https://www.circle.com/usdc/stellar) - Circle +- [EURC on Stellar](https://www.circle.com/en/eurc) - Circle +- PYUSD (PayPal) - Verify current issuer/distribution details before integration + +### Asset Discovery +- [StellarExpert Asset Directory](https://stellar.expert/explorer/public/asset) + +## Community + +### Developer Resources +- [Stellar Developers Discord](https://discord.gg/stellar) +- [Stellar Stack Exchange](https://stellar.stackexchange.com) +- [GitHub Discussions](https://github.com/stellar/stellar-protocol/discussions) + +### Key People to Follow + +Builders and contributors actively shaping the Stellar ecosystem: + +| Name | GitHub | X/Twitter | Focus | +|------|--------|-----------|-------| +| Tyler van der Hoeven | [kalepail](https://github.com/kalepail) | [@kalepail](https://x.com/kalepail) | SDF DevRel, Smart Account Kit, Passkey Kit, Launchtube | +| Leigh McCulloch | [leighmcculloch](https://github.com/leighmcculloch) | [@___leigh___](https://x.com/___leigh___) | SDF core engineer, Stellar CLI, Soroban SDK | +| James Bachini | [jamesbachini](https://github.com/jamesbachini) | [@james_bachini](https://x.com/james_bachini) | SDF Dev in Residence, Soroban Playground, tutorials | +| Elliot Voris | [ElliotFriend](https://github.com/ElliotFriend) | [@ElliotFriend](https://x.com/ElliotFriend) | SDF DevRel, community education | +| Carsten Jacobsen | [carstenjacobsen](https://github.com/carstenjacobsen) | — | SDF, weekly dev meetings, Soroban examples | +| Esteban Iglesias | [esteblock](https://github.com/esteblock) | [@esteblock_dev](https://x.com/esteblock_dev) | PaltaLabs, Soroswap, DeFindex | +| Markus Paulson-Luna | [markuspluna](https://github.com/markuspluna) | [@script3official](https://x.com/script3official) | Script3, Blend Protocol | +| Alexander Mootz | [mootz12](https://github.com/mootz12) | — | Script3, Blend contracts | +| Tommaso | [heytdep](https://github.com/heytdep) | [@heytdep](https://x.com/heytdep) | Xycloo Labs, Mercury indexer, ZephyrVM | +| OrbitLens | [orbitlens](https://github.com/orbitlens) | [@orbitlens](https://x.com/orbitlens) | Reflector oracle, StellarExpert, Albedo | +| Frederic Rezeau | [FredericRezeau](https://github.com/FredericRezeau) | [@FredericRezeau](https://x.com/FredericRezeau) | Litemint, soroban-kit, gaming | +| Jun Luo (Overcat) | [overcat](https://github.com/overcat) | [@overcat_me](https://x.com/overcat_me) | Lightsail Network, Quasar RPC, Java/Python SDKs, Ledger app | +| Jay Geng | [jayz22](https://github.com/jayz22) | — | SDF, Soroban SDK, confidential tokens | +| Chad Ostrowski | [chadoh](https://github.com/chadoh) | [@chadoh](https://x.com/chadoh) | Aha Labs CEO, Scaffold Stellar, Soroban CLI | +| Willem Wyndham | [willemneal](https://github.com/willemneal) | [@willemneal](https://x.com/willemneal) | Aha Labs co-founder, Scaffold Stellar, JS contract client | + +### Builder Teams & Companies +See Part 2: Stellar Ecosystem above for a table of teams shipping production code on Stellar, with GitHub orgs, websites, and Twitter handles. + +### Foundation +- [Stellar Development Foundation](https://stellar.org/foundation) +- [Foundation Roadmap](https://stellar.org/foundation/roadmap) +- [Ecosystem Blog](https://stellar.org/blog/ecosystem) diff --git a/.mintlify/skills/zk-proofs/SKILL.md b/.mintlify/skills/zk-proofs/SKILL.md new file mode 100644 index 000000000..f9aa5dbee --- /dev/null +++ b/.mintlify/skills/zk-proofs/SKILL.md @@ -0,0 +1,234 @@ +--- +name: zk-proofs +description: Zero-knowledge proofs and privacy patterns on Stellar. Covers Groth16 verification in smart contracts via BLS12-381 host functions (CAP-0059, available), the BN254 + Poseidon proposals (CAP-0074/0075, status-sensitive), and concrete toolchain walkthroughs for Circom (on-chain verifiable today), Noir, and RISC Zero (attestation pattern until BN254 lands). Use when building privacy-preserving applications, ZK-verifier contracts, or wiring a proving toolchain to Stellar. +user-invocable: true +argument-hint: "[zk task]" +--- + +# Zero-Knowledge Proofs & Privacy + +ZK verification on Stellar. Capability is protocol- and SDK-version dependent — always verify CAP status, network version, and `soroban-sdk` host-function support before relying on a primitive. + +## When to use this skill +- Implementing a Groth16 (or other SNARK) verifier as a Stellar smart contract +- Wiring Circom, Noir, or RISC Zero output to on-chain verification +- Building privacy pools, confidential tokens, or Merkle-tree-backed commitments +- Planning for BN254 / Poseidon availability + +## Related skills +- Contract patterns and deployment → `/.well-known/agent-skills/smart-contracts/skill.md#development-patterns` +- Verifier security review → `/.well-known/agent-skills/smart-contracts/skill.md#security` +- CAPs referenced here → `/.well-known/agent-skills/standards/skill.md` + +## What's available — verify before building + +| Primitive | CAP | Status | +|-----------|-----|--------| +| BLS12-381 ops (G1/G2 add, mul, MSM, pairing check, hash-to-curve, Fr arithmetic) | [CAP-0059](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0059.md) | **Available** (Protocol 22+) | +| BN254 host functions | [CAP-0074](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0074.md) | Proposed — check current status | +| Poseidon/Poseidon2 hash | [CAP-0075](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0075.md) | Proposed — check current status | + +Before implementation, always confirm: +1. CAP status in the preamble (`Accepted`/`Implemented` vs draft) +2. Target network protocol version ([software versions](https://developers.stellar.org/docs/networks/software-versions)) +3. `soroban-sdk` release support for the host functions you need + +**The curve decides everything.** BLS12-381 proofs verify natively on-chain today; BN254 proofs (Circom's default, Barretenberg, RISC Zero's Groth16 wrapper) are gated on CAP-0074. + +| Toolchain | Proof system | Curve | On-chain on Stellar | +|-----------|--------------|-------|---------------------| +| Circom + snarkjs (`-p bls12381`) | Groth16 | BLS12-381 | ✅ Today, via CAP-0059 | +| Circom + snarkjs (default) | Groth16 | BN254 | Gated on CAP-0074 | +| Noir + Barretenberg | UltraHonk | BN254 | Not yet — attest off-chain verification | +| RISC Zero (STARK → Groth16 wrap) | Groth16 | BN254 | Gated on CAP-0074 — attest meanwhile | + +## The on-chain verifier (Groth16 over BLS12-381) + +The official [groth16_verifier example](https://github.com/stellar/soroban-examples/tree/main/groth16_verifier) is the canonical implementation — the full contract: + +```rust +#![no_std] +use soroban_sdk::{ + contract, contracterror, contractimpl, contracttype, + crypto::bls12_381::{Fr, G1Affine, G2Affine}, + vec, Env, Vec, +}; + +#[contracterror] +#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)] +#[repr(u32)] +pub enum Groth16Error { + MalformedVerifyingKey = 0, +} + +#[derive(Clone)] +#[contracttype] +pub struct VerificationKey { + pub alpha: G1Affine, + pub beta: G2Affine, + pub gamma: G2Affine, + pub delta: G2Affine, + pub ic: Vec, +} + +#[derive(Clone)] +#[contracttype] +pub struct Proof { + pub a: G1Affine, + pub b: G2Affine, + pub c: G1Affine, +} + +#[contract] +pub struct Groth16Verifier; + +#[contractimpl] +impl Groth16Verifier { + pub fn verify_proof( + env: Env, + vk: VerificationKey, + proof: Proof, + pub_signals: Vec, + ) -> Result { + let bls = env.crypto().bls12_381(); + + // vk_x = ic[0] + sum(pub_signals[i] * ic[i+1]) + if pub_signals.len() + 1 != vk.ic.len() { + return Err(Groth16Error::MalformedVerifyingKey); + } + let mut vk_x = vk.ic.get(0).unwrap(); + for (s, v) in pub_signals.iter().zip(vk.ic.iter().skip(1)) { + let prod = bls.g1_mul(&v, &s); + vk_x = bls.g1_add(&vk_x, &prod); + } + + // e(-A, B) * e(alpha, beta) * e(vk_x, gamma) * e(C, delta) == 1 + let neg_a = -proof.a; + let vp1 = vec![&env, neg_a, vk.alpha, vk_x, proof.c]; + let vp2 = vec![&env, proof.b, vk.beta, vk.gamma, vk.delta]; + + Ok(bls.pairing_check(vp1, vp2)) + } +} +``` + +Point encodings are uncompressed big-endian: `G1Affine` wraps 96 bytes, `G2Affine` 192 bytes, `Fr` 32 bytes. The example's test suite shows the exact conversion from arkworks types (`ark-bls12-381` + `ark-serialize`) — reuse it when building fixtures from your proving toolchain's JSON output. + +In production, wrap this verifier with application logic: fix the `VerificationKey` at deploy time (constructor) instead of taking it as a call argument, and bind proofs to context (see [Pitfalls](#pitfalls)). + +## Walkthrough: Circom → on-chain verification (works today) + +Circom supports BLS12-381 as a target field — this makes it the toolchain that verifies natively on Stellar right now. + +```bash +# 1. Circuit +cat > multiplier.circom <<'EOF' +pragma circom 2.1.6; +template Multiplier() { + signal input a; + signal input b; + signal output c; + c <== a * b; +} +component main = Multiplier(); +EOF + +# 2. Compile for BLS12-381 (NOT the default bn128 — that's gated on CAP-0074) +circom multiplier.circom --r1cs --wasm -p bls12381 + +# 3. Trusted setup (powers of tau on bls12-381, then circuit-specific phase 2) +snarkjs powersoftau new bls12-381 12 pot12_0000.ptau +snarkjs powersoftau contribute pot12_0000.ptau pot12_0001.ptau --name="contrib" -e="random" +snarkjs powersoftau prepare phase2 pot12_0001.ptau pot12_final.ptau +snarkjs groth16 setup multiplier.r1cs pot12_final.ptau multiplier.zkey +snarkjs zkey export verificationkey multiplier.zkey verification_key.json + +# 4. Witness + proof +echo '{"a": 3, "b": 11}' > input.json +node multiplier_js/generate_witness.js multiplier_js/multiplier.wasm input.json witness.wtns +snarkjs groth16 prove multiplier.zkey witness.wtns proof.json public.json + +# 5. Sanity-check off-chain before going on-chain +snarkjs groth16 verify verification_key.json public.json proof.json +``` + +Then convert `proof.json` / `verification_key.json` (decimal-string coordinates) into the contract's types — serialize each point uncompressed big-endian into the 96/192-byte layouts, e.g. via arkworks as in the example's tests — and invoke `verify_proof`. Public signals (`public.json`) become the `Vec` argument; the contract must also validate what those signals *mean* (see [Pitfalls](#pitfalls)). + +For real applications the per-proof flow is: client proves locally (WASM prover or native), submits `(proof, public_signals)` in a contract invocation, contract verifies + applies policy + updates state. + +## Walkthrough: Noir (off-chain verify + attestation, for now) + +Noir's standard backend (Barretenberg) produces UltraHonk proofs over BN254 — neither the proof system nor the curve is on-chain verifiable on Stellar today. + +```bash +# Local proving workflow +nargo new age_check && cd age_check +cat > src/main.nr <<'EOF' +fn main(age: u64, threshold: pub u64) { + assert(age >= threshold); +} +EOF +nargo check +nargo execute witness # writes the witness from Prover.toml inputs +bb prove -b target/age_check.json -w target/witness.gz -o target/proof +bb verify -k target/vk -p target/proof # off-chain verification +``` + +On Stellar, two patterns until the curve/system gap closes: + +1. **Attestation oracle**: a verifier service runs `bb verify` (or the Noir JS verifier) off-chain and submits a signed attestation; the contract `require_auth()`s the attester address and applies policy. The trust assumption (the attester) must be explicit and documented — this is *not* trustless ZK, it's a verifiable-computation oracle. +2. **Switch the proving stack for on-chain parts**: express the on-chain-critical statement as a Circom/Groth16-BLS12-381 circuit (walkthrough above) and keep Noir for off-chain components. + +Track CAP-0074 (BN254): when implemented, BN254 Groth16 verification becomes possible — but UltraHonk would additionally need a verifier implementation in-contract, so Groth16-based paths will land first. + +## Walkthrough: RISC Zero (same gate, clear path) + +RISC Zero proves arbitrary Rust execution (zkVM) and can wrap its STARK receipts into a Groth16 proof over BN254 ("stark-to-snark") — small enough for on-chain verification where BN254 is supported. + +```rust +// Guest (runs inside the zkVM): the computation being proven +use risc0_zkvm::guest::env; + +fn main() { + let input: u64 = env::read(); + let result = expensive_check(input); + env::commit(&result); // becomes part of the public journal +} +``` + +```rust +// Host: produce and verify a receipt locally +let receipt = prover.prove(env, ELF)?.receipt; +receipt.verify(IMAGE_ID)?; // off-chain verification +``` + +On Stellar today, use the **attestation pattern** (as with Noir): verify the receipt off-chain — locally or via a proving service — and have an authorized attester submit the journal + attestation to your contract. Once CAP-0074 (BN254) is implemented, the Groth16-wrapped receipt becomes verifiable natively with a BN254 verifier contract mirroring the BLS12-381 one above; the `IMAGE_ID` (which program ran) and journal digest become public inputs. See the [RISC Zero docs](https://dev.risczero.com/api) for the wrapping workflow. + +## Architecture patterns + +- **Verification gateway**: isolate cryptographic checks in a dedicated verifier contract/module — normalize inputs, verify, emit explicit success/failure events. Smaller audit surface, cleaner upgrades. +- **Policy-and-proof split**: `Verifier` (cryptographic validity) → `Policy` (business/compliance rules) → `Application` (state transition). Each independently testable and upgradeable. +- **Capability gating**: enable ZK flows only where required primitives are confirmed available; keep deterministic fallbacks and document the supported network/protocol matrix. + +For Merkle-tree commitments (privacy pools, allowlists): until Poseidon (CAP-0075) lands, in-circuit-friendly hashing on-chain is expensive — design trees so the contract only needs root comparisons and membership proofs verified inside the SNARK. + +## Pitfalls + +- **Verifying the proof but not the statement.** A valid proof only shows *some* witness satisfies the circuit. The contract must validate the public inputs' semantics: who is this proof for, which Merkle root, which action, which amount. +- **Missing anti-replay binding.** Valid proofs can be replayed. Bind a nonce/session/action into the public inputs and persist a replay guard (nullifier set) on-chain. +- **Curve mismatch.** Circom defaults to bn128; on Stellar compile with `-p bls12381` or your proof will be unverifiable on-chain. +- **Trusted-setup hygiene.** Groth16 needs a circuit-specific phase-2 setup; for production use a real multi-party ceremony, not a single-contributor dev setup. +- **Hardcoded protocol assumptions.** Capability-gate; don't assume draft CAPs are live on the target network. + +## Testing + +- Unit: input domain validation, replay protection, event correctness, malformed/tampered proof rejection (negative paths are the important ones) +- Integration: full prove → submit → verify → state-transition flow against a local network +- Operational: resource costs for realistic proof sizes via simulation (`--send=no`) — pairing checks are expensive; budget before committing to per-transaction verification + +## References + +- [groth16_verifier example](https://github.com/stellar/soroban-examples/tree/main/groth16_verifier) — canonical verifier + arkworks test fixtures +- [soroban-examples](https://github.com/stellar/soroban-examples) +- [BLS12-381 SDK docs](https://docs.rs/soroban-sdk/latest/soroban_sdk/crypto/bls12_381/index.html) +- [Circom docs](https://docs.circom.io) · [snarkjs](https://github.com/iden3/snarkjs) · [Noir docs](https://noir-lang.org/docs) · [RISC Zero docs](https://dev.risczero.com) diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index f6b3a08b3..000000000 --- a/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM ubuntu:26.04 AS build - -LABEL maintainer="SDF Ops Team " - -WORKDIR /app - -ENV DEBIAN_FRONTEND=noninteractive -ENV INLINE_RUNTIME_CHUNK=false -RUN apt-get update && apt-get install --no-install-recommends -y gpg curl git make ca-certificates apt-transport-https && \ - curl -sSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key|gpg --dearmor >/etc/apt/trusted.gpg.d/nodesource-key.gpg && \ - echo "deb https://deb.nodesource.com/node_24.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ - apt-get update && apt-get install -y nodejs libatomic1 && apt-get clean - -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME/bin:$PATH" -RUN corepack enable - -COPY . /app/ - -RUN pnpm ci -RUN du -sh /app/* -RUN pnpm rpcspec:build --no-minify -RUN pnpm stellar-cli:build --no-minify --cli-ref=main -RUN pnpm stellar-cli:fix-links - -ENV NODE_OPTIONS="--max-old-space-size=4096" -RUN pnpm build --no-minify - -FROM nginx:1.31 - -COPY --from=build /app/build/ /usr/share/nginx/html/ -COPY nginx /etc/nginx/ diff --git a/Makefile b/Makefile deleted file mode 100644 index 564a4a97d..000000000 --- a/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -### -# Check if we need to prepend docker commands with sudo -SUDO := $(shell docker version >/dev/null 2>&1 || echo "sudo") - -# If LABEL is not provided set default value -LABEL ?= $(shell git rev-parse --short HEAD)$(and $(shell git status -s),-dirty-$(shell id -u -n)) -# If TAG is not provided set default value -TAG ?= stellar/stellar-docs:$(LABEL) -# https://github.com/opencontainers/image-spec/blob/master/annotations.md -BUILD_DATE := $(shell date -u +%FT%TZ) -# the app label is used by the pipelines to prune docker dangling images on the jenkins build hosts -docker-build: - $(SUDO) docker build -m 8g --no-cache --pull --label app="stellar-docs" --label org.opencontainers.image.created="$(BUILD_DATE)" -t $(TAG) . - -docker-push: - $(SUDO) docker push $(TAG) diff --git a/static/assets/SDP/SDP1.png b/assets/SDP/SDP1.png similarity index 100% rename from static/assets/SDP/SDP1.png rename to assets/SDP/SDP1.png diff --git a/static/assets/SDP/SDP19.png b/assets/SDP/SDP19.png similarity index 100% rename from static/assets/SDP/SDP19.png rename to assets/SDP/SDP19.png diff --git a/static/assets/SDP/SDP2-2.png b/assets/SDP/SDP2-2.png similarity index 100% rename from static/assets/SDP/SDP2-2.png rename to assets/SDP/SDP2-2.png diff --git a/static/assets/SDP/SDP20.png b/assets/SDP/SDP20.png similarity index 100% rename from static/assets/SDP/SDP20.png rename to assets/SDP/SDP20.png diff --git a/static/assets/SDP/SDP20x.png b/assets/SDP/SDP20x.png similarity index 100% rename from static/assets/SDP/SDP20x.png rename to assets/SDP/SDP20x.png diff --git a/static/assets/SDP/SDP22.png b/assets/SDP/SDP22.png similarity index 100% rename from static/assets/SDP/SDP22.png rename to assets/SDP/SDP22.png diff --git a/static/assets/SDP/SDP23.png b/assets/SDP/SDP23.png similarity index 100% rename from static/assets/SDP/SDP23.png rename to assets/SDP/SDP23.png diff --git a/static/assets/SDP/SDP24.png b/assets/SDP/SDP24.png similarity index 100% rename from static/assets/SDP/SDP24.png rename to assets/SDP/SDP24.png diff --git a/static/assets/SDP/SDP25.png b/assets/SDP/SDP25.png similarity index 100% rename from static/assets/SDP/SDP25.png rename to assets/SDP/SDP25.png diff --git a/static/assets/SDP/SDP30.png b/assets/SDP/SDP30.png similarity index 100% rename from static/assets/SDP/SDP30.png rename to assets/SDP/SDP30.png diff --git a/static/assets/SDP/SDP31.png b/assets/SDP/SDP31.png similarity index 100% rename from static/assets/SDP/SDP31.png rename to assets/SDP/SDP31.png diff --git a/static/assets/SDP/SDP32.png b/assets/SDP/SDP32.png similarity index 100% rename from static/assets/SDP/SDP32.png rename to assets/SDP/SDP32.png diff --git a/static/assets/SDP/SDP33.png b/assets/SDP/SDP33.png similarity index 100% rename from static/assets/SDP/SDP33.png rename to assets/SDP/SDP33.png diff --git a/static/assets/SDP/SDP34.png b/assets/SDP/SDP34.png similarity index 100% rename from static/assets/SDP/SDP34.png rename to assets/SDP/SDP34.png diff --git a/static/assets/SDP/SDP35.png b/assets/SDP/SDP35.png similarity index 100% rename from static/assets/SDP/SDP35.png rename to assets/SDP/SDP35.png diff --git a/static/assets/SDP/SDP36.png b/assets/SDP/SDP36.png similarity index 100% rename from static/assets/SDP/SDP36.png rename to assets/SDP/SDP36.png diff --git a/static/assets/SDP/SDP37.png b/assets/SDP/SDP37.png similarity index 100% rename from static/assets/SDP/SDP37.png rename to assets/SDP/SDP37.png diff --git a/static/assets/SDP/SDP38.png b/assets/SDP/SDP38.png similarity index 100% rename from static/assets/SDP/SDP38.png rename to assets/SDP/SDP38.png diff --git a/static/assets/SDP/SDP39.png b/assets/SDP/SDP39.png similarity index 100% rename from static/assets/SDP/SDP39.png rename to assets/SDP/SDP39.png diff --git a/static/assets/SDP/SDP40.png b/assets/SDP/SDP40.png similarity index 100% rename from static/assets/SDP/SDP40.png rename to assets/SDP/SDP40.png diff --git a/static/assets/SDP/SDP41.png b/assets/SDP/SDP41.png similarity index 100% rename from static/assets/SDP/SDP41.png rename to assets/SDP/SDP41.png diff --git a/static/assets/SDP/SDP42.png b/assets/SDP/SDP42.png similarity index 100% rename from static/assets/SDP/SDP42.png rename to assets/SDP/SDP42.png diff --git a/static/assets/SDP/SDP43.png b/assets/SDP/SDP43.png similarity index 100% rename from static/assets/SDP/SDP43.png rename to assets/SDP/SDP43.png diff --git a/static/assets/SDP/SDP44.png b/assets/SDP/SDP44.png similarity index 100% rename from static/assets/SDP/SDP44.png rename to assets/SDP/SDP44.png diff --git a/static/assets/SDP/SDP45.png b/assets/SDP/SDP45.png similarity index 100% rename from static/assets/SDP/SDP45.png rename to assets/SDP/SDP45.png diff --git a/static/assets/SDP/SDP46.png b/assets/SDP/SDP46.png similarity index 100% rename from static/assets/SDP/SDP46.png rename to assets/SDP/SDP46.png diff --git a/static/assets/SDP/SDP47.png b/assets/SDP/SDP47.png similarity index 100% rename from static/assets/SDP/SDP47.png rename to assets/SDP/SDP47.png diff --git a/static/assets/SDP/SDP48.png b/assets/SDP/SDP48.png similarity index 100% rename from static/assets/SDP/SDP48.png rename to assets/SDP/SDP48.png diff --git a/static/assets/SDP/SDP49.png b/assets/SDP/SDP49.png similarity index 100% rename from static/assets/SDP/SDP49.png rename to assets/SDP/SDP49.png diff --git a/static/assets/SDP/SDP50.png b/assets/SDP/SDP50.png similarity index 100% rename from static/assets/SDP/SDP50.png rename to assets/SDP/SDP50.png diff --git a/static/assets/ap/anchor-platform-architecture-1.png b/assets/ap/anchor-platform-architecture-1.png similarity index 100% rename from static/assets/ap/anchor-platform-architecture-1.png rename to assets/ap/anchor-platform-architecture-1.png diff --git a/static/assets/ap/anchor-platform-architecture-2.png b/assets/ap/anchor-platform-architecture-2.png similarity index 100% rename from static/assets/ap/anchor-platform-architecture-2.png rename to assets/ap/anchor-platform-architecture-2.png diff --git a/static/assets/ap/anchor-platform-sep24-demo-wallet-widget.png b/assets/ap/anchor-platform-sep24-demo-wallet-widget.png similarity index 100% rename from static/assets/ap/anchor-platform-sep24-demo-wallet-widget.png rename to assets/ap/anchor-platform-sep24-demo-wallet-widget.png diff --git a/static/assets/ap/anchor-platform-sep24-demo-wallet.png b/assets/ap/anchor-platform-sep24-demo-wallet.png similarity index 100% rename from static/assets/ap/anchor-platform-sep24-demo-wallet.png rename to assets/ap/anchor-platform-sep24-demo-wallet.png diff --git a/static/assets/ap/anchor-platform-sep31-demo-wallet-widget.png b/assets/ap/anchor-platform-sep31-demo-wallet-widget.png similarity index 100% rename from static/assets/ap/anchor-platform-sep31-demo-wallet-widget.png rename to assets/ap/anchor-platform-sep31-demo-wallet-widget.png diff --git a/static/assets/ap/sep24-deposit-flow-diagram.png b/assets/ap/sep24-deposit-flow-diagram.png similarity index 100% rename from static/assets/ap/sep24-deposit-flow-diagram.png rename to assets/ap/sep24-deposit-flow-diagram.png diff --git a/static/assets/ap/sep24-withdrawal-flow-diagram.png b/assets/ap/sep24-withdrawal-flow-diagram.png similarity index 100% rename from static/assets/ap/sep24-withdrawal-flow-diagram.png rename to assets/ap/sep24-withdrawal-flow-diagram.png diff --git a/static/assets/ap/sep31-transition-diagram.png b/assets/ap/sep31-transition-diagram.png similarity index 100% rename from static/assets/ap/sep31-transition-diagram.png rename to assets/ap/sep31-transition-diagram.png diff --git a/static/assets/ap/sep6-deposit-flow-diagram.png b/assets/ap/sep6-deposit-flow-diagram.png similarity index 100% rename from static/assets/ap/sep6-deposit-flow-diagram.png rename to assets/ap/sep6-deposit-flow-diagram.png diff --git a/static/assets/ap/sep6-withdrawal-flow-diagram.png b/assets/ap/sep6-withdrawal-flow-diagram.png similarity index 100% rename from static/assets/ap/sep6-withdrawal-flow-diagram.png rename to assets/ap/sep6-withdrawal-flow-diagram.png diff --git a/static/assets/api/rpc/getevents.jpg b/assets/api/rpc/getevents.jpg similarity index 100% rename from static/assets/api/rpc/getevents.jpg rename to assets/api/rpc/getevents.jpg diff --git a/static/assets/api/rpc/getfeestats.png b/assets/api/rpc/getfeestats.png similarity index 100% rename from static/assets/api/rpc/getfeestats.png rename to assets/api/rpc/getfeestats.png diff --git a/static/assets/api/rpc/gethealth.png b/assets/api/rpc/gethealth.png similarity index 100% rename from static/assets/api/rpc/gethealth.png rename to assets/api/rpc/gethealth.png diff --git a/static/assets/api/rpc/getlatestledger.png b/assets/api/rpc/getlatestledger.png similarity index 100% rename from static/assets/api/rpc/getlatestledger.png rename to assets/api/rpc/getlatestledger.png diff --git a/static/assets/api/rpc/getledgerentries-01.gif b/assets/api/rpc/getledgerentries-01.gif similarity index 100% rename from static/assets/api/rpc/getledgerentries-01.gif rename to assets/api/rpc/getledgerentries-01.gif diff --git a/static/assets/api/rpc/getledgerentries-02.gif b/assets/api/rpc/getledgerentries-02.gif similarity index 100% rename from static/assets/api/rpc/getledgerentries-02.gif rename to assets/api/rpc/getledgerentries-02.gif diff --git a/static/assets/api/rpc/getledgers.gif b/assets/api/rpc/getledgers.gif similarity index 100% rename from static/assets/api/rpc/getledgers.gif rename to assets/api/rpc/getledgers.gif diff --git a/static/assets/api/rpc/getnetwork.png b/assets/api/rpc/getnetwork.png similarity index 100% rename from static/assets/api/rpc/getnetwork.png rename to assets/api/rpc/getnetwork.png diff --git a/static/assets/api/rpc/gettransaction.gif b/assets/api/rpc/gettransaction.gif similarity index 100% rename from static/assets/api/rpc/gettransaction.gif rename to assets/api/rpc/gettransaction.gif diff --git a/static/assets/api/rpc/gettransactions.png b/assets/api/rpc/gettransactions.png similarity index 100% rename from static/assets/api/rpc/gettransactions.png rename to assets/api/rpc/gettransactions.png diff --git a/static/assets/api/rpc/getversioninfo.png b/assets/api/rpc/getversioninfo.png similarity index 100% rename from static/assets/api/rpc/getversioninfo.png rename to assets/api/rpc/getversioninfo.png diff --git a/static/assets/api/rpc/sendtransaction.gif b/assets/api/rpc/sendtransaction.gif similarity index 100% rename from static/assets/api/rpc/sendtransaction.gif rename to assets/api/rpc/sendtransaction.gif diff --git a/static/assets/api/rpc/simulatetransaction.gif b/assets/api/rpc/simulatetransaction.gif similarity index 100% rename from static/assets/api/rpc/simulatetransaction.gif rename to assets/api/rpc/simulatetransaction.gif diff --git a/static/assets/audits/2024-01-03 - Veridise - stellar-core v20.0.0 - soroban.pdf b/assets/audits/2024-01-03 - Veridise - stellar-core v20.0.0 - soroban.pdf similarity index 100% rename from static/assets/audits/2024-01-03 - Veridise - stellar-core v20.0.0 - soroban.pdf rename to assets/audits/2024-01-03 - Veridise - stellar-core v20.0.0 - soroban.pdf diff --git a/assets/audits/2024-01-03-veridise-stellar-core-v20.0.0-soroban.pdf b/assets/audits/2024-01-03-veridise-stellar-core-v20.0.0-soroban.pdf new file mode 100644 index 000000000..ba6ac4791 Binary files /dev/null and b/assets/audits/2024-01-03-veridise-stellar-core-v20.0.0-soroban.pdf differ diff --git a/static/assets/audits/2024-12-20 - OtterSec - stellar-rpc commit a60044e.pdf b/assets/audits/2024-12-20 - OtterSec - stellar-rpc commit a60044e.pdf similarity index 100% rename from static/assets/audits/2024-12-20 - OtterSec - stellar-rpc commit a60044e.pdf rename to assets/audits/2024-12-20 - OtterSec - stellar-rpc commit a60044e.pdf diff --git a/assets/audits/2024-12-20-ottersec-stellar-rpc-commit-a60044e.pdf b/assets/audits/2024-12-20-ottersec-stellar-rpc-commit-a60044e.pdf new file mode 100644 index 000000000..f4462c394 Binary files /dev/null and b/assets/audits/2024-12-20-ottersec-stellar-rpc-commit-a60044e.pdf differ diff --git a/static/assets/audits/2025-10-17 - Oak - stellar-core v23.0.0 - protocol 23 changes.pdf b/assets/audits/2025-10-17 - Oak - stellar-core v23.0.0 - protocol 23 changes.pdf similarity index 100% rename from static/assets/audits/2025-10-17 - Oak - stellar-core v23.0.0 - protocol 23 changes.pdf rename to assets/audits/2025-10-17 - Oak - stellar-core v23.0.0 - protocol 23 changes.pdf diff --git a/assets/audits/2025-10-17-oak-stellar-core-v23.0.0-protocol-23-changes.pdf b/assets/audits/2025-10-17-oak-stellar-core-v23.0.0-protocol-23-changes.pdf new file mode 100644 index 000000000..3c27c5a65 Binary files /dev/null and b/assets/audits/2025-10-17-oak-stellar-core-v23.0.0-protocol-23-changes.pdf differ diff --git a/static/assets/audits/2025-11-13 - Oak - stellar-core v24.0.0 - protocol 24 changes.pdf b/assets/audits/2025-11-13 - Oak - stellar-core v24.0.0 - protocol 24 changes.pdf similarity index 100% rename from static/assets/audits/2025-11-13 - Oak - stellar-core v24.0.0 - protocol 24 changes.pdf rename to assets/audits/2025-11-13 - Oak - stellar-core v24.0.0 - protocol 24 changes.pdf diff --git a/assets/audits/2025-11-13-oak-stellar-core-v24.0.0-protocol-24-changes.pdf b/assets/audits/2025-11-13-oak-stellar-core-v24.0.0-protocol-24-changes.pdf new file mode 100644 index 000000000..cb6becc31 Binary files /dev/null and b/assets/audits/2025-11-13-oak-stellar-core-v24.0.0-protocol-24-changes.pdf differ diff --git a/static/assets/audits/2026-02-06 - Runtime Verification - stellar-core v25.0.0 - soroban environment.pdf b/assets/audits/2026-02-06 - Runtime Verification - stellar-core v25.0.0 - soroban environment.pdf similarity index 100% rename from static/assets/audits/2026-02-06 - Runtime Verification - stellar-core v25.0.0 - soroban environment.pdf rename to assets/audits/2026-02-06 - Runtime Verification - stellar-core v25.0.0 - soroban environment.pdf diff --git a/assets/audits/2026-02-06-runtime-verification-stellar-core-v25.0.0-soroban-environment.pdf b/assets/audits/2026-02-06-runtime-verification-stellar-core-v25.0.0-soroban-environment.pdf new file mode 100644 index 000000000..b359faed0 Binary files /dev/null and b/assets/audits/2026-02-06-runtime-verification-stellar-core-v25.0.0-soroban-environment.pdf differ diff --git a/static/assets/audits/2027-03-07 - Halborn - bytes-lit v0.0.5.pdf b/assets/audits/2027-03-07 - Halborn - bytes-lit v0.0.5.pdf similarity index 100% rename from static/assets/audits/2027-03-07 - Halborn - bytes-lit v0.0.5.pdf rename to assets/audits/2027-03-07 - Halborn - bytes-lit v0.0.5.pdf diff --git a/static/assets/audits/2027-03-07 - Halborn - crates-git-revision v0.0.6.pdf b/assets/audits/2027-03-07 - Halborn - crates-git-revision v0.0.6.pdf similarity index 100% rename from static/assets/audits/2027-03-07 - Halborn - crates-git-revision v0.0.6.pdf rename to assets/audits/2027-03-07 - Halborn - crates-git-revision v0.0.6.pdf diff --git a/static/assets/audits/2027-03-07 - Halborn - soroban-poseidon v25.0.0.pdf b/assets/audits/2027-03-07 - Halborn - soroban-poseidon v25.0.0.pdf similarity index 100% rename from static/assets/audits/2027-03-07 - Halborn - soroban-poseidon v25.0.0.pdf rename to assets/audits/2027-03-07 - Halborn - soroban-poseidon v25.0.0.pdf diff --git a/static/assets/audits/2027-03-07 - Halborn - soroban-sdk v25.1.0.pdf b/assets/audits/2027-03-07 - Halborn - soroban-sdk v25.1.0.pdf similarity index 100% rename from static/assets/audits/2027-03-07 - Halborn - soroban-sdk v25.1.0.pdf rename to assets/audits/2027-03-07 - Halborn - soroban-sdk v25.1.0.pdf diff --git a/static/assets/audits/2027-03-07 - Halborn - stellar-strkey v0.0.13 v0.0.16.pdf b/assets/audits/2027-03-07 - Halborn - stellar-strkey v0.0.13 v0.0.16.pdf similarity index 100% rename from static/assets/audits/2027-03-07 - Halborn - stellar-strkey v0.0.13 v0.0.16.pdf rename to assets/audits/2027-03-07 - Halborn - stellar-strkey v0.0.13 v0.0.16.pdf diff --git a/assets/audits/2027-03-07-halborn-bytes-lit-v0.0.5.pdf b/assets/audits/2027-03-07-halborn-bytes-lit-v0.0.5.pdf new file mode 100644 index 000000000..fb8bd86d5 Binary files /dev/null and b/assets/audits/2027-03-07-halborn-bytes-lit-v0.0.5.pdf differ diff --git a/assets/audits/2027-03-07-halborn-crates-git-revision-v0.0.6.pdf b/assets/audits/2027-03-07-halborn-crates-git-revision-v0.0.6.pdf new file mode 100644 index 000000000..09fae38a1 Binary files /dev/null and b/assets/audits/2027-03-07-halborn-crates-git-revision-v0.0.6.pdf differ diff --git a/assets/audits/2027-03-07-halborn-soroban-poseidon-v25.0.0.pdf b/assets/audits/2027-03-07-halborn-soroban-poseidon-v25.0.0.pdf new file mode 100644 index 000000000..2bb9af566 Binary files /dev/null and b/assets/audits/2027-03-07-halborn-soroban-poseidon-v25.0.0.pdf differ diff --git a/assets/audits/2027-03-07-halborn-soroban-sdk-v25.1.0.pdf b/assets/audits/2027-03-07-halborn-soroban-sdk-v25.1.0.pdf new file mode 100644 index 000000000..31e480bac Binary files /dev/null and b/assets/audits/2027-03-07-halborn-soroban-sdk-v25.1.0.pdf differ diff --git a/assets/audits/2027-03-07-halborn-stellar-strkey-v0.0.13-v0.0.16.pdf b/assets/audits/2027-03-07-halborn-stellar-strkey-v0.0.13-v0.0.16.pdf new file mode 100644 index 000000000..ba71038d7 Binary files /dev/null and b/assets/audits/2027-03-07-halborn-stellar-strkey-v0.0.13-v0.0.16.pdf differ diff --git a/static/assets/basic-pay/add-assets.png b/assets/basic-pay/add-assets.png similarity index 100% rename from static/assets/basic-pay/add-assets.png rename to assets/basic-pay/add-assets.png diff --git a/static/assets/basic-pay/add-contact.png b/assets/basic-pay/add-contact.png similarity index 100% rename from static/assets/basic-pay/add-contact.png rename to assets/basic-pay/add-contact.png diff --git a/static/assets/basic-pay/auth_valid.png b/assets/basic-pay/auth_valid.png similarity index 100% rename from static/assets/basic-pay/auth_valid.png rename to assets/basic-pay/auth_valid.png diff --git a/static/assets/basic-pay/authenticate.png b/assets/basic-pay/authenticate.png similarity index 100% rename from static/assets/basic-pay/authenticate.png rename to assets/basic-pay/authenticate.png diff --git a/static/assets/basic-pay/confirm-pincode.png b/assets/basic-pay/confirm-pincode.png similarity index 100% rename from static/assets/basic-pay/confirm-pincode.png rename to assets/basic-pay/confirm-pincode.png diff --git a/static/assets/basic-pay/display-assets.png b/assets/basic-pay/display-assets.png similarity index 100% rename from static/assets/basic-pay/display-assets.png rename to assets/basic-pay/display-assets.png diff --git a/static/assets/basic-pay/fees.png b/assets/basic-pay/fees.png similarity index 100% rename from static/assets/basic-pay/fees.png rename to assets/basic-pay/fees.png diff --git a/static/assets/basic-pay/funded-account.png b/assets/basic-pay/funded-account.png similarity index 100% rename from static/assets/basic-pay/funded-account.png rename to assets/basic-pay/funded-account.png diff --git a/static/assets/basic-pay/kyc_accepted.png b/assets/basic-pay/kyc_accepted.png similarity index 100% rename from static/assets/basic-pay/kyc_accepted.png rename to assets/basic-pay/kyc_accepted.png diff --git a/static/assets/basic-pay/path-payment.png b/assets/basic-pay/path-payment.png similarity index 100% rename from static/assets/basic-pay/path-payment.png rename to assets/basic-pay/path-payment.png diff --git a/static/assets/basic-pay/payment.png b/assets/basic-pay/payment.png similarity index 100% rename from static/assets/basic-pay/payment.png rename to assets/basic-pay/payment.png diff --git a/static/assets/basic-pay/public-and-private-keys.png b/assets/basic-pay/public-and-private-keys.png similarity index 100% rename from static/assets/basic-pay/public-and-private-keys.png rename to assets/basic-pay/public-and-private-keys.png diff --git a/static/assets/basic-pay/sep24_transfers.png b/assets/basic-pay/sep24_transfers.png similarity index 100% rename from static/assets/basic-pay/sep24_transfers.png rename to assets/basic-pay/sep24_transfers.png diff --git a/static/assets/basic-pay/sep6_deposit_withdraw.png b/assets/basic-pay/sep6_deposit_withdraw.png similarity index 100% rename from static/assets/basic-pay/sep6_deposit_withdraw.png rename to assets/basic-pay/sep6_deposit_withdraw.png diff --git a/static/assets/basic-pay/sep6_kyc.png b/assets/basic-pay/sep6_kyc.png similarity index 100% rename from static/assets/basic-pay/sep6_kyc.png rename to assets/basic-pay/sep6_kyc.png diff --git a/static/assets/basic-pay/sep6_transfer_details.png b/assets/basic-pay/sep6_transfer_details.png similarity index 100% rename from static/assets/basic-pay/sep6_transfer_details.png rename to assets/basic-pay/sep6_transfer_details.png diff --git a/static/assets/clawback/example1.png b/assets/clawback/example1.png similarity index 100% rename from static/assets/clawback/example1.png rename to assets/clawback/example1.png diff --git a/static/assets/contract/contract-info-meta.png b/assets/contract/contract-info-meta.png similarity index 100% rename from static/assets/contract/contract-info-meta.png rename to assets/contract/contract-info-meta.png diff --git a/static/assets/contract/contract-info-spec.png b/assets/contract/contract-info-spec.png similarity index 100% rename from static/assets/contract/contract-info-spec.png rename to assets/contract/contract-info-spec.png diff --git a/static/assets/dev-tools/blux_demo.gif b/assets/dev-tools/blux_demo.gif similarity index 100% rename from static/assets/dev-tools/blux_demo.gif rename to assets/dev-tools/blux_demo.gif diff --git a/static/assets/dev-tools/jupyter-notebooks.png b/assets/dev-tools/jupyter-notebooks.png similarity index 100% rename from static/assets/dev-tools/jupyter-notebooks.png rename to assets/dev-tools/jupyter-notebooks.png diff --git a/static/assets/dev-tools/stellar-wallet-kit.gif b/assets/dev-tools/stellar-wallet-kit.gif similarity index 100% rename from static/assets/dev-tools/stellar-wallet-kit.gif rename to assets/dev-tools/stellar-wallet-kit.gif diff --git a/static/assets/diagrams/environment-concepts.png b/assets/diagrams/environment-concepts.png similarity index 100% rename from static/assets/diagrams/environment-concepts.png rename to assets/diagrams/environment-concepts.png diff --git a/static/assets/diagrams/soroban_fees.png b/assets/diagrams/soroban_fees.png similarity index 100% rename from static/assets/diagrams/soroban_fees.png rename to assets/diagrams/soroban_fees.png diff --git a/static/assets/diagrams/stellar-tech-stack.png b/assets/diagrams/stellar-tech-stack.png similarity index 100% rename from static/assets/diagrams/stellar-tech-stack.png rename to assets/diagrams/stellar-tech-stack.png diff --git a/static/assets/diagrams/validator_complete.png b/assets/diagrams/validator_complete.png similarity index 100% rename from static/assets/diagrams/validator_complete.png rename to assets/diagrams/validator_complete.png diff --git a/static/assets/galexie/galexie-architecture.png b/assets/galexie/galexie-architecture.png similarity index 100% rename from static/assets/galexie/galexie-architecture.png rename to assets/galexie/galexie-architecture.png diff --git a/static/assets/guestbook/frontend.png b/assets/guestbook/frontend.png similarity index 100% rename from static/assets/guestbook/frontend.png rename to assets/guestbook/frontend.png diff --git a/static/assets/guestbook/github_template.png b/assets/guestbook/github_template.png similarity index 100% rename from static/assets/guestbook/github_template.png rename to assets/guestbook/github_template.png diff --git a/static/assets/guides/fee-bump-transaction.png b/assets/guides/fee-bump-transaction.png similarity index 100% rename from static/assets/guides/fee-bump-transaction.png rename to assets/guides/fee-bump-transaction.png diff --git a/static/assets/guides/x402-demo.png b/assets/guides/x402-demo.png similarity index 100% rename from static/assets/guides/x402-demo.png rename to assets/guides/x402-demo.png diff --git a/static/assets/horizon-scaling/Topology-ingestion-isolation.png b/assets/horizon-scaling/Topology-ingestion-isolation.png old mode 100755 new mode 100644 similarity index 100% rename from static/assets/horizon-scaling/Topology-ingestion-isolation.png rename to assets/horizon-scaling/Topology-ingestion-isolation.png diff --git a/static/assets/horizon-scaling/Topology-multiple.png b/assets/horizon-scaling/Topology-multiple.png old mode 100755 new mode 100644 similarity index 100% rename from static/assets/horizon-scaling/Topology-multiple.png rename to assets/horizon-scaling/Topology-multiple.png diff --git a/static/assets/horizon-scaling/Topology-single.png b/assets/horizon-scaling/Topology-single.png old mode 100755 new mode 100644 similarity index 100% rename from static/assets/horizon-scaling/Topology-single.png rename to assets/horizon-scaling/Topology-single.png diff --git a/static/assets/horizon-scaling/Topology-txsub.png b/assets/horizon-scaling/Topology-txsub.png old mode 100755 new mode 100644 similarity index 100% rename from static/assets/horizon-scaling/Topology-txsub.png rename to assets/horizon-scaling/Topology-txsub.png diff --git a/static/assets/ingest-sdk/architecture.png b/assets/ingest-sdk/architecture.png similarity index 100% rename from static/assets/ingest-sdk/architecture.png rename to assets/ingest-sdk/architecture.png diff --git a/static/assets/ingest-sdk/bufferedstoragebackend_architecture.png b/assets/ingest-sdk/bufferedstoragebackend_architecture.png similarity index 100% rename from static/assets/ingest-sdk/bufferedstoragebackend_architecture.png rename to assets/ingest-sdk/bufferedstoragebackend_architecture.png diff --git a/static/assets/ingest-sdk/cdp_pipelines.png b/assets/ingest-sdk/cdp_pipelines.png similarity index 100% rename from static/assets/ingest-sdk/cdp_pipelines.png rename to assets/ingest-sdk/cdp_pipelines.png diff --git a/static/assets/lab/ab-tx-dashboard-01232026.png b/assets/lab/ab-tx-dashboard-01232026.png similarity index 100% rename from static/assets/lab/ab-tx-dashboard-01232026.png rename to assets/lab/ab-tx-dashboard-01232026.png diff --git a/static/assets/lab/horizon-assets-usdc-response.png b/assets/lab/horizon-assets-usdc-response.png similarity index 100% rename from static/assets/lab/horizon-assets-usdc-response.png rename to assets/lab/horizon-assets-usdc-response.png diff --git a/static/assets/lab/horizon-assets-usdc.png b/assets/lab/horizon-assets-usdc.png similarity index 100% rename from static/assets/lab/horizon-assets-usdc.png rename to assets/lab/horizon-assets-usdc.png diff --git a/static/assets/lab/horizon-assets.png b/assets/lab/horizon-assets.png similarity index 100% rename from static/assets/lab/horizon-assets.png rename to assets/lab/horizon-assets.png diff --git a/static/assets/lab/horizon-endpoints.png b/assets/lab/horizon-endpoints.png similarity index 100% rename from static/assets/lab/horizon-endpoints.png rename to assets/lab/horizon-endpoints.png diff --git a/static/assets/lab/horizon-payments-response.png b/assets/lab/horizon-payments-response.png similarity index 100% rename from static/assets/lab/horizon-payments-response.png rename to assets/lab/horizon-payments-response.png diff --git a/static/assets/lab/horizon-payments.png b/assets/lab/horizon-payments.png similarity index 100% rename from static/assets/lab/horizon-payments.png rename to assets/lab/horizon-payments.png diff --git a/static/assets/lab/horizon-save-modal.png b/assets/lab/horizon-save-modal.png similarity index 100% rename from static/assets/lab/horizon-save-modal.png rename to assets/lab/horizon-save-modal.png diff --git a/static/assets/lab/horizon-save.png b/assets/lab/horizon-save.png similarity index 100% rename from static/assets/lab/horizon-save.png rename to assets/lab/horizon-save.png diff --git a/static/assets/lab/horizon-share.png b/assets/lab/horizon-share.png similarity index 100% rename from static/assets/lab/horizon-share.png rename to assets/lab/horizon-share.png diff --git a/static/assets/lab/lab-01232026.png b/assets/lab/lab-01232026.png similarity index 100% rename from static/assets/lab/lab-01232026.png rename to assets/lab/lab-01232026.png diff --git a/static/assets/lab/lab-account-saved-manual.png b/assets/lab/lab-account-saved-manual.png similarity index 100% rename from static/assets/lab/lab-account-saved-manual.png rename to assets/lab/lab-account-saved-manual.png diff --git a/static/assets/lab/lab-account-saved-usage-public.png b/assets/lab/lab-account-saved-usage-public.png similarity index 100% rename from static/assets/lab/lab-account-saved-usage-public.png rename to assets/lab/lab-account-saved-usage-public.png diff --git a/static/assets/lab/lab-account-saved-usage-secret.png b/assets/lab/lab-account-saved-usage-secret.png similarity index 100% rename from static/assets/lab/lab-account-saved-usage-secret.png rename to assets/lab/lab-account-saved-usage-secret.png diff --git a/static/assets/lab/lab-account-saved.png b/assets/lab/lab-account-saved.png similarity index 100% rename from static/assets/lab/lab-account-saved.png rename to assets/lab/lab-account-saved.png diff --git a/static/assets/lab/lab-already-uploaded.gif b/assets/lab/lab-already-uploaded.gif similarity index 100% rename from static/assets/lab/lab-already-uploaded.gif rename to assets/lab/lab-already-uploaded.gif diff --git a/static/assets/lab/lab-contract-explorer-build.png b/assets/lab/lab-contract-explorer-build.png similarity index 100% rename from static/assets/lab/lab-contract-explorer-build.png rename to assets/lab/lab-contract-explorer-build.png diff --git a/static/assets/lab/lab-contract-explorer-info.png b/assets/lab/lab-contract-explorer-info.png similarity index 100% rename from static/assets/lab/lab-contract-explorer-info.png rename to assets/lab/lab-contract-explorer-info.png diff --git a/static/assets/lab/lab-contract-explorer-invoke.gif b/assets/lab/lab-contract-explorer-invoke.gif similarity index 100% rename from static/assets/lab/lab-contract-explorer-invoke.gif rename to assets/lab/lab-contract-explorer-invoke.gif diff --git a/static/assets/lab/lab-contract-explorer-source.png b/assets/lab/lab-contract-explorer-source.png similarity index 100% rename from static/assets/lab/lab-contract-explorer-source.png rename to assets/lab/lab-contract-explorer-source.png diff --git a/static/assets/lab/lab-contract-explorer-spec.png b/assets/lab/lab-contract-explorer-spec.png similarity index 100% rename from static/assets/lab/lab-contract-explorer-spec.png rename to assets/lab/lab-contract-explorer-spec.png diff --git a/static/assets/lab/lab-contract-explorer-storage.png b/assets/lab/lab-contract-explorer-storage.png similarity index 100% rename from static/assets/lab/lab-contract-explorer-storage.png rename to assets/lab/lab-contract-explorer-storage.png diff --git a/static/assets/lab/lab-contract-explorer-version.png b/assets/lab/lab-contract-explorer-version.png similarity index 100% rename from static/assets/lab/lab-contract-explorer-version.png rename to assets/lab/lab-contract-explorer-version.png diff --git a/static/assets/lab/lab-contract-explorer.png b/assets/lab/lab-contract-explorer.png similarity index 100% rename from static/assets/lab/lab-contract-explorer.png rename to assets/lab/lab-contract-explorer.png diff --git a/static/assets/lab/lab-custom-network.png b/assets/lab/lab-custom-network.png similarity index 100% rename from static/assets/lab/lab-custom-network.png rename to assets/lab/lab-custom-network.png diff --git a/static/assets/lab/lab-deploy-contract.gif b/assets/lab/lab-deploy-contract.gif similarity index 100% rename from static/assets/lab/lab-deploy-contract.gif rename to assets/lab/lab-deploy-contract.gif diff --git a/static/assets/lab/lab-events.png b/assets/lab/lab-events.png similarity index 100% rename from static/assets/lab/lab-events.png rename to assets/lab/lab-events.png diff --git a/static/assets/lab/lab-fee.png b/assets/lab/lab-fee.png similarity index 100% rename from static/assets/lab/lab-fee.png rename to assets/lab/lab-fee.png diff --git a/static/assets/lab/lab-fund-01232026.png b/assets/lab/lab-fund-01232026.png similarity index 100% rename from static/assets/lab/lab-fund-01232026.png rename to assets/lab/lab-fund-01232026.png diff --git a/static/assets/lab/lab-horizon-saved-requests.png b/assets/lab/lab-horizon-saved-requests.png similarity index 100% rename from static/assets/lab/lab-horizon-saved-requests.png rename to assets/lab/lab-horizon-saved-requests.png diff --git a/static/assets/lab/lab-horizon-view-docs.png b/assets/lab/lab-horizon-view-docs.png similarity index 100% rename from static/assets/lab/lab-horizon-view-docs.png rename to assets/lab/lab-horizon-view-docs.png diff --git a/static/assets/lab/lab-keypair-01232026.png b/assets/lab/lab-keypair-01232026.png similarity index 100% rename from static/assets/lab/lab-keypair-01232026.png rename to assets/lab/lab-keypair-01232026.png diff --git a/static/assets/lab/lab-resource-profiler.png b/assets/lab/lab-resource-profiler.png similarity index 100% rename from static/assets/lab/lab-resource-profiler.png rename to assets/lab/lab-resource-profiler.png diff --git a/static/assets/lab/lab-rpc-methods-saved.png b/assets/lab/lab-rpc-methods-saved.png similarity index 100% rename from static/assets/lab/lab-rpc-methods-saved.png rename to assets/lab/lab-rpc-methods-saved.png diff --git a/static/assets/lab/lab-signatures.png b/assets/lab/lab-signatures.png similarity index 100% rename from static/assets/lab/lab-signatures.png rename to assets/lab/lab-signatures.png diff --git a/static/assets/lab/lab-single-account-response.png b/assets/lab/lab-single-account-response.png similarity index 100% rename from static/assets/lab/lab-single-account-response.png rename to assets/lab/lab-single-account-response.png diff --git a/static/assets/lab/lab-single-account.png b/assets/lab/lab-single-account.png similarity index 100% rename from static/assets/lab/lab-single-account.png rename to assets/lab/lab-single-account.png diff --git a/static/assets/lab/lab-state-change.png b/assets/lab/lab-state-change.png similarity index 100% rename from static/assets/lab/lab-state-change.png rename to assets/lab/lab-state-change.png diff --git a/static/assets/lab/lab-token-contracts.png b/assets/lab/lab-token-contracts.png similarity index 100% rename from static/assets/lab/lab-token-contracts.png rename to assets/lab/lab-token-contracts.png diff --git a/static/assets/lab/lab-token-summary.png b/assets/lab/lab-token-summary.png similarity index 100% rename from static/assets/lab/lab-token-summary.png rename to assets/lab/lab-token-summary.png diff --git a/static/assets/lab/lab-transactions-build.png b/assets/lab/lab-transactions-build.png similarity index 100% rename from static/assets/lab/lab-transactions-build.png rename to assets/lab/lab-transactions-build.png diff --git a/static/assets/lab/lab-transactions-ops.png b/assets/lab/lab-transactions-ops.png similarity index 100% rename from static/assets/lab/lab-transactions-ops.png rename to assets/lab/lab-transactions-ops.png diff --git a/static/assets/lab/lab-transactions-response-error.png b/assets/lab/lab-transactions-response-error.png similarity index 100% rename from static/assets/lab/lab-transactions-response-error.png rename to assets/lab/lab-transactions-response-error.png diff --git a/static/assets/lab/lab-transactions-response-success.png b/assets/lab/lab-transactions-response-success.png similarity index 100% rename from static/assets/lab/lab-transactions-response-success.png rename to assets/lab/lab-transactions-response-success.png diff --git a/static/assets/lab/lab-transactions-saved.png b/assets/lab/lab-transactions-saved.png similarity index 100% rename from static/assets/lab/lab-transactions-saved.png rename to assets/lab/lab-transactions-saved.png diff --git a/static/assets/lab/lab-tx-details.png b/assets/lab/lab-tx-details.png similarity index 100% rename from static/assets/lab/lab-tx-details.png rename to assets/lab/lab-tx-details.png diff --git a/static/assets/lab/lab-upload-contract.gif b/assets/lab/lab-upload-contract.gif similarity index 100% rename from static/assets/lab/lab-upload-contract.gif rename to assets/lab/lab-upload-contract.gif diff --git a/static/assets/lab/lab-upload-deploy-page.png b/assets/lab/lab-upload-deploy-page.png similarity index 100% rename from static/assets/lab/lab-upload-deploy-page.png rename to assets/lab/lab-upload-deploy-page.png diff --git a/static/assets/lab/lab-xdr-diff-dropdown.png b/assets/lab/lab-xdr-diff-dropdown.png similarity index 100% rename from static/assets/lab/lab-xdr-diff-dropdown.png rename to assets/lab/lab-xdr-diff-dropdown.png diff --git a/static/assets/lab/lab-xdr-diff-filled.png b/assets/lab/lab-xdr-diff-filled.png similarity index 100% rename from static/assets/lab/lab-xdr-diff-filled.png rename to assets/lab/lab-xdr-diff-filled.png diff --git a/static/assets/lab/lab-xdr-diff.png b/assets/lab/lab-xdr-diff.png similarity index 100% rename from static/assets/lab/lab-xdr-diff.png rename to assets/lab/lab-xdr-diff.png diff --git a/static/assets/lab/lab-xdr-from-json-dropdown.png b/assets/lab/lab-xdr-from-json-dropdown.png similarity index 100% rename from static/assets/lab/lab-xdr-from-json-dropdown.png rename to assets/lab/lab-xdr-from-json-dropdown.png diff --git a/static/assets/lab/lab-xdr-from-json-filled.png b/assets/lab/lab-xdr-from-json-filled.png similarity index 100% rename from static/assets/lab/lab-xdr-from-json-filled.png rename to assets/lab/lab-xdr-from-json-filled.png diff --git a/static/assets/lab/lab-xdr-from-json.png b/assets/lab/lab-xdr-from-json.png similarity index 100% rename from static/assets/lab/lab-xdr-from-json.png rename to assets/lab/lab-xdr-from-json.png diff --git a/static/assets/lab/lab-xdr-to-json-dropdown.png b/assets/lab/lab-xdr-to-json-dropdown.png similarity index 100% rename from static/assets/lab/lab-xdr-to-json-dropdown.png rename to assets/lab/lab-xdr-to-json-dropdown.png diff --git a/static/assets/lab/lab-xdr-to-json-filled.png b/assets/lab/lab-xdr-to-json-filled.png similarity index 100% rename from static/assets/lab/lab-xdr-to-json-filled.png rename to assets/lab/lab-xdr-to-json-filled.png diff --git a/static/assets/lab/lab-xdr-to-json.png b/assets/lab/lab-xdr-to-json.png similarity index 100% rename from static/assets/lab/lab-xdr-to-json.png rename to assets/lab/lab-xdr-to-json.png diff --git a/static/assets/lab/restore-footprint.gif b/assets/lab/restore-footprint.gif similarity index 100% rename from static/assets/lab/restore-footprint.gif rename to assets/lab/restore-footprint.gif diff --git a/static/assets/lab/rpc-methods-item.png b/assets/lab/rpc-methods-item.png similarity index 100% rename from static/assets/lab/rpc-methods-item.png rename to assets/lab/rpc-methods-item.png diff --git a/static/assets/lab/smart-contract-list-01232026.png b/assets/lab/smart-contract-list-01232026.png similarity index 100% rename from static/assets/lab/smart-contract-list-01232026.png rename to assets/lab/smart-contract-list-01232026.png diff --git a/static/assets/lab/stellar-lab-restore.png b/assets/lab/stellar-lab-restore.png similarity index 100% rename from static/assets/lab/stellar-lab-restore.png rename to assets/lab/stellar-lab-restore.png diff --git a/static/assets/lab/tx-dashboard-classic.png b/assets/lab/tx-dashboard-classic.png similarity index 100% rename from static/assets/lab/tx-dashboard-classic.png rename to assets/lab/tx-dashboard-classic.png diff --git a/static/assets/lab/tx-dashboard-ops.png b/assets/lab/tx-dashboard-ops.png similarity index 100% rename from static/assets/lab/tx-dashboard-ops.png rename to assets/lab/tx-dashboard-ops.png diff --git a/static/assets/quickstart/stellar_lab_screenshot.png b/assets/quickstart/stellar_lab_screenshot.png similarity index 100% rename from static/assets/quickstart/stellar_lab_screenshot.png rename to assets/quickstart/stellar_lab_screenshot.png diff --git a/static/assets/security/threat-modeling.png b/assets/security/threat-modeling.png similarity index 100% rename from static/assets/security/threat-modeling.png rename to assets/security/threat-modeling.png diff --git a/config/anchorPlatform.sidebar.ts b/config/anchorPlatform.sidebar.ts deleted file mode 100644 index 36b7329bf..000000000 --- a/config/anchorPlatform.sidebar.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; - -const sidebars: SidebarsConfig = { - anchor_platform: [ - { - type: 'category', - label: 'Anchor Platform', - link: { - type: 'doc', - id: 'platforms/anchor-platform/README', - }, - items: [ - { - type: 'autogenerated', - dirName: 'platforms/anchor-platform', - } - ], - }, - ], -} - -export default sidebars; diff --git a/config/constants.ts b/config/constants.ts deleted file mode 100644 index 36488fdf6..000000000 --- a/config/constants.ts +++ /dev/null @@ -1,33 +0,0 @@ -export const CODE_LANGS = { - bash: 'bash', - cpp: 'C++', - css: 'CSS', - curl: 'cURL', - dart: 'Flutter', - flutter: 'Flutter', - swift: 'Swift', - docker: 'Dockerfile', - go: 'Go', - html: 'HTML', - kotlin: 'Kotlin', - kt: 'Kotlin', - java: 'Java', - javascript: 'JavaScript', - js: 'JavaScript', - jsx: 'JSX', - json: 'JSON', - json5: 'JSON5', - python: 'Python', - scss: 'SCSS', - sql: 'SQL', - rust: 'Rust', - php: 'PHP', - toml: 'TOML', - ts: 'TypeScript', - tsx: 'TSX', - typescript: 'TypeScript', - yaml: 'YAML', -}; - -const GOOGLE_TRANSLATE_LANGUAGES: string = "af,sq,am,en,fa,ar,ps,ja,zh-CN,hy,az,eu,be,bn,bs,bg,ca,ceb,ny,zh-TW,co,hr,cs,da,nl,eo,et,tl,fi,fr,fy,gl,ka,de,el,gu,ht,ha,haw,iw,hi,hmn,hu,is,ig,id,ga,it,jw,kn,kk,km,rw,ko,ku,ky,lo,la,lv,lt,lb,mk,mg,ms,ml,mt,mi,mr,mn,my,ne,no,pl,pt,pa,ro,ru,sm,gd,sr,st,sn,sd,si,sk,sl,so,es,su,sw,sv,tg,ta,te,th,tr,uk,ur,uz,vi,cy,xh,yi,yo,zu"; -export const GOOGLE_TRANSLATE_ELEMENT: string = ``; diff --git a/config/disbursementPlatform.sidebar.ts b/config/disbursementPlatform.sidebar.ts deleted file mode 100644 index b8f256a0e..000000000 --- a/config/disbursementPlatform.sidebar.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; - -import sdpSidebar from "../docs/platforms/stellar-disbursement-platform/api-reference/sidebar"; - -const sidebars: SidebarsConfig = { - stellar_disbursement_platform: [ - { - type: "category", - label: "Stellar Disbursement Platform", - link: { - type: "doc", - id: "platforms/stellar-disbursement-platform/README", - }, - items: [ - "platforms/stellar-disbursement-platform/README", - { - type: "category", - label: "Admin Guide", - collapsed: false, - link: { - description: - "All you need to know about setting up, running, and using the Stellar Disbursement Platform.", - type: "generated-index", - slug: "platforms/stellar-disbursement-platform/admin-guide", - }, - items: [{ type: "autogenerated", dirName: "platforms/stellar-disbursement-platform/admin-guide" }], - }, - { - type: "category", - label: "API Reference", - collapsed: true, - link: { - description: - "View all Stellar Disbursement Platform API information.", - type: "generated-index", - slug: "platforms/stellar-disbursement-platform/api-reference", - }, - items: [...sdpSidebar.filter((item) => item.type === "category")], - }, - ], - }, - ], -}; - -export default sidebars; diff --git a/config/sidebars.ts b/config/sidebars.ts deleted file mode 100644 index 39948aa72..000000000 --- a/config/sidebars.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { SidebarsConfig } from "@docusaurus/plugin-content-docs"; -import ap_sidebars from "./anchorPlatform.sidebar"; -import sdp_sidebars from "./disbursementPlatform.sidebar" - -const sidebars: SidebarsConfig = { - build: [ - { - type: 'autogenerated', - dirName: 'build', - }, - ], - learn: [ - { - type: 'autogenerated', - dirName: 'learn', - }, - ], - tokens: [ - { - type: 'autogenerated', - dirName: 'tokens', - }, - ], - data: [ - { - type: 'autogenerated', - dirName: 'data', - }, - ], - tools: [ - { - type: 'autogenerated', - dirName: 'tools', - }, - { type: 'html', value: 'SDF Platforms', defaultStyle: true, className: 'networkMenuHtmlItem'}, - { type: 'link', href: '/docs/platforms/anchor-platform', label: 'Anchor Platform'}, - { type: 'link', href: '/docs/platforms/stellar-disbursement-platform', label: 'Stellar Disbursement Platform'}, - ], - networks: [ - { - type: 'autogenerated', - dirName: 'networks', - }, - ], - validators: [ - { - type: 'autogenerated', - dirName: 'validators', - }, - ], - anchor_platform: ap_sidebars.anchor_platform, - stellar_disbursement_platform: sdp_sidebars.stellar_disbursement_platform, -}; - -export default sidebars; diff --git a/config/theme/footer.ts b/config/theme/footer.ts deleted file mode 100644 index a56d6cb38..000000000 --- a/config/theme/footer.ts +++ /dev/null @@ -1,115 +0,0 @@ -import type { FooterLinkItem } from "@docusaurus/theme-common"; - -const resources = { - title: "Resources", - items: [ - { - label: "Developer Blog", - href: "https://stellar.org/developers-blog", - }, - { - label: "Stellar Quest", - href: "https://quest.stellar.org/", - }, - { - label: "Soroban Quest", - href: "https://fastcheapandoutofcontrol.com/tutorial", - }, - { - label: "YouTube", - href: "https://www.youtube.com/@StellarDevelopmentFoundation", - }, - { - label: "Twitch", - href: "https://m.twitch.tv/stellarorg/home", - }, - { - html: 'llms.txt' - }, - ] satisfies FooterLinkItem[], -}; - -const tools = { - title: "Tools", - items: [ - { - label: "Explorer", - href: "https://stellar.expert", - }, - { - label: "Lab", - href: "https://lab.stellar.org", - }, - { - label: "Status", - href: "https://status.stellar.org/", - }, - { - label: "Dashboard", - href: "https://dashboard.stellar.org/", - }, - { - label: "All Tools", - to: "/docs/tools", - }, - ] satisfies FooterLinkItem[], -}; - -const community = { - title: "Community", - items: [ - { - label: "Contribute to Docs", - href: "https://github.com/stellar/stellar-docs?tab=readme-ov-file#contributing", - }, - { - label: "Developer Discord", - href: "https://discord.gg/stellardev", - }, - { - label: "Developer Meetings", - to: "/meetings", - }, - { - label: "Developer Google Group", - href: "https://groups.google.com/g/stellar-dev", - }, - { - label: "Stack Exchange", - href: "https://stellar.stackexchange.com/", - }, - { - label: "Stellar Community Fund", - href: "https://communityfund.stellar.org/", - }, - ] satisfies FooterLinkItem[], -}; - -const about = { - title: "About", - items: [ - { - label: "About SDF", - href: "https://stellar.org/foundation", - }, - { - label: "Careers", - href: "https://stellar.org/foundation/careers", - }, - { - label: "Events", - href: "https://stellar.org/events", - }, - { - label: "Grants & Funding", - href: "https://stellar.org/foundation/grants-and-funding", - }, - ] satisfies FooterLinkItem[], -}; - -export default { - resources, - tools, - community, - about, -}; diff --git a/config/theme/headTags.ts b/config/theme/headTags.ts deleted file mode 100644 index eb539dfd5..000000000 --- a/config/theme/headTags.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { HtmlTagObject } from '@docusaurus/types/src/plugin'; - -export const headTags: HtmlTagObject[] = [ - { - tagName: 'link', - attributes: { - rel: 'preconnect', - href: 'https://dev.visualwebsiteoptimizer.com', - }, - }, - { - tagName: 'script', - attributes: { - id: 'vwoCode', - }, - innerHTML: ` - window._vwo_code || (function() { - var account_id=814004, - version=2.1, - settings_tolerance=2000, - hide_element='body', - hide_element_style='opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', - f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;display: block !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})(); - `, - }, -] diff --git a/config/theme/navbar.ts b/config/theme/navbar.ts deleted file mode 100644 index 616b889df..000000000 --- a/config/theme/navbar.ts +++ /dev/null @@ -1,588 +0,0 @@ -import type { NavbarItem } from '@docusaurus/theme-common'; -import { GOOGLE_TRANSLATE_ELEMENT } from '../constants'; - -const build: NavbarItem = { - type: 'dropdown', - label: 'Build', - position: 'left', - to: '/docs/build', - items: [ - { - to: '/docs/build', - label: 'Overview', - activeBasePath: 'docs/build', - }, - { - to: '/docs/build/building-with-ai', - label: 'Building with AI', - activeBasePath: 'docs/build/building-with-ai', - }, - { - type: 'html', - value: '
Build Smart Contracts', - className: 'subtitle', - }, - { - to: '/docs/build/smart-contracts/overview', - label: 'Introduction', - activeBasePath: 'docs/build/smart-contracts/overview', - }, - { - to: '/docs/build/smart-contracts/getting-started', - label: 'Getting Started', - activeBasePath: 'docs/build/smart-contracts/getting-started', - className: 'has-nested-items', - }, - { - to: '/docs/build/smart-contracts/example-contracts', - label: 'Example Contracts', - activeBasePath: 'docs/build/smart-contracts/example-contracts', - className: 'has-nested-items', - }, - { - type: 'html', - value: '
Build Applications', - className: 'subtitle', - }, - { - to: '/docs/build/apps/overview', - label: 'Introduction', - activeBasePath: 'docs/build/apps/overview', - }, - { - to: '/docs/build/apps/application-design-considerations', - label: 'Application Design Considerations', - activeBasePath: 'docs/build/apps/application-design-considerations', - }, - { - to: '/docs/build/apps/wallet/overview', - label: 'Tutorial: Wallet SDK', - activeBasePath: 'docs/build/apps/wallet/overview', - }, - { - to: '/docs/build/apps/example-application-tutorial/overview', - label: 'Tutorial: Payment Application, JavaScript', - activeBasePath: 'docs/build/apps/example-application-tutorial/overview', - }, - { - to: '/docs/build/apps/swift-payment-app', - label: 'Tutorial: Payment Application, Swift', - activeBasePath: 'docs/build/apps/swift-payment-app', - }, - { - to: '/docs/build/apps/ingest-sdk/overview', - label: 'Tutorial: Network Ingestion Pipeline', - activeBasePath: 'docs/build/apps/ingest-sdk/overview', - }, - { - to: '/docs/build/apps/guestbook/overview', - label: 'Tutorial: Passkey Dapp', - activeBasePath: 'docs/build/apps/guestbook/overview', - }, - { - to: '/docs/build/apps/dapp-frontend', - label: 'Tutorial: Dapp Frontend', - activeBasePath: 'docs/build/apps/dapp-frontend', - }, - { - to: '/docs/build/apps/privacy', - label: 'Privacy on Stellar', - activeBasePath: 'docs/build/apps/privacy', - }, - { - to: '/docs/build/apps/zk', - label: 'ZK Proofs on Stellar', - activeBasePath: 'docs/build/apps/zk', - }, - { - type: 'html', - value: '
Agentic Payments', - className: 'subtitle', - }, - { - to: '/docs/build/agentic-payments/x402', - label: 'x402 on Stellar', - activeBasePath: 'docs/build/agentic-payments/x402', - }, - { - to: '/docs/build/agentic-payments/mpp', - label: 'MPP on Stellar', - activeBasePath: 'docs/build/agentic-payments/mpp', - }, - { - type: 'html', - value: '
How-To Guides', - className: 'subtitle', - }, - { - to: '/docs/build/guides/auth', - label: 'Contract Authorization', - activeBasePath: 'docs/build/guides/auth', - }, - { - to: '/docs/build/guides/contract-accounts', - label: 'Contract Accounts', - activeBasePath: 'docs/build/guides/contract-accounts', - }, - { - to: '/docs/build/guides/conventions', - label: 'Contract Conventions', - activeBasePath: 'docs/build/guides/conventions', - }, - { - to: '/docs/build/guides/events', - label: 'Contract Events', - activeBasePath: 'docs/build/guides/events', - }, - { - to: '/docs/build/guides/storage', - label: 'Contract Storage', - activeBasePath: 'docs/build/guides/storage', - }, - { - to: '/docs/build/guides/testing', - label: 'Contract Testing', - activeBasePath: 'docs/build/guides/testing', - }, - { - to: '/docs/build/guides/dapps', - label: 'Dapp Development', - activeBasePath: 'docs/build/guides/dapps', - }, - { - to: '/docs/build/guides/fees', - label: 'Fees & Metering', - activeBasePath: 'docs/build/guides/fees', - }, - { - to: '/docs/build/guides/freighter', - label: 'Freighter Wallet', - activeBasePath: 'docs/build/guides/freighter', - }, - { - to: '/docs/build/guides/basics', - label: 'Stellar Basics', - activeBasePath: 'docs/build/guides/basics', - }, - { - to: '/docs/build/guides/rpc', - label: 'RPC', - activeBasePath: 'docs/build/guides/rpc', - }, - { - to: '/docs/build/guides/archival', - label: 'State Archival', - activeBasePath: 'docs/build/guides/archival', - }, - { - to: '/docs/build/guides/tokens', - label: 'Stellar Asset Contract Tokens', - activeBasePath: 'docs/build/guides/tokens', - }, - { - to: '/docs/build/guides/transactions', - label: 'Transactions', - activeBasePath: 'docs/build/guides/transactions', - }, - { - to: '/docs/build/guides/conversions', - label: 'Type Conversions', - activeBasePath: 'docs/build/guides/conversions', - }, - { - type: 'html', - value: '
Security Best Practices', - }, - ], -} - -const learn: NavbarItem = { - type: 'dropdown', - label: 'Learn', - position: 'left', - to: '/docs/learn/fundamentals', - items: [ - { - type: 'html', - value: '
Core Concepts', - className: 'subtitle', - }, - { - to: '/docs/learn/fundamentals/stellar-stack', - label: 'Stellar Stack', - activeBasePath: 'docs/learn/fundamentals/stellar-stack', - }, - { - to: '/docs/learn/fundamentals/lumens', - label: 'Lumens (XLM)', - activeBasePath: 'docs/learn/fundamentals/lumens', - }, - { - to: '/docs/learn/fundamentals/stellar-consensus-protocol', - label: 'Stellar Consensus Protocol (SCP)', - activeBasePath: 'docs/learn/fundamentals/stellar-consensus-protocol', - }, - { - to: '/docs/learn/fundamentals/stellar-data-structures', - label: 'Data Structures', - activeBasePath: 'docs/learn/fundamentals/stellar-data-structures', - className: 'has-nested-items', - }, - { - to: '/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools', - label: 'Stellar Decentralized Exchange (SDEX)', - activeBasePath: 'docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools', - }, - { - to: '/docs/learn/fundamentals/transactions', - label: 'Operations & Transactions', - activeBasePath: 'docs/learn/fundamentals/transactions', - className: 'has-nested-items', - }, - { - to: '/docs/learn/fundamentals/fees-resource-limits-metering', - label: 'Fees & Metering', - activeBasePath: 'docs/learn/fundamentals/fees-resource-limits-metering', - }, - { - to: '/docs/learn/fundamentals/stellar-ecosystem-proposals', - label: 'Stellar Ecosystem Proposals (SEPs)', - activeBasePath: 'docs/learn/fundamentals/stellar-ecosystem-proposals', - }, - { - to: '/docs/learn/fundamentals/contract-development', - label: 'Smart Contracts', - activeBasePath: 'docs/learn/fundamentals/contract-development', - className: 'has-nested-items', - }, - { - to: '/docs/learn/fundamentals/data-format', - label: 'Data Format', - activeBasePath: 'docs/learn/fundamentals/data-format', - className: 'has-nested-items', - }, - { - to: '/docs/learn/fundamentals/anchors', - label: 'Ramps (anchors)', - activeBasePath: 'docs/learn/fundamentals/anchors', - }, - { - type: 'html', - value: '
Glossary', - }, - { - to: 'docs/learn/migrate', - label: 'Migrate from Another Chain', - }, - { - to: 'docs/learn/interactive', - label: 'Interactive Learning', - }, - ], -} - -const tokens: NavbarItem = { - type: 'dropdown', - label: 'Tokens', - position: 'left', - to: '/docs/tokens', - exact: true, - items: [ - { - to: '/docs/tokens', - label: 'Stellar Assets & Contract Tokens', - exact: true, - }, - { - to: 'docs/tokens/anatomy-of-an-asset', - label: 'Assets Overview', - }, - { - to: '/docs/tokens/quickstart', - label: 'Quickstart Guide', - }, - { - to: '/docs/tokens/control-asset-access', - label: 'Asset Design Considerations', - }, - { - to: '/docs/tokens/stellar-asset-contract', - label: 'Stellar Asset Contract', - }, - { - to: '/docs/tokens/token-interface', - label: 'Token Interface', - }, - { - to: '/docs/tokens/how-to-issue-an-asset', - label: 'Tutorial: Issue an Asset', - }, - { - to: '/docs/tokens/publishing-asset-info', - label: 'Publish Asset Information', - }, - { - to: '/docs/tokens/cross-chain-transfers', - label: 'CCTP', - }, - { - to: '/docs/tokens/usdt0-layerzero', - label: 'USDT0', - }, - ], -} - -const data: NavbarItem = { - type: "dropdown", - label: "Data", - position: "left", - to: '/docs/data', - items: [ - { - type: 'doc', - docId: "data/README", - label: "Overview", - }, - { - type: 'html', - value: '
Analytics', - className:'subtitle' - }, - { - to: '/docs/data/analytics/hubble', - label: 'Hubble', - activeBasePath: 'docs/data/analytics/hubble' - }, - { - to: '/docs/data/analytics/public-dashboards', - label: 'Dashboards', - activeBasePath: 'docs/data/analytics/public-dashboards' - }, - { - to: '/docs/data/analytics/analytics-providers', - label: 'Providers', - activeBasePath: 'docs/data/analytics/analytics-providers' - }, - { - type: 'html', - value: '
API', - className:'subtitle' - }, - { - to: '/docs/data/apis/rpc', - label: 'RPC', - activeBasePath: 'docs/data/apis/rpc' - }, - { - to: '/docs/data/apis/rpc/providers', - label: 'RPC Providers', - activeBasePath: 'docs/data/apis/rpc/providers' - }, - { - to: '/docs/data/apis/horizon', - label: 'Horizon', - activeBasePath: 'docs/data/apis/horizon' - }, - { - to: '/docs/data/apis/horizon/providers', - label: 'Horizon Providers', - activeBasePath: 'docs/data/apis/horizon/providers' - }, - { - to: '/docs/data/apis/migrate-from-horizon-to-rpc', - label: 'Migrate Horizon to RPC', - activeBasePath: 'docs/data/apis/migrate-from-horizon-to-rpc' - }, - { - type: 'html', - value: '
Indexers', - className:'subtitle' - }, - { - to: '/docs/data/indexers/build-your-own', - label: 'Build Your Own', - activeBasePath: 'docs/data/indexers/build-your-own' - }, - { - type: 'html', - value: '
Oracles', - className:'subtitle' - }, - { - to: '/docs/data/oracles', - label: 'Providers', - activeBasePath: 'docs/data/oracles' - }, - ] -} - -const tools: NavbarItem = { - type: 'dropdown', - label: 'Tools', - position: 'left', - to: '/docs/tools', - activeBaseRegex: `(docs/tools|platforms)`, - items: [ - { - type: 'html', - value: '
Developer Tools', - className: 'subtitle', - }, - { - to: '/docs/tools/sdks', - label: 'SDKs', - activeBasePath: 'docs/tools/sdks' - }, - { - to: '/docs/tools/cli', - label: 'Stellar CLI', - activeBasePath: 'docs/tools/cli' - }, - { - to: '/docs/tools/cli/agent-cli', - label: 'Stellar CLI for Agents', - activeBasePath: 'docs/tools/cli/agent-cli' - }, - { - to: '/docs/tools/lab', - label: 'Lab', - activeBasePath: 'docs/tools/lab' - }, - { - to: '/docs/tools/quickstart', - label: 'Quickstart', - activeBasePath: 'docs/tools/quickstart' - }, - { - to: '/docs/tools/openzeppelin-relayer', - label: 'OpenZeppelin Relayer', - activeBasePath: 'docs/tools/openzeppelin-relayer' - }, - { - to: '/docs/tools/openzeppelin-contracts', - label: 'OpenZeppelin Contracts', - activeBasePath: 'docs/tools/openzeppelin-contracts' - }, - { - to: '/docs/tools/scaffold-stellar', - label: 'Scaffold Stellar', - activeBasePath: 'docs/tools/scaffold-stellar' - }, - { - to: '/docs/tools/developer-tools', - label: 'More Developer Tools', - className: 'has-nested-items', - }, - { - type: 'html', - value: '
Ramps', - className: 'subtitle', - }, - { - to: '/docs/tools/ramps/moneygram', - label: 'MoneyGram Ramps', - activeBasePath: '/docs/tools/ramps/moneygram' - }, - { - type: 'html', - value: '
Infra Tools', - className: 'subtitle', - }, - { - to: '/docs/tools/infra-tools/cross-chain', - label: 'Cross-Chain', - activeBasePath: 'docs/tools/infra-tools/cross-chain' - }, - { - type: 'html', - value: '
SDF Platforms', - className: 'subtitle', - }, - { - type: 'docSidebar', - // docId: "docs/platforms/anchor-platform/README", - sidebarId: 'anchor_platform', - label: "Anchor Platform", - }, - { - type: 'docSidebar', - // docId: "docs/platforms/stellar-disbursement-platform/README", - sidebarId: 'stellar_disbursement_platform', - label: "Stellar Disbursement Platform", - }, - ] -} - -const networks: NavbarItem = { - type: 'dropdown', - label: 'Networks', - position: 'left', - to: '/docs/networks', - exact: true, - items: [ - { - to: '/docs/networks', - label: 'Networks Overview', - exact: true, - }, - { - to: '/docs/networks/software-versions', - label: 'Software Versions', - }, - { - to: '/docs/networks/resource-limits-fees', - label: 'Resource Limits & Fees', - }, - { - to: '/docs/networks/audits', - label: 'Audits', - } - ] -} - -const validators: NavbarItem = { - type: 'dropdown', - label: 'Validators', - position: 'left', - to: '/docs/validators', - exact: true, - items: [ - { - to: 'docs/validators', - label: 'Validators Introduction', - exact: true, - }, - { - to: 'docs/validators/admin-guide', - label: 'Admin Guide', - }, - { - to: 'docs/validators/tier-1-orgs', - label: 'Tier 1 Organizations', - } - ] -} - -const translation: NavbarItem[] = [ - { - type: 'html', - position: 'right', - value: '
', - }, - { - type: 'html', - position: 'right', - value: GOOGLE_TRANSLATE_ELEMENT, - }, -] - -export default { - build, - learn, - tokens, - data, - tools, - networks, - validators, - translation, -} diff --git a/docs.json b/docs.json new file mode 100644 index 000000000..7d11d858f --- /dev/null +++ b/docs.json @@ -0,0 +1,1982 @@ +{ + "$schema": "https://mintlify.com/docs.json", + "theme": "sequoia", + "name": "Stellar Developer Docs", + "colors": { + "primary": "#6E56CF", + "light": "#9E8CFC", + "dark": "#5746AF" + }, + "fonts": { + "family": "Inter" + }, + "background": { + "color": { + "light": "#fcfcfc", + "dark": "#161616" + } + }, + "styling": { + "codeblocks": { + "theme": { + "light": "github-light", + "dark": "github-dark" + } + } + }, + "favicon": "/favicon.png", + "appearance": { + "default": "light" + }, + "seo": { + "metatags": { + "canonical": "https://developers.stellar.org" + } + }, + "navigation": { + "tabs": [ + { + "tab": "Build", + "pages": [ + { + "group": " ", + "pages": [ + "docs/build/index", + "docs/build/building-with-ai", + { + "group": "Build Smart Contracts", + "root": "docs/build/smart-contracts/index", + "pages": [ + "docs/build/smart-contracts/overview", + { + "group": "Getting Started", + "root": "docs/build/smart-contracts/getting-started/index", + "expanded": true, + "pages": [ + "docs/build/smart-contracts/getting-started/setup", + "docs/build/smart-contracts/getting-started/hello-world", + "docs/build/smart-contracts/getting-started/deploy-to-testnet", + "docs/build/smart-contracts/getting-started/storing-data", + "docs/build/smart-contracts/getting-started/deploy-increment-contract", + "docs/build/smart-contracts/getting-started/hello-world-frontend" + ] + }, + { + "group": "Example Contracts", + "root": "docs/build/smart-contracts/example-contracts/index", + "pages": [ + "docs/build/smart-contracts/example-contracts/storage", + "docs/build/smart-contracts/example-contracts/events", + "docs/build/smart-contracts/example-contracts/simple-account", + "docs/build/smart-contracts/example-contracts/complex-account", + "docs/build/smart-contracts/example-contracts/bls-signature", + "docs/build/smart-contracts/example-contracts/delegate-auth", + "docs/build/smart-contracts/example-contracts/custom-types", + "docs/build/smart-contracts/example-contracts/errors", + "docs/build/smart-contracts/example-contracts/logging", + "docs/build/smart-contracts/example-contracts/auth", + "docs/build/smart-contracts/example-contracts/cross-contract-call", + "docs/build/smart-contracts/example-contracts/deployer", + "docs/build/smart-contracts/example-contracts/alloc", + "docs/build/smart-contracts/example-contracts/atomic-swap", + "docs/build/smart-contracts/example-contracts/atomic-multi-swap", + "docs/build/smart-contracts/example-contracts/mint-lock", + "docs/build/smart-contracts/example-contracts/timelock", + "docs/build/smart-contracts/example-contracts/single-offer-sale", + "docs/build/smart-contracts/example-contracts/upgradeable-contract", + "docs/build/smart-contracts/example-contracts/liquidity-pool", + "docs/build/smart-contracts/example-contracts/tokens", + "docs/build/smart-contracts/example-contracts/fuzzing", + "docs/build/smart-contracts/example-contracts/workspace" + ] + } + ], + "expanded": true + }, + { + "group": "Build Applications", + "root": "docs/build/apps/index", + "pages": [ + "docs/build/apps/overview", + "docs/build/apps/application-design-considerations", + { + "group": "Build a Wallet with the Wallet SDK", + "root": "docs/build/apps/wallet/index", + "pages": [ + "docs/build/apps/wallet/overview", + "docs/build/apps/wallet/intro", + "docs/build/apps/wallet/stellar", + "docs/build/apps/wallet/sep10", + "docs/build/apps/wallet/sep24", + "docs/build/apps/wallet/sep30", + "docs/build/apps/wallet/sep6", + "docs/build/apps/wallet/sep38", + "docs/build/apps/wallet/sep7" + ] + }, + { + "group": "Build a Payment App with the JS SDK", + "root": "docs/build/apps/example-application-tutorial/index", + "pages": [ + "docs/build/apps/example-application-tutorial/overview", + "docs/build/apps/example-application-tutorial/account-creation", + "docs/build/apps/example-application-tutorial/confirmation-modal", + "docs/build/apps/example-application-tutorial/contacts-list", + "docs/build/apps/example-application-tutorial/manage-trust", + "docs/build/apps/example-application-tutorial/payment", + "docs/build/apps/example-application-tutorial/path-payment", + { + "group": "Anchor Integration", + "root": "docs/build/apps/example-application-tutorial/anchor-integration/index", + "pages": [ + "docs/build/apps/example-application-tutorial/anchor-integration/setup", + "docs/build/apps/example-application-tutorial/anchor-integration/sep1", + "docs/build/apps/example-application-tutorial/anchor-integration/sep10", + "docs/build/apps/example-application-tutorial/anchor-integration/sep6", + "docs/build/apps/example-application-tutorial/anchor-integration/sep24" + ] + }, + "docs/build/apps/example-application-tutorial/querying-data" + ] + }, + "docs/build/apps/swift-payment-app", + { + "group": "Build Custom Network Ingestion Pipeline", + "root": "docs/build/apps/ingest-sdk/index", + "pages": [ + "docs/build/apps/ingest-sdk/overview", + "docs/build/apps/ingest-sdk/ingestion-pipeline-code" + ] + }, + { + "group": "Build a Passkey Powered Guestbook Dapp", + "root": "docs/build/apps/guestbook/index", + "pages": [ + "docs/build/apps/guestbook/overview", + "docs/build/apps/guestbook/smart-contract", + "docs/build/apps/guestbook/bindings", + "docs/build/apps/guestbook/passkeys-prerequisites", + "docs/build/apps/guestbook/setup-passkeys", + "docs/build/apps/guestbook/frontend" + ] + }, + "docs/build/apps/dapp-frontend", + "docs/build/apps/privacy", + "docs/build/apps/zk" + ] + }, + { + "group": "Agentic Payments", + "root": "docs/build/agentic-payments/index", + "pages": [ + { + "group": "x402 on Stellar", + "root": "docs/build/agentic-payments/x402/index", + "expanded": true, + "pages": [ + "docs/build/agentic-payments/x402/built-on-stellar", + "docs/build/agentic-payments/x402/quickstart-guide" + ] + }, + { + "group": "MPP on Stellar", + "root": "docs/build/agentic-payments/mpp/index", + "expanded": true, + "pages": [ + "docs/build/agentic-payments/mpp/charge-guide", + "docs/build/agentic-payments/mpp/channel-guide" + ] + } + ], + "expanded": true + }, + { + "group": "How-To Guides", + "root": "docs/build/guides/index", + "pages": [ + { + "group": "Contract Authorization", + "root": "docs/build/guides/auth/index", + "pages": [ + "docs/build/guides/auth/check-auth-tutorials", + "docs/build/guides/auth/contract-authorization" + ] + }, + { + "group": "Contract Accounts", + "root": "docs/build/guides/contract-accounts/index", + "pages": [ + "docs/build/guides/contract-accounts/smart-wallets", + "docs/build/guides/contract-accounts/advanced-patterns", + "docs/build/guides/contract-accounts/examples" + ] + }, + { + "group": "Contract Conventions", + "root": "docs/build/guides/conventions/index", + "pages": [ + "docs/build/guides/conventions/cross-contract", + "docs/build/guides/conventions/deploy-contract", + "docs/build/guides/conventions/deploy-sac-with-code", + "docs/build/guides/conventions/error-enum", + "docs/build/guides/conventions/extending-wasm-ttl", + "docs/build/guides/conventions/upgrading-contracts", + "docs/build/guides/conventions/wasm-metadata", + "docs/build/guides/conventions/workspace" + ] + }, + { + "group": "Contract Events", + "root": "docs/build/guides/events/index", + "pages": [ + "docs/build/guides/events/consume", + "docs/build/guides/events/ingest", + "docs/build/guides/events/publish", + "docs/build/guides/events/replay-ledger-close-meta" + ] + }, + { + "group": "Contract Storage", + "root": "docs/build/guides/storage/index", + "pages": [ + "docs/build/guides/storage/choosing-the-right-storage", + "docs/build/guides/storage/migrate-contract-storage", + "docs/build/guides/storage/storage-strategies", + "docs/build/guides/storage/use-instance", + "docs/build/guides/storage/use-persistent", + "docs/build/guides/storage/use-temporary" + ] + }, + { + "group": "Contract Testing", + "root": "docs/build/guides/testing/index", + "pages": [ + "docs/build/guides/testing/unit-tests", + "docs/build/guides/testing/mocking", + "docs/build/guides/testing/test-contract-auth", + "docs/build/guides/testing/test-contract-events", + "docs/build/guides/testing/integration-tests", + "docs/build/guides/testing/fork-testing", + "docs/build/guides/testing/fuzzing", + "docs/build/guides/testing/differential-tests", + "docs/build/guides/testing/differential-tests-with-test-snapshots", + "docs/build/guides/testing/mutation-testing", + "docs/build/guides/testing/code-coverage", + "docs/build/guides/testing/ledger-snapshot-testing" + ] + }, + { + "group": "Dapp Development", + "root": "docs/build/guides/dapps/index", + "pages": [ + "docs/build/guides/dapps/frontend-guide", + "docs/build/guides/dapps/initialization", + "docs/build/guides/dapps/soroban-contract-init-template", + "docs/build/guides/dapps/state-archival", + "docs/build/guides/dapps/working-with-contract-specs" + ] + }, + { + "group": "Fees & Metering", + "root": "docs/build/guides/fees/index", + "pages": [ + "docs/build/guides/fees/analyzing-smart-contract-cost" + ] + }, + { + "group": "Freighter Wallet", + "root": "docs/build/guides/freighter/index", + "pages": [ + "docs/build/guides/freighter/connect-testnet", + "docs/build/guides/freighter/enable-soroban-tokens", + "docs/build/guides/freighter/integrate-freighter-react", + "docs/build/guides/freighter/prompt-to-sign-tx", + "docs/build/guides/freighter/send-token-payments", + "docs/build/guides/freighter/sign-auth-entries", + "docs/build/guides/freighter/sign-soroban-xdrs" + ] + }, + { + "group": "RPC", + "root": "docs/build/guides/rpc/index", + "pages": [ + "docs/build/guides/rpc/generate-ledger-keys-python", + "docs/build/guides/rpc/retrieve-contract-code-js", + "docs/build/guides/rpc/retrieve-contract-code-python" + ] + }, + { + "group": "Stellar Asset Contract (SAC) Tokens", + "root": "docs/build/guides/tokens/index", + "pages": [ + "docs/build/guides/tokens/custom-sac-admin", + "docs/build/guides/tokens/deploying-a-sac", + "docs/build/guides/tokens/stellar-asset-contract" + ] + }, + { + "group": "State Archival", + "root": "docs/build/guides/archival/index", + "pages": [ + "docs/build/guides/archival/create-restoration-footprint-js", + "docs/build/guides/archival/extend-persistent-entry-js", + "docs/build/guides/archival/restore-contract-js", + "docs/build/guides/archival/restore-data-js", + "docs/build/guides/archival/test-ttl-extension" + ] + }, + { + "group": "Stellar Basics", + "root": "docs/build/guides/basics/index", + "pages": [ + "docs/build/guides/basics/verify-trustlines", + "docs/build/guides/basics/classic-transition", + "docs/build/guides/basics/automate-reset-data" + ] + }, + { + "group": "Transactions", + "root": "docs/build/guides/transactions/index", + "pages": [ + "docs/build/guides/transactions/create-account", + "docs/build/guides/transactions/send-and-receive-c-accounts", + "docs/build/guides/transactions/send-and-receive-payments", + "docs/build/guides/transactions/channel-accounts", + "docs/build/guides/transactions/signing-soroban-invocations", + "docs/build/guides/transactions/claimable-balances", + "docs/build/guides/transactions/clawbacks", + "docs/build/guides/transactions/fee-sponsorship", + "docs/build/guides/transactions/fee-bump-transactions", + "docs/build/guides/transactions/sponsored-reserves", + "docs/build/guides/transactions/path-payments", + "docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos", + "docs/build/guides/transactions/install-deploy-contract-with-code", + "docs/build/guides/transactions/invoke-contract-tx-sdk", + "docs/build/guides/transactions/simulateTransaction-Deep-Dive", + "docs/build/guides/transactions/submit-transaction-wait-js", + "docs/build/guides/transactions/upload-wasm-bytecode" + ] + }, + { + "group": "Type Conversions", + "root": "docs/build/guides/conversions/index", + "pages": [ + "docs/build/guides/conversions/address-conversions", + "docs/build/guides/conversions/bytes-conversions", + "docs/build/guides/conversions/scval-conversions", + "docs/build/guides/conversions/string-conversions" + ] + } + ] + }, + { + "group": "Security Best Practices", + "root": "docs/build/security-docs/index", + "pages": [ + { + "group": "Threat Modeling", + "root": "docs/build/security-docs/threat-modeling/index", + "pages": [ + "docs/build/security-docs/threat-modeling/threat-modeling-description", + "docs/build/security-docs/threat-modeling/threat-modeling-how-to", + "docs/build/security-docs/threat-modeling/STRIDE-template", + "docs/build/security-docs/threat-modeling/pizza-restaurant-example" + ] + }, + { + "group": "Onchain Monitoring", + "root": "docs/build/security-docs/monitoring/index", + "pages": [ + "docs/build/security-docs/monitoring/monitoring-template-builders", + "docs/build/security-docs/monitoring/monitoring-template-users" + ] + }, + "docs/build/security-docs/securing-web-based-projects" + ] + } + ] + } + ] + }, + { + "tab": "Learn", + "pages": [ + { + "group": " ", + "pages": [ + { + "group": "Core Concepts", + "root": "docs/learn/fundamentals/index", + "pages": [ + "docs/learn/fundamentals/stellar-stack", + "docs/learn/fundamentals/lumens", + "docs/learn/fundamentals/stellar-consensus-protocol", + { + "group": "Stellar Data Structures", + "root": "docs/learn/fundamentals/stellar-data-structures/index", + "pages": [ + "docs/learn/fundamentals/stellar-data-structures/ledgers", + "docs/learn/fundamentals/stellar-data-structures/events", + "docs/learn/fundamentals/stellar-data-structures/accounts", + "docs/learn/fundamentals/stellar-data-structures/assets", + "docs/learn/fundamentals/stellar-data-structures/contracts" + ] + }, + "docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools", + { + "group": "Operations & Transactions", + "root": "docs/learn/fundamentals/transactions/index", + "pages": [ + "docs/learn/fundamentals/transactions/operations-and-transactions", + "docs/learn/fundamentals/transactions/list-of-operations", + "docs/learn/fundamentals/transactions/signatures-multisig", + "docs/learn/fundamentals/transactions/transaction-lifecycle" + ] + }, + "docs/learn/fundamentals/fees-resource-limits-metering", + "docs/learn/fundamentals/stellar-ecosystem-proposals", + { + "group": "Smart Contracts", + "root": "docs/learn/fundamentals/contract-development/index", + "pages": [ + "docs/learn/fundamentals/contract-development/overview", + "docs/learn/fundamentals/contract-development/rust-dialect", + "docs/learn/fundamentals/contract-development/environment-concepts", + { + "group": "Contract Interactions", + "root": "docs/learn/fundamentals/contract-development/contract-interactions/index", + "pages": [ + "docs/learn/fundamentals/contract-development/contract-interactions/overview", + "docs/learn/fundamentals/contract-development/contract-interactions/cross-contract", + "docs/learn/fundamentals/contract-development/contract-interactions/tests", + "docs/learn/fundamentals/contract-development/contract-interactions/stellar-transaction", + "docs/learn/fundamentals/contract-development/contract-interactions/transaction-simulation" + ] + }, + { + "group": "Types", + "root": "docs/learn/fundamentals/contract-development/types/index", + "pages": [ + "docs/learn/fundamentals/contract-development/types/built-in-types", + "docs/learn/fundamentals/contract-development/types/custom-types", + "docs/learn/fundamentals/contract-development/types/fully-typed-contracts" + ] + }, + { + "group": "Storage", + "root": "docs/learn/fundamentals/contract-development/storage/index", + "pages": [ + "docs/learn/fundamentals/contract-development/storage/persisting-data", + "docs/learn/fundamentals/contract-development/storage/state-archival" + ] + }, + "docs/learn/fundamentals/contract-development/authorization", + { + "group": "Errors and Debugging", + "root": "docs/learn/fundamentals/contract-development/errors-and-debugging/index", + "pages": [ + "docs/learn/fundamentals/contract-development/errors-and-debugging/errors", + "docs/learn/fundamentals/contract-development/errors-and-debugging/debugging", + "docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors" + ] + }, + "docs/learn/fundamentals/contract-development/contract-lifecycle" + ] + }, + { + "group": "Data Format", + "root": "docs/learn/fundamentals/data-format/index", + "pages": [ + "docs/learn/fundamentals/data-format/xdr", + "docs/learn/fundamentals/data-format/xdr-json" + ] + }, + "docs/learn/fundamentals/anchors" + ] + }, + "docs/learn/glossary", + { + "group": "Migrate from Another Chain", + "root": "docs/learn/migrate/index", + "pages": [ + { + "group": "EVM Networks", + "root": "docs/learn/migrate/evm/index", + "pages": [ + "docs/learn/migrate/evm/introduction-to-solidity-and-rust", + "docs/learn/migrate/evm/solidity-and-rust-basics", + "docs/learn/migrate/evm/solidity-and-rust-advanced-concepts", + "docs/learn/migrate/evm/smart-contract-deployment", + "docs/learn/migrate/evm/solidity-support-via-solang" + ] + } + ] + }, + { + "group": "Interactive Learning", + "root": "docs/learn/interactive/index", + "pages": [ + "docs/learn/interactive/quest", + "docs/learn/interactive/fca00c", + "docs/learn/interactive/dapp-world" + ] + } + ] + } + ] + }, + { + "tab": "Tokens", + "pages": [ + { + "group": " ", + "pages": [ + "docs/tokens/index", + "docs/tokens/anatomy-of-an-asset", + "docs/tokens/quickstart", + "docs/tokens/control-asset-access", + "docs/tokens/stellar-asset-contract", + "docs/tokens/token-interface", + "docs/tokens/how-to-issue-an-asset", + "docs/tokens/publishing-asset-info", + "docs/tokens/cross-chain-transfers", + "docs/tokens/usdt0-layerzero" + ] + } + ] + }, + { + "tab": "Data", + "pages": [ + { + "group": " ", + "pages": [ + "docs/data/index", + { + "group": "Analytics Overview", + "root": "docs/data/analytics/index", + "pages": [ + { + "group": "Hubble", + "root": "docs/data/analytics/hubble/index", + "pages": [ + { + "group": "Analyst Guide", + "root": "docs/data/analytics/hubble/analyst-guide/index", + "pages": [ + "docs/data/analytics/hubble/analyst-guide/connecting", + "docs/data/analytics/hubble/analyst-guide/viewing-metadata", + "docs/data/analytics/hubble/analyst-guide/optimizing-queries", + "docs/data/analytics/hubble/analyst-guide/creating-visualizations", + "docs/data/analytics/hubble/analyst-guide/queries-for-horizon-like-data", + "docs/data/analytics/hubble/analyst-guide/history-vs-state-tables" + ] + }, + { + "group": "Developer Guide", + "root": "docs/data/analytics/hubble/developer-guide/index", + "pages": [ + { + "group": "Backfill", + "root": "docs/data/analytics/hubble/developer-guide/backfill/index", + "pages": [ + "docs/data/analytics/hubble/developer-guide/backfill/JS-UDF", + "docs/data/analytics/hubble/developer-guide/backfill/data-import" + ] + }, + "docs/data/analytics/hubble/developer-guide/connecting-to-bigquery/index", + { + "group": "Source System Ingestion", + "root": "docs/data/analytics/hubble/developer-guide/source-system-ingestion/index", + "pages": [ + "docs/data/analytics/hubble/developer-guide/source-system-ingestion/overview", + "docs/data/analytics/hubble/developer-guide/source-system-ingestion/architecture", + "docs/data/analytics/hubble/developer-guide/source-system-ingestion/getting-started" + ] + }, + { + "group": "Data Curation", + "root": "docs/data/analytics/hubble/developer-guide/data-curation/index", + "pages": [ + "docs/data/analytics/hubble/developer-guide/data-curation/overview", + "docs/data/analytics/hubble/developer-guide/data-curation/architecture", + "docs/data/analytics/hubble/developer-guide/data-curation/getting-started" + ] + }, + { + "group": "Visualization", + "root": "docs/data/analytics/hubble/developer-guide/visualization/index", + "pages": [ + "docs/data/analytics/hubble/developer-guide/visualization/overview", + "docs/data/analytics/hubble/developer-guide/visualization/getting-started" + ] + }, + { + "group": "Scheduling and Orchestration", + "root": "docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/index", + "pages": [ + "docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/overview", + "docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/architecture", + "docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/getting-started" + ] + } + ] + }, + { + "group": "Data Catalog", + "root": "docs/data/analytics/hubble/data-catalog/index", + "pages": [ + "docs/data/analytics/hubble/data-catalog/data-model-diagram", + { + "group": "Data Dictionary", + "root": "docs/data/analytics/hubble/data-catalog/data-dictionary/index", + "pages": [ + { + "group": "Bronze 🥉", + "root": "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/index", + "pages": [ + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/accounts", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/account-signers", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/claimable-balances", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-code", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/config-settings", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-data", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/liquidity-pools", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/offers", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/restored-key", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/trustlines", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/evicted-keys", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/ttl", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-assets", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-contract-events", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-effects", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-ledgers", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-operations", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-trades", + "docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-transactions" + ] + }, + { + "group": "Silver 🥈", + "root": "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/index", + "pages": [ + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/account-signers-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/claimable-balances-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-code-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/evicted-keys-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/offers-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-cex-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-fex-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-sdex-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-snapshot", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/ttl-current", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations-soroban", + "docs/data/analytics/hubble/data-catalog/data-dictionary/silver/token-transfers-raw" + ] + }, + { + "group": "Gold 🥇", + "root": "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/index", + "pages": [ + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/asset-balances-daily-agg", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/trade-agg", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/tvl-agg", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/ledger-fee-stats-agg", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/daily-fee-stats-agg", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-soroban-fee-agg-contract", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-fee-agg-account", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/account-balances-daily-agg", + "docs/data/analytics/hubble/data-catalog/data-dictionary/gold/soroban-core-metrics" + ] + } + ] + }, + "docs/data/analytics/hubble/data-catalog/data-lineage" + ] + } + ] + }, + "docs/data/analytics/public-dashboards", + "docs/data/analytics/analytics-providers/index" + ] + }, + { + "group": "APIs Overview", + "root": "docs/data/apis/index", + "pages": [ + { + "group": "RPC", + "root": "docs/data/apis/rpc/index", + "pages": [ + { + "group": "Admin Guide", + "root": "docs/data/apis/rpc/admin-guide/index", + "pages": [ + "docs/data/apis/rpc/admin-guide/prerequisites", + "docs/data/apis/rpc/admin-guide/installing", + "docs/data/apis/rpc/admin-guide/configuring", + "docs/data/apis/rpc/admin-guide/running", + "docs/data/apis/rpc/admin-guide/development", + "docs/data/apis/rpc/admin-guide/monitoring", + "docs/data/apis/rpc/admin-guide/data-lake-integration" + ] + }, + { + "group": "API Reference", + "root": "docs/data/apis/rpc/api-reference/index", + "pages": [ + { + "group": "Methods", + "root": "docs/data/apis/rpc/api-reference/methods/index", + "pages": [ + "docs/data/apis/rpc/api-reference/methods/getEvents", + "docs/data/apis/rpc/api-reference/methods/getFeeStats", + "docs/data/apis/rpc/api-reference/methods/getHealth", + "docs/data/apis/rpc/api-reference/methods/getLatestLedger", + "docs/data/apis/rpc/api-reference/methods/getLedgerEntries", + "docs/data/apis/rpc/api-reference/methods/getLedgers", + "docs/data/apis/rpc/api-reference/methods/getNetwork", + "docs/data/apis/rpc/api-reference/methods/getTransaction", + "docs/data/apis/rpc/api-reference/methods/getTransactions", + "docs/data/apis/rpc/api-reference/methods/getVersionInfo", + "docs/data/apis/rpc/api-reference/methods/queryEvents", + "docs/data/apis/rpc/api-reference/methods/sendTransaction", + "docs/data/apis/rpc/api-reference/methods/simulateTransaction" + ] + }, + { + "group": "Structure", + "root": "docs/data/apis/rpc/api-reference/structure/index", + "pages": [ + "docs/data/apis/rpc/api-reference/structure/json-rpc", + "docs/data/apis/rpc/api-reference/structure/pagination", + "docs/data/apis/rpc/api-reference/structure/data-format" + ] + } + ] + }, + "docs/data/apis/rpc/providers" + ] + }, + { + "group": "Horizon", + "root": "docs/data/apis/horizon/index", + "pages": [ + { + "group": "Admin Guide", + "root": "docs/data/apis/horizon/admin-guide/index", + "pages": [ + "docs/data/apis/horizon/admin-guide/overview", + "docs/data/apis/horizon/admin-guide/prerequisites", + "docs/data/apis/horizon/admin-guide/installing", + "docs/data/apis/horizon/admin-guide/configuring", + "docs/data/apis/horizon/admin-guide/running", + "docs/data/apis/horizon/admin-guide/ingestion", + "docs/data/apis/horizon/admin-guide/monitoring", + "docs/data/apis/horizon/admin-guide/scaling", + "docs/data/apis/horizon/admin-guide/upgrading", + "docs/data/apis/horizon/admin-guide/ingestion-filtering" + ] + }, + { + "group": "API Reference", + "root": "docs/data/apis/horizon/api-reference/index", + "pages": [ + { + "group": "Resources", + "root": "docs/data/apis/horizon/api-reference/resources/index", + "pages": [ + { + "group": "Accounts", + "root": "docs/data/apis/horizon/api-reference/resources/accounts/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/accounts/object", + "docs/data/apis/horizon/api-reference/list-all-accounts", + "docs/data/apis/horizon/api-reference/retrieve-an-account", + "docs/data/apis/horizon/api-reference/get-transactions-by-account-id", + "docs/data/apis/horizon/api-reference/get-operations-by-account-id", + "docs/data/apis/horizon/api-reference/get-payments-by-account-id", + "docs/data/apis/horizon/api-reference/get-effects-by-account-id", + "docs/data/apis/horizon/api-reference/get-offers-by-account-id", + "docs/data/apis/horizon/api-reference/get-trades-by-account-id", + "docs/data/apis/horizon/api-reference/get-data-by-account-id" + ] + }, + { + "group": "Assets", + "root": "docs/data/apis/horizon/api-reference/resources/assets/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/assets/object", + "docs/data/apis/horizon/api-reference/list-all-assets" + ] + }, + { + "group": "Claimable Balances", + "root": "docs/data/apis/horizon/api-reference/resources/claimablebalances/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/claimablebalances/object", + "docs/data/apis/horizon/api-reference/list-all-claimable-balances", + "docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance", + "docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions", + "docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + ] + }, + { + "group": "Effects", + "root": "docs/data/apis/horizon/api-reference/resources/effects/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/effects/types", + "docs/data/apis/horizon/api-reference/list-all-effects" + ] + }, + { + "group": "Ledgers", + "root": "docs/data/apis/horizon/api-reference/resources/ledgers/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/ledgers/object", + "docs/data/apis/horizon/api-reference/retrieve-a-ledger", + "docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions", + "docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments", + "docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations", + "docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects", + "docs/data/apis/horizon/api-reference/list-all-ledgers" + ] + }, + { + "group": "Liquidity Pools", + "root": "docs/data/apis/horizon/api-reference/resources/liquiditypools/index", + "pages": [ + "docs/data/apis/horizon/api-reference/list-liquidity-pools", + "docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool", + "docs/data/apis/horizon/api-reference/retrieve-related-effects", + "docs/data/apis/horizon/api-reference/retrieve-related-trades", + "docs/data/apis/horizon/api-reference/lp-retrieve-related-transactions", + "docs/data/apis/horizon/api-reference/lp-retrieve-related-operations" + ] + }, + { + "group": "Offers", + "root": "docs/data/apis/horizon/api-reference/resources/offers/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/offers/object", + "docs/data/apis/horizon/api-reference/get-all-offers", + "docs/data/apis/horizon/api-reference/get-offer-by-offer-id", + "docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + ] + }, + { + "group": "Operations", + "root": "docs/data/apis/horizon/api-reference/resources/operations/index", + "pages": [ + { + "group": "The Operation Object", + "root": "docs/data/apis/horizon/api-reference/resources/operations/object/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/operations/object/account-merge", + "docs/data/apis/horizon/api-reference/resources/operations/object/allow-trust", + "docs/data/apis/horizon/api-reference/resources/operations/object/begin-sponsoring-future-reserves", + "docs/data/apis/horizon/api-reference/resources/operations/object/bump-sequence", + "docs/data/apis/horizon/api-reference/resources/operations/object/buy-offer", + "docs/data/apis/horizon/api-reference/resources/operations/object/change-trust", + "docs/data/apis/horizon/api-reference/resources/operations/object/claim-claimable-balance", + "docs/data/apis/horizon/api-reference/resources/operations/object/create-account", + "docs/data/apis/horizon/api-reference/resources/operations/object/create-claimable-balance", + "docs/data/apis/horizon/api-reference/resources/operations/object/end-sponsoring-future-reserves", + "docs/data/apis/horizon/api-reference/resources/operations/object/extend-footprint-ttl", + "docs/data/apis/horizon/api-reference/resources/operations/object/invoke-host-function", + "docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-deposit", + "docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-withdraw", + "docs/data/apis/horizon/api-reference/resources/operations/object/manage-data", + "docs/data/apis/horizon/api-reference/resources/operations/object/passive-sell-offer", + "docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-receive", + "docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-send", + "docs/data/apis/horizon/api-reference/resources/operations/object/restore-footprint", + "docs/data/apis/horizon/api-reference/resources/operations/object/revoke-sponsorship", + "docs/data/apis/horizon/api-reference/resources/operations/object/sell-offer", + "docs/data/apis/horizon/api-reference/resources/operations/object/set-options" + ] + }, + "docs/data/apis/horizon/api-reference/retrieve-an-operation", + "docs/data/apis/horizon/api-reference/retrieve-an-operations-effects", + "docs/data/apis/horizon/api-reference/list-all-operations" + ] + }, + { + "group": "Payments", + "root": "docs/data/apis/horizon/api-reference/resources/payments/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/payments/object", + "docs/data/apis/horizon/api-reference/list-all-payments", + "docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + ] + }, + { + "group": "Trades", + "root": "docs/data/apis/horizon/api-reference/resources/trades/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/trades/object", + "docs/data/apis/horizon/api-reference/get-all-trades" + ] + }, + { + "group": "Transactions", + "root": "docs/data/apis/horizon/api-reference/resources/transactions/index", + "pages": [ + "docs/data/apis/horizon/api-reference/resources/transactions/object", + "docs/data/apis/horizon/api-reference/retrieve-a-transaction", + "docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations", + "docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects", + "docs/data/apis/horizon/api-reference/list-all-transactions", + "docs/data/apis/horizon/api-reference/submit-a-transaction", + "docs/data/apis/horizon/api-reference/submit-async-transaction" + ] + } + ] + }, + { + "group": "Structure", + "root": "docs/data/apis/horizon/api-reference/structure/index", + "pages": [ + "docs/data/apis/horizon/api-reference/structure/response-format", + "docs/data/apis/horizon/api-reference/structure/streaming", + "docs/data/apis/horizon/api-reference/structure/rate-limiting", + "docs/data/apis/horizon/api-reference/structure/xdr", + "docs/data/apis/horizon/api-reference/structure/consistency", + { + "group": "Pagination", + "root": "docs/data/apis/horizon/api-reference/structure/pagination/index", + "pages": [ + "docs/data/apis/horizon/api-reference/structure/pagination/page-arguments" + ] + } + ] + }, + { + "group": "Aggregations", + "root": "docs/data/apis/horizon/api-reference/aggregations/index", + "pages": [ + { + "group": "Order Books", + "root": "docs/data/apis/horizon/api-reference/aggregations/order-books/index", + "pages": [ + "docs/data/apis/horizon/api-reference/aggregations/order-books/object", + "docs/data/apis/horizon/api-reference/retrieve-an-order-book" + ] + }, + { + "group": "Paths", + "root": "docs/data/apis/horizon/api-reference/aggregations/paths/index", + "pages": [ + "docs/data/apis/horizon/api-reference/aggregations/paths/object", + "docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths", + "docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + ] + }, + { + "group": "Trade Aggregations", + "root": "docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/index", + "pages": [ + "docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/object", + "docs/data/apis/horizon/api-reference/list-trade-aggregations" + ] + }, + { + "group": "Fee Stats", + "root": "docs/data/apis/horizon/api-reference/aggregations/fee-stats/index", + "pages": [ + "docs/data/apis/horizon/api-reference/aggregations/fee-stats/object", + "docs/data/apis/horizon/api-reference/retrieve-fee-stats" + ] + } + ] + }, + { + "group": "Errors", + "root": "docs/data/apis/horizon/api-reference/errors/index", + "pages": [ + "docs/data/apis/horizon/api-reference/errors/response", + "docs/data/apis/horizon/api-reference/errors/error-handling", + { + "group": "HTTP Status Codes", + "root": "docs/data/apis/horizon/api-reference/errors/http-status-codes/index", + "pages": [ + "docs/data/apis/horizon/api-reference/errors/http-status-codes/standard", + { + "group": "Horizon-Specific Status Codes", + "root": "docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/index", + "pages": [ + "docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-failed", + "docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-malformed", + "docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/before-history", + "docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/stale-history", + "docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/timeout" + ] + } + ] + }, + { + "group": "Result Codes", + "root": "docs/data/apis/horizon/api-reference/errors/result-codes/index", + "pages": [ + "docs/data/apis/horizon/api-reference/errors/result-codes/transactions", + "docs/data/apis/horizon/api-reference/errors/result-codes/operations", + { + "group": "Operation-Specific Result Codes", + "root": "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/index", + "pages": [ + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-account", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/payment", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-receive", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-send", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-sell-offer", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-buy-offer", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-passive-sell-offer", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/set-options", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/change-trust", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/allow-trust", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/account-merge", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-data", + "docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/bump-sequence" + ] + } + ] + } + ] + } + ] + }, + "docs/data/apis/horizon/providers" + ] + }, + "docs/data/apis/migrate-from-horizon-to-rpc" + ] + }, + { + "group": "Indexers", + "root": "docs/data/indexers/index", + "pages": [ + { + "group": "Build Your Own", + "root": "docs/data/indexers/build-your-own/index", + "pages": [ + { + "group": "Galexie", + "root": "docs/data/indexers/build-your-own/galexie/index", + "pages": [ + "docs/data/indexers/build-your-own/galexie/data-lake-format", + { + "group": "Admin Guide", + "root": "docs/data/indexers/build-your-own/galexie/admin_guide/index", + "pages": [ + "docs/data/indexers/build-your-own/galexie/admin_guide/prerequisites", + "docs/data/indexers/build-your-own/galexie/admin_guide/setup", + "docs/data/indexers/build-your-own/galexie/admin_guide/configuring", + "docs/data/indexers/build-your-own/galexie/admin_guide/installing", + "docs/data/indexers/build-your-own/galexie/admin_guide/running", + "docs/data/indexers/build-your-own/galexie/admin_guide/monitoring", + "docs/data/indexers/build-your-own/galexie/admin_guide/full-history-exporting" + ] + }, + { + "group": "Example Usages", + "root": "docs/data/indexers/build-your-own/galexie/examples/index", + "pages": [ + "docs/data/indexers/build-your-own/galexie/examples/gcs-export" + ] + }, + "docs/data/indexers/build-your-own/galexie/providers" + ] + }, + { + "group": "Ingest SDK", + "root": "docs/data/indexers/build-your-own/ingest-sdk/index", + "pages": [ + { + "group": "Developer Guide", + "root": "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/index", + "pages": [ + "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/architecture", + "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/prerequisites", + { + "group": "Ledger Backends", + "root": "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/index", + "pages": [ + "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/captivecore", + "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/bufferedstoragebackend", + "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/rpcledgerbackend" + ] + }, + "docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerreaders" + ] + }, + { + "group": "Example Usages", + "root": "docs/data/indexers/build-your-own/ingest-sdk/examples/index", + "pages": [ + "docs/data/indexers/build-your-own/ingest-sdk/examples/transaction_statistics", + "docs/data/indexers/build-your-own/ingest-sdk/examples/ledger_entry_statistics", + "docs/data/indexers/build-your-own/ingest-sdk/examples/changes" + ] + } + ] + }, + { + "group": "Processors", + "root": "docs/data/indexers/build-your-own/processors/index", + "pages": [ + { + "group": "Token Transfer Processor", + "root": "docs/data/indexers/build-your-own/processors/token-transfer-processor/index", + "pages": [ + { + "group": "Example Usages", + "root": "docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/index", + "pages": [ + "docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/event_stats", + "docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/filter_events" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "group": "Oracles", + "root": "docs/data/oracles/index", + "pages": ["docs/data/oracles/oracle-providers"] + } + ] + } + ] + }, + { + "tab": "Tools", + "pages": [ + { + "group": " ", + "pages": [ + "docs/tools/index", + { + "group": "SDKs", + "root": "docs/tools/sdks/index", + "pages": [ + "docs/tools/sdks/contract-sdks", + "docs/tools/sdks/client-sdks", + "docs/tools/sdks/build-your-own" + ], + "expanded": true + }, + { + "group": "Stellar CLI", + "root": "docs/tools/cli/index", + "pages": [ + "docs/tools/cli/install-cli", + "docs/tools/cli/stellar-cli", + { + "group": "Stellar CLI for Agents", + "root": "docs/tools/cli/agent-cli/index", + "pages": [ + "docs/tools/cli/agent-cli/quickstart", + "docs/tools/cli/agent-cli/skills", + { + "group": "Agent Cookbook", + "pages": [ + "docs/tools/cli/agent-cli/guides/send-tokens", + "docs/tools/cli/agent-cli/guides/check-balances-and-metadata", + "docs/tools/cli/agent-cli/guides/delegate-spending", + "docs/tools/cli/agent-cli/guides/sign-messages", + "docs/tools/cli/agent-cli/guides/build-and-submit-transactions", + "docs/tools/cli/agent-cli/guides/pay-for-apis-x402", + "docs/tools/cli/agent-cli/guides/usdt0-on-mainnet", + "docs/tools/cli/agent-cli/guides/build-and-deploy-contracts" + ] + }, + { + "group": "Reference", + "pages": [ + "docs/tools/cli/agent-cli/reference/architecture", + "docs/tools/cli/agent-cli/reference/authority-model", + "docs/tools/cli/agent-cli/reference/output-and-errors", + "docs/tools/cli/agent-cli/reference/troubleshooting" + ] + } + ] + }, + "docs/tools/cli/plugins", + "docs/tools/cli/plugins-list", + { + "group": "Cookbook", + "root": "docs/tools/cli/cookbook/index", + "expanded": true, + "pages": [ + "docs/tools/cli/cookbook/asset-management", + "docs/tools/cli/cookbook/contract-build-meta", + "docs/tools/cli/cookbook/contract-invoke-arguments", + "docs/tools/cli/cookbook/contract-lifecycle", + "docs/tools/cli/cookbook/deploy-contract", + "docs/tools/cli/cookbook/deploy-stellar-asset-contract", + "docs/tools/cli/cookbook/extend-contract-instance", + "docs/tools/cli/cookbook/extend-contract-storage", + "docs/tools/cli/cookbook/extend-contract-wasm", + "docs/tools/cli/cookbook/payments-and-assets", + "docs/tools/cli/cookbook/restore-contract-instance", + "docs/tools/cli/cookbook/restore-contract-storage", + "docs/tools/cli/cookbook/stellar-keys", + "docs/tools/cli/cookbook/tx-new-create-claimable-balance", + "docs/tools/cli/cookbook/tx-new", + "docs/tools/cli/cookbook/tx-op-add", + "docs/tools/cli/cookbook/tx-sign", + "docs/tools/cli/cookbook/upload-deploy", + "docs/tools/cli/cookbook/upload-wasm" + ] + } + ], + "expanded": true + }, + { + "group": "Lab", + "root": "docs/tools/lab/index", + "pages": [ + { + "group": "View XDR", + "root": "docs/tools/lab/view-xdr/index", + "pages": [ + "docs/tools/lab/view-xdr/xdr-to-json", + "docs/tools/lab/view-xdr/json-to-xdr", + "docs/tools/lab/view-xdr/diff-xdr" + ] + }, + "docs/tools/lab/account", + { + "group": "Saved", + "root": "docs/tools/lab/saved/index", + "pages": [ + "docs/tools/lab/saved/keypairs", + "docs/tools/lab/saved/requests", + "docs/tools/lab/saved/transactions" + ] + }, + "docs/tools/lab/transactions", + { + "group": "API Explorer", + "root": "docs/tools/lab/api-explorer/index", + "pages": [ + "docs/tools/lab/api-explorer/horizon-endpoint", + "docs/tools/lab/api-explorer/rpc-methods" + ] + }, + { + "group": "Smart Contracts", + "root": "docs/tools/lab/smart-contracts/index", + "pages": [ + "docs/tools/lab/smart-contracts/contract-explorer", + "docs/tools/lab/smart-contracts/smart-contract-list", + "docs/tools/lab/smart-contracts/upload-deploy-contract" + ] + }, + "docs/tools/lab/transaction-dashboard", + "docs/tools/lab/quickstart-with-lab" + ], + "expanded": true + }, + { + "group": "Quickstart", + "root": "docs/tools/quickstart/index", + "pages": [ + { + "group": "Getting Started", + "root": "docs/tools/quickstart/getting-started/index", + "pages": [ + "docs/tools/quickstart/getting-started/connect-stellar-lab", + "docs/tools/quickstart/getting-started/deploy-smart-contract" + ] + }, + "docs/tools/quickstart/explorer", + "docs/tools/quickstart/network-modes", + "docs/tools/quickstart/faucet", + { + "group": "Debugging", + "root": "docs/tools/quickstart/debugging/index", + "pages": [ + "docs/tools/quickstart/debugging/diagnostic-events", + "docs/tools/quickstart/debugging/viewing-logs" + ] + }, + { + "group": "Cloud Deployment", + "root": "docs/tools/quickstart/cloud/index", + "pages": [ + "docs/tools/quickstart/cloud/digitalocean", + "docs/tools/quickstart/cloud/fly.io" + ] + }, + { + "group": "Advanced Usage", + "root": "docs/tools/quickstart/advanced-usage/index", + "pages": [ + "docs/tools/quickstart/advanced-usage/container", + "docs/tools/quickstart/advanced-usage/service-options", + "docs/tools/quickstart/advanced-usage/operation-modes", + "docs/tools/quickstart/advanced-usage/ports", + "docs/tools/quickstart/advanced-usage/run-command-examples" + ] + } + ] + }, + "docs/tools/openzeppelin-relayer", + "docs/tools/openzeppelin-contracts", + "docs/tools/scaffold-stellar", + { + "group": "More Developer Tools", + "root": "docs/tools/developer-tools/index", + "pages": [ + "docs/tools/developer-tools/analytics-platforms", + "docs/tools/developer-tools/anchor-tools", + "docs/tools/developer-tools/asset-tools", + "docs/tools/developer-tools/block-explorers", + "docs/tools/developer-tools/jupyter-notebooks", + "docs/tools/developer-tools/online-ide", + "docs/tools/developer-tools/network-insights", + "docs/tools/developer-tools/network-status", + "docs/tools/developer-tools/node-operator-tools", + "docs/tools/developer-tools/security-tools", + "docs/tools/developer-tools/wallets" + ] + }, + { + "group": "Ramps", + "root": "docs/tools/ramps/index", + "pages": ["docs/tools/ramps/moneygram"] + }, + { + "group": "Infrastructure Tools", + "root": "docs/tools/infra-tools/index", + "pages": ["docs/tools/infra-tools/cross-chain"] + } + ] + } + ] + }, + { + "tab": "Networks", + "pages": [ + { + "group": " ", + "pages": [ + "docs/networks/index", + "docs/networks/software-versions", + "docs/networks/resource-limits-fees", + { + "group": "Audits", + "root": "docs/networks/audits/index", + "pages": [ + "docs/networks/audits/stellar-core", + "docs/networks/audits/stellar-rpc", + "docs/networks/audits/soroban-sdk", + "docs/networks/audits/soroban-poseidon" + ] + } + ] + } + ] + }, + { + "tab": "Validators", + "pages": [ + { + "group": " ", + "pages": [ + "docs/validators/index", + { + "group": "Admin Guide", + "root": "docs/validators/admin-guide/index", + "pages": [ + "docs/validators/admin-guide/prerequisites", + "docs/validators/admin-guide/installation", + "docs/validators/admin-guide/configuring", + "docs/validators/admin-guide/environment-preparation", + "docs/validators/admin-guide/publishing-history-archives", + "docs/validators/admin-guide/running-node", + "docs/validators/admin-guide/logging", + "docs/validators/admin-guide/monitoring", + "docs/validators/admin-guide/maintenance", + "docs/validators/admin-guide/network-upgrades", + "docs/validators/admin-guide/soroban-settings", + "docs/validators/admin-guide/commands", + "docs/validators/admin-guide/advanced" + ], + "expanded": true + }, + "docs/validators/tier-1-orgs" + ] + } + ] + }, + { + "tab": "Platforms", + "pages": [ + { + "group": " ", + "pages": [ + "docs/platforms/index", + { + "group": "Anchor Platform", + "pages": [ + "docs/platforms/anchor-platform/index", + { + "group": "Admin Guide", + "root": "docs/platforms/anchor-platform/admin-guide/index", + "expanded": true, + "pages": [ + "docs/platforms/anchor-platform/admin-guide/architecture", + "docs/platforms/anchor-platform/admin-guide/getting-started", + "docs/platforms/anchor-platform/admin-guide/assets-and-client-wallets", + { + "group": "Event Handling", + "root": "docs/platforms/anchor-platform/admin-guide/events/index", + "pages": [ + "docs/platforms/anchor-platform/admin-guide/events/getting-started", + "docs/platforms/anchor-platform/admin-guide/events/integration", + "docs/platforms/anchor-platform/admin-guide/events/delivery" + ] + } + ] + }, + { + "group": "API Reference", + "root": "docs/platforms/anchor-platform/api-reference/index", + "expanded": true, + "pages": [ + { + "group": "Platform Server", + "root": "docs/platforms/anchor-platform/api-reference/platform/index", + "pages": [ + { + "group": "Transactions", + "root": "docs/platforms/anchor-platform/api-reference/platform/transactions/index", + "pages": [ + "docs/platforms/anchor-platform/api-reference/platform/transactions/get-transaction", + "docs/platforms/anchor-platform/api-reference/platform/transactions/get-transactions" + ] + }, + { + "group": "JSON-RPC API", + "root": "docs/platforms/anchor-platform/api-reference/platform/rpc/index", + "pages": [ + "docs/platforms/anchor-platform/api-reference/platform/rpc/overview", + { + "group": "Methods", + "root": "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/index", + "pages": [ + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_payment", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_refund", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transactions", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_amounts_updated", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_customer_info_updated", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_interactive_flow_completed", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_available", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_pending", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_received", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_sent", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_received", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_sent", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_pending", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_sent", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_error", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_expired", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_on_hold", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_recovery", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_trust_set", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_offchain_funds", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_onchain_funds", + "docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_trust" + ] + } + ] + } + ] + }, + { + "group": "Callbacks Server", + "root": "docs/platforms/anchor-platform/api-reference/callbacks/index", + "pages": [ + "docs/platforms/anchor-platform/api-reference/callbacks/del-customer", + "docs/platforms/anchor-platform/api-reference/callbacks/get-customer", + "docs/platforms/anchor-platform/api-reference/callbacks/get-rates", + "docs/platforms/anchor-platform/api-reference/callbacks/post-event", + "docs/platforms/anchor-platform/api-reference/callbacks/put-customer" + ] + } + ] + }, + { + "group": "SEP Guides", + "root": "docs/platforms/anchor-platform/sep-guide/index", + "expanded": true, + "pages": [ + "docs/platforms/anchor-platform/sep-guide/sep1/index", + "docs/platforms/anchor-platform/sep-guide/sep10/index", + "docs/platforms/anchor-platform/sep-guide/sep45/index", + { + "group": "Programmatic Deposits and Withdrawals (SEP-6)", + "root": "docs/platforms/anchor-platform/sep-guide/sep6/index", + "pages": [ + "docs/platforms/anchor-platform/sep-guide/sep6/getting-started", + "docs/platforms/anchor-platform/sep-guide/sep6/configuration", + "docs/platforms/anchor-platform/sep-guide/sep6/integration" + ] + }, + { + "group": "Hosted Deposits and Withdrawals (SEP-24)", + "root": "docs/platforms/anchor-platform/sep-guide/sep24/index", + "pages": [ + "docs/platforms/anchor-platform/sep-guide/sep24/getting-started", + "docs/platforms/anchor-platform/sep-guide/sep24/configuration", + "docs/platforms/anchor-platform/sep-guide/sep24/integration", + "docs/platforms/anchor-platform/sep-guide/sep24/example", + "docs/platforms/anchor-platform/sep-guide/sep24/faq", + "docs/platforms/anchor-platform/sep-guide/sep24/setting-up-production-server" + ] + }, + { + "group": "Cross-Border Payments (SEP-31)", + "root": "docs/platforms/anchor-platform/sep-guide/sep31/index", + "pages": [ + "docs/platforms/anchor-platform/sep-guide/sep31/getting-started", + "docs/platforms/anchor-platform/sep-guide/sep31/configuration", + "docs/platforms/anchor-platform/sep-guide/sep31/integration" + ] + } + ] + } + ] + }, + { + "group": "Stellar Disbursement Platform", + "pages": [ + "docs/platforms/stellar-disbursement-platform/index", + { + "group": "Admin Guide", + "expanded": true, + "pages": [ + "docs/platforms/stellar-disbursement-platform/admin-guide/overview", + "docs/platforms/stellar-disbursement-platform/admin-guide/getting-started", + "docs/platforms/stellar-disbursement-platform/admin-guide/design-and-architecture", + "docs/platforms/stellar-disbursement-platform/admin-guide/deploy-the-sdp", + "docs/platforms/stellar-disbursement-platform/admin-guide/configuring-sdp", + "docs/platforms/stellar-disbursement-platform/admin-guide/advanced-configuration", + "docs/platforms/stellar-disbursement-platform/admin-guide/cli-manual", + "docs/platforms/stellar-disbursement-platform/admin-guide/embedded-wallets", + "docs/platforms/stellar-disbursement-platform/admin-guide/security", + "docs/platforms/stellar-disbursement-platform/admin-guide/monitoring", + "docs/platforms/stellar-disbursement-platform/admin-guide/making-your-wallet-sdp-ready", + "docs/platforms/stellar-disbursement-platform/admin-guide/troubleshooting", + { + "group": "User Interface", + "root": "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/index", + "pages": [ + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/dashboard-home", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/disbursements", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/receivers", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/payments", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/distribution-accounts", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/analytics", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/account-picker", + "docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/circle-configuration" + ] + } + ], + "root": "docs/platforms/stellar-disbursement-platform/admin-guide/index", + "directory": "card" + }, + { + "group": "API Reference", + "pages": [ + { + "group": "Admin (Tenant Management)", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/admin", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-all-tenants", + "docs/platforms/stellar-disbursement-platform/api-reference/create-tenant", + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-tenant", + "docs/platforms/stellar-disbursement-platform/api-reference/soft-delete-a-tenant", + "docs/platforms/stellar-disbursement-platform/api-reference/update-a-tenant", + "docs/platforms/stellar-disbursement-platform/api-reference/default-tenant" + ] + }, + { + "group": "Authentication", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/authentication", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/log-in", + "docs/platforms/stellar-disbursement-platform/api-reference/refresh-token", + "docs/platforms/stellar-disbursement-platform/api-reference/authenticate-mfa", + "docs/platforms/stellar-disbursement-platform/api-reference/forgot-password", + "docs/platforms/stellar-disbursement-platform/api-reference/reset-password" + ] + }, + { + "group": "API Keys", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/api-keys", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/list-api-keys", + "docs/platforms/stellar-disbursement-platform/api-reference/create-api-key", + "docs/platforms/stellar-disbursement-platform/api-reference/get-api-key", + "docs/platforms/stellar-disbursement-platform/api-reference/update-api-key", + "docs/platforms/stellar-disbursement-platform/api-reference/delete-api-key" + ] + }, + { + "group": "Balances", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/balances", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-organization-circle-balances" + ] + }, + { + "group": "Bridge Integration", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/bridge-integration", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-bridge-integration", + "docs/platforms/stellar-disbursement-platform/api-reference/update-bridge-integration" + ] + }, + { + "group": "Disbursements", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/disbursements", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements", + "docs/platforms/stellar-disbursement-platform/api-reference/create-disbursement", + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement", + "docs/platforms/stellar-disbursement-platform/api-reference/delete-a-disbursement", + "docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers", + "docs/platforms/stellar-disbursement-platform/api-reference/download-disbursement-instructions", + "docs/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions", + "docs/platforms/stellar-disbursement-platform/api-reference/update-a-disbursement-status", + "docs/platforms/stellar-disbursement-platform/api-reference/list-registration-contact-types" + ] + }, + { + "group": "Distribution Wallets", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/distribution-wallets", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallets", + "docs/platforms/stellar-disbursement-platform/api-reference/create-distribution-wallet", + "docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallets-total-balance", + "docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet", + "docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-balance", + "docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-capabilities", + "docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallet-memberships", + "docs/platforms/stellar-disbursement-platform/api-reference/grant-distribution-wallet-membership", + "docs/platforms/stellar-disbursement-platform/api-reference/revoke-distribution-wallet-membership", + "docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-audit", + "docs/platforms/stellar-disbursement-platform/api-reference/archive-distribution-wallet", + "docs/platforms/stellar-disbursement-platform/api-reference/promote-distribution-wallet-to-default" + ] + }, + { + "group": "Organization", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/organization", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-organization-info", + "docs/platforms/stellar-disbursement-platform/api-reference/update-organization-profile", + "docs/platforms/stellar-disbursement-platform/api-reference/get-organization-logo", + "docs/platforms/stellar-disbursement-platform/api-reference/patch-organization-circle", + "docs/platforms/stellar-disbursement-platform/api-reference/get-all-assets", + "docs/platforms/stellar-disbursement-platform/api-reference/create-asset", + "docs/platforms/stellar-disbursement-platform/api-reference/delete-asset" + ] + }, + { + "group": "Payments", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/payments", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/list-all-payments", + "docs/platforms/stellar-disbursement-platform/api-reference/create-direct-payment", + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-payment", + "docs/platforms/stellar-disbursement-platform/api-reference/retry-payments", + "docs/platforms/stellar-disbursement-platform/api-reference/update-payment-status" + ] + }, + { + "group": "Profile", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/profile", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-profile", + "docs/platforms/stellar-disbursement-platform/api-reference/update-user-profile", + "docs/platforms/stellar-disbursement-platform/api-reference/reset-user-password" + ] + }, + { + "group": "Receivers", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/receivers", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/list-receiver-verification-types", + "docs/platforms/stellar-disbursement-platform/api-reference/list-all-receivers", + "docs/platforms/stellar-disbursement-platform/api-reference/create-receiver", + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver", + "docs/platforms/stellar-disbursement-platform/api-reference/update-receiver", + "docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet", + "docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet-status" + ] + }, + { + "group": "Registration", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/registration", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-receiver-registration-info", + "docs/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode", + "docs/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration", + "docs/platforms/stellar-disbursement-platform/api-reference/start-wallet-registration", + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-stellar-info-file", + "docs/platforms/stellar-disbursement-platform/api-reference/request-challenge-transaction", + "docs/platforms/stellar-disbursement-platform/api-reference/provide-signed-challenge-transaction", + "docs/platforms/stellar-disbursement-platform/api-reference/get-sep-24-info", + "docs/platforms/stellar-disbursement-platform/api-reference/request-registration-url" + ] + }, + { + "group": "Statistics", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/statistics", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-all-statistics", + "docs/platforms/stellar-disbursement-platform/api-reference/retrieve-disbursement-statistics" + ] + }, + { + "group": "Users", + "root": "docs/platforms/stellar-disbursement-platform/api-reference/users", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-all-users", + "docs/platforms/stellar-disbursement-platform/api-reference/create-user", + "docs/platforms/stellar-disbursement-platform/api-reference/update-user-activation-status", + "docs/platforms/stellar-disbursement-platform/api-reference/get-all-roles", + "docs/platforms/stellar-disbursement-platform/api-reference/update-user-role" + ] + }, + { + "group": "Exports", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/export-disbursements", + "docs/platforms/stellar-disbursement-platform/api-reference/export-payments-csv", + "docs/platforms/stellar-disbursement-platform/api-reference/export-receivers-csv" + ] + }, + { + "group": "Wallets", + "pages": [ + "docs/platforms/stellar-disbursement-platform/api-reference/get-all-wallets", + "docs/platforms/stellar-disbursement-platform/api-reference/create-wallet", + "docs/platforms/stellar-disbursement-platform/api-reference/update-wallet", + "docs/platforms/stellar-disbursement-platform/api-reference/delete-wallet" + ] + } + ], + "root": "docs/platforms/stellar-disbursement-platform/api-reference/index", + "directory": "card" + } + ] + } + ] + } + ] + }, + { + "tab": "Meeting Notes", + "pages": [ + { + "group": " ", + "pages": [ + "meetings/index", + { + "group": "2026", + "pages": [ + "meetings/2026/10/08", + "meetings/2026/10/01", + "meetings/2026/09/24", + "meetings/2026/09/17/protocol", + "meetings/2026/09/17", + "meetings/2026/09/10", + "meetings/2026/09/03", + "meetings/2026/08/27", + "meetings/2026/08/20", + "meetings/2026/08/13", + "meetings/2026/08/06", + "meetings/2026/07/30", + "meetings/2026/07/23", + "meetings/2026/07/16/protocol", + "meetings/2026/07/16", + "meetings/2026/07/09", + "meetings/2026/07/02", + "meetings/2026/06/25", + "meetings/2026/06/18", + "meetings/2026/06/11", + "meetings/2026/05/21", + "meetings/2026/05/14", + "meetings/2026/05/07", + "meetings/2026/04/30", + "meetings/2026/04/23", + "meetings/2026/04/16", + "meetings/2026/02/26", + "meetings/2026/01/29", + "meetings/2026/01/22" + ] + }, + { + "group": "2025", + "pages": [ + "meetings/2025/11/06", + "meetings/2025/10/30", + "meetings/2025/10/23", + "meetings/2025/10/16", + "meetings/2025/10/09", + "meetings/2025/10/02", + "meetings/2025/09/25", + "meetings/2025/08/07", + "meetings/2025/07/24", + "meetings/2025/07/17", + "meetings/2025/07/10", + "meetings/2025/05/22", + "meetings/2025/05/01", + "meetings/2025/04/17", + "meetings/2025/04/10", + "meetings/2025/04/03", + "meetings/2025/03/27", + "meetings/2025/03/06", + "meetings/2025/02/27", + "meetings/2025/02/20", + "meetings/2025/02/13", + "meetings/2025/02/06", + "meetings/2025/01/30", + "meetings/2025/01/23", + "meetings/2025/01/16" + ] + }, + { + "group": "2024", + "pages": [ + "meetings/2024/12/19", + "meetings/2024/12/12", + "meetings/2024/12/05", + "meetings/2024/11/14", + "meetings/2024/10/24", + "meetings/2024/09/26", + "meetings/2024/09/19", + "meetings/2024/09/12", + "meetings/2024/09/05", + "meetings/2024/08/29", + "meetings/2024/08/22", + "meetings/2024/08/15", + "meetings/2024/08/08", + "meetings/2024/08/01", + "meetings/2024/07/25", + "meetings/2024/07/18", + "meetings/2024/07/11", + "meetings/2024/06/27", + "meetings/2024/06/20", + "meetings/2024/06/13", + "meetings/2024/05/09", + "meetings/2024/05/02", + "meetings/2024/04/25", + "meetings/2024/04/18", + "meetings/2024/04/11", + "meetings/2024/04/04", + "meetings/2024/03/28", + "meetings/2024/03/21", + "meetings/2024/03/14", + "meetings/2024/03/07", + "meetings/2024/02/29", + "meetings/2024/02/22", + "meetings/2024/02/15", + "meetings/2024/02/08", + "meetings/2024/02/01", + "meetings/2024/01/26", + "meetings/2024/01/18" + ] + } + ] + } + ] + } + ], + "global": { + "anchors": [ + { + "anchor": "Community", + "href": "https://stellar.org/community", + "icon": "users" + }, + { + "anchor": "Blog", + "href": "https://stellar.org/blog", + "icon": "newspaper" + }, + { + "anchor": "Discord", + "href": "https://discord.com/invite/zVYdY3ktTn", + "icon": "discord" + }, + { + "anchor": "X", + "href": "https://twitter.com/StellarOrg", + "icon": "x-twitter" + }, + { + "anchor": "YouTube", + "href": "https://www.youtube.com/@StellarDevelopmentFoundation", + "icon": "youtube" + } + ] + } + }, + "logo": { + "light": "/logo/light.svg", + "dark": "/logo/dark.svg", + "href": "https://developers.stellar.org" + }, + "navbar": { + "primary": { + "type": "button", + "label": "For agents", + "href": "#for-agents" + } + }, + "contextual": { + "options": [ + "copy", + "view", + "assistant", + "chatgpt", + "claude", + "perplexity", + "grok", + "aistudio", + "devin", + "windsurf", + "mcp", + "cursor", + "vscode", + "devin-mcp", + "download-spec" + ] + }, + "integrations": { + "gtm": { "tagId": "GTM-M2JLH37" } + }, + "redirects": { "$ref": "redirects.json" } +} diff --git a/docs/README.mdx b/docs/README.mdx deleted file mode 100644 index 62af02b8d..000000000 --- a/docs/README.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Stellar Developer Docs -displayed_sidebar: build -hide_table_of_contents: true -hide_sidebar: true ---- - -## Navigating the docs - -### [Build](./build/README.mdx) - -Contains tutorials and how-to guides for writing smart contracts, building applications, interacting with the network, and more. - -### [Learn](./learn/fundamentals/README.mdx) - -Find all informational and conceptual content here. Learn about Stellar fundamentals like how accounts and transactions function, dive deeper into the functionality of each operation, discover how fees work, and more. - -### [Tokens](./tokens/README.mdx) - -Information on how to issue assets on the Stellar network and create contract tokens. - -### [Data](./data/README.mdx) - -Discover various data availability options: RPC, Hubble, Galexie, the Ingest SDK, and Horizon (nearing end-of-life). - -### [Tools](./tools/README.mdx) - -Learn about all the available tools at your disposal for building on, interacting with, or just watching the Stellar network. Also, find information on how to use the Anchor Platform or Stellar Disbursement Platform. - -### [Networks](./networks/README.mdx) - -Information about deployed networks (Mainnet, Testnet, and Futurenet), current software versions, and resource limitations and fees. - -### [Validators](./validators/README.mdx) - -Everything you'll need to know if you want to run, operate, and maintain a core validator node on the Stellar network. diff --git a/docs/build/README.mdx b/docs/build/README.mdx deleted file mode 100644 index 9a30445bb..000000000 --- a/docs/build/README.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Get Started with Blockchain Development; Guides, Tutorials & Tools" -sidebar_label: Introduction -icon: "house" -sidebar_position: 0 -hide_table_of_contents: false -description: "Get started with developing on the Stellar with guides, tutorials, tools, and resources. Learn how to write smart contracts, build applications, and more." ---- - -# Introduction - -The Build section is split into three parts: - -1. [Smart contracts](./smart-contracts/README.mdx) -2. [Applications](./apps/README.mdx) -3. [How-to guides](./guides/README.mdx) - -Explanations for each section are stated below: - -## Smart contracts - -Smart contracts are self-executing programs with the terms of an agreement written directly into the code. They automatically enforce and execute the terms of the contract when predefined conditions are met. Once written and tested, smart contracts are deployed to the blockchain, where they become immutable and publicly accessible. - -:::tip - -While defining the rules and logic of the contract, developers must be security conscious to avoid vulnerabilities such as integer overflows, access control flaws, and other exploits that could compromise the integrity and functionality of the smart contract. - -::: - -This section will walk you through how to write and deploy smart contracts on Stellar, including the installation process, an introduction to testing, storing data, and more. It also provides a variety of example contracts for reference and use. - -## Applications - -Applications interact with the blockchain and can use smart contracts as the backend. - -They: - -- Provide user interfaces (UI); -- Manage user interactions; -- Integrate with smart contracts to operate. - -Writing **smart contracts** focuses on the backend logic and rules enforced on the blockchain, while **building applications** involves creating the frontend and integrating it with these smart contracts to provide a complete user experience. - -:::note - -You can create applications on Stellar without using smart contracts, as demonstrated in the [Wallet SDK tutorial](./apps/wallet/overview.mdx) or the [JS SDK Payment Application tutorial](./apps/example-application-tutorial/overview.mdx). - -::: - -This section walks you through design considerations for applications and tutorials for building applications with or without smart contracts. - -## How-to guides - -This section provides step-by-step instructions to help users complete specific tasks associated with building on Stellar. These tasks can include instructions for aspects of writing contracts, interacting with contracts, building applications, using Stellar operations, setting up infrastructure, and more. - -:::note - -How-to guides assume that the user has some experience and knowledge with building on Stellar and are not typically for beginners. - -::: diff --git a/docs/build/agentic-payments/README.mdx b/docs/build/agentic-payments/README.mdx deleted file mode 100644 index 673771682..000000000 --- a/docs/build/agentic-payments/README.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Agentic Payments: HTTP-Native Payment Protocols for AI Agents and APIs" -sidebar_label: Agentic Payments -description: "Build payment-enabled APIs and AI agents on Stellar using HTTP-native payment protocols like x402 and MPP." -sidebar_position: 0 -keywords: - [ - agentic payments, - AI payments, - AI agents, - x402, - MPP, - machine payments, - HTTP payments, - 402, - ] ---- - -# Agentic Payments - -import DocCardList from "@theme/DocCardList"; - -Agentic payments enable programmatic, per-request payments over HTTP — designed for AI agents, APIs, and machine-to-machine interactions. These protocols extend the `402 Payment Required` HTTP status code into a machine-readable payment negotiation layer, allowing clients to pay for API requests natively on Stellar. - -- **[x402 on Stellar](./x402/README.mdx)** — An open protocol from the Coinbase Developer Platform for per-request payments using Soroban authorization entries, with facilitator-based verification and settlement. -- **[MPP on Stellar](./mpp/README.mdx)** — The Machine Payments Protocol for direct on-chain settlement via Soroban SAC transfers, with support for both one-time charge payments and high-frequency off-chain payment channels. - - diff --git a/docs/build/agentic-payments/_category_.json b/docs/build/agentic-payments/_category_.json deleted file mode 100644 index 9bff4e22c..000000000 --- a/docs/build/agentic-payments/_category_.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "label": "Agentic Payments", - "collapsed": false, - "position": 35, - "link": { - "type": "doc", - "id": "build/agentic-payments/README" - } -} diff --git a/docs/build/agentic-payments/index.mdx b/docs/build/agentic-payments/index.mdx new file mode 100644 index 000000000..7e556597b --- /dev/null +++ b/docs/build/agentic-payments/index.mdx @@ -0,0 +1,34 @@ +--- +title: Agentic Payments +"og:title": "Agentic Payments: HTTP-Native Payment Protocols for AI Agents and APIs" +description: "Build payment-enabled APIs and AI agents on Stellar using HTTP-native payment protocols like x402 and MPP." +keywords: + [ + agentic payments, + AI payments, + AI agents, + x402, + MPP, + machine payments, + HTTP payments, + 402, + ] +--- + +Agentic payments enable programmatic, per-request payments over HTTP — designed for AI agents, APIs, and machine-to-machine interactions. These protocols extend the `402 Payment Required` HTTP status code into a machine-readable payment negotiation layer, allowing clients to pay for API requests natively on Stellar. + +- **[x402 on Stellar](/docs/build/agentic-payments/x402)** — An open protocol from the Coinbase Developer Platform for per-request payments using Soroban authorization entries, with facilitator-based verification and settlement. +- **[MPP on Stellar](/docs/build/agentic-payments/mpp)** — The Machine Payments Protocol for direct on-chain settlement via Soroban SAC transfers, with support for both one-time charge payments and high-frequency off-chain payment channels. + + + + + 2 items + + + + + 2 items + + + diff --git a/docs/build/agentic-payments/mpp/README.mdx b/docs/build/agentic-payments/mpp/README.mdx deleted file mode 100644 index 388766887..000000000 --- a/docs/build/agentic-payments/mpp/README.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: MPP on Stellar -sidebar_position: 0 -sidebar_label: MPP on Stellar -description: "Use the Machine Payments Protocol (MPP) for per-request HTTP payments on Stellar, with support for AI agents, APIs, and off-chain payment channels." -keywords: - [ - MPP, - machine payments protocol, - machine payments, - mppx, - stellar mpp, - "@stellar/mpp", - payment channels, - AI agents, - 402, - HTTP payments, - ] ---- - -## What is MPP? - -The [Machine Payments Protocol (MPP)](https://mpp.dev) is an open protocol that enables programmatic, per-request payments over HTTP, designed especially for AI agents and APIs. It extends the `402 Payment Required` HTTP status code into a machine-readable payment negotiation layer for both humans and autonomous agents. - -On Stellar, MPP works with Soroban SAC (Stellar Asset Contract) token transfers so that clients can pay for API requests natively, without an external facilitator. This makes it ideal for micropayments, AI agent-driven APIs, and payment-enabled applications. - -## Supported MPP Intents - -The `@stellar/mpp` SDK supports two payment intents: - -### [Charge](https://mpp.dev/intents/charge) - -Immediate one-time payments. Each request triggers a Soroban SAC `transfer` settled on-chain individually. This is the simplest intent — no channel setup or pre-funding required. - -Two credential modes are available: - -- **Pull** (default) — The client prepares and signs the Soroban authorization entries; the server broadcasts the transaction. Supports an optional sponsored path where the server rebuilds the transaction with its own account as source, so the client never pays network fees. -- **Push** — The client broadcasts the transaction itself and sends a `signedHash` credential for server verification — the transaction hash plus a signature proving the client controls the paying (`from`) account. - -See the [MPP Charge Guide](./charge-guide.mdx) to get started. - -### Session - -The session intent enables high-frequency, pay-as-you-go payments over unidirectional [payment channels](https://github.com/stellar-experimental/one-way-channel). The funder deposits tokens into the channel once, then makes many off-chain payments by signing cumulative commitments — no per-payment on-chain transactions, ideal for AI agent interactions. The server settles by closing the channel when convenient. - -See the [MPP Session Guide](./channel-guide.mdx) to get started. - -## Demo - -Try the live demo at [mpp.stellar.buzz](https://mpp.stellar.buzz), or run the [MPP Demo](https://github.com/stellar/stellar-mpp-sdk/tree/main/demo) locally. It runs a Node.js server that charges 0.01 USDC per request and a minimal browser UI for testing end-to-end payment flows on Stellar Testnet. - -To build an MPP-enabled service or integrate payments into your app, see [Build Applications](../../apps/README.mdx) and the resources below. - -## Install - -```bash -npm install @stellar/mpp mppx @stellar/stellar-sdk -``` - -## Examples - -- **@stellar/mpp (GitHub)** — SDK source code, examples, and integration tests. [View on GitHub](https://github.com/stellar/stellar-mpp-sdk) -- **Server example** — A minimal Node.js HTTP server charging 0.01 USDC per request using `@stellar/mpp/charge/server`. [View on GitHub](https://github.com/stellar/stellar-mpp-sdk/blob/main/examples/charge-server.ts) -- **Client example** — A Node.js client that automatically handles 402 responses using `@stellar/mpp/charge/client`. [View on GitHub](https://github.com/stellar/stellar-mpp-sdk/blob/main/examples/charge-client.ts) - -## Learn more - -- [MPP Specification](https://mpp.dev) — Official MPP protocol specification -- [@stellar/mpp (npm)](https://www.npmjs.com/package/@stellar/mpp) — npm package for MPP on Stellar -- [mppx (npm)](https://www.npmjs.com/package/mppx) — Core MPP framework library -- [one-way-channel contract](https://github.com/stellar-experimental/one-way-channel) — Soroban contract powering channel mode -- [Signing Soroban invocations](../../guides/transactions/signing-soroban-invocations.mdx) — Auth-entry signing and transaction signing on Stellar diff --git a/docs/build/agentic-payments/mpp/_category_.json b/docs/build/agentic-payments/mpp/_category_.json deleted file mode 100644 index 5b7ae0833..000000000 --- a/docs/build/agentic-payments/mpp/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "collapsed": false, - "position": 20 -} diff --git a/docs/build/agentic-payments/mpp/channel-guide.mdx b/docs/build/agentic-payments/mpp/channel-guide.mdx index 1f4e0631b..d7cd74f51 100644 --- a/docs/build/agentic-payments/mpp/channel-guide.mdx +++ b/docs/build/agentic-payments/mpp/channel-guide.mdx @@ -1,7 +1,6 @@ --- title: MPP Session Guide description: Set up session-based off-chain payments for high-frequency use on Stellar using the Machine Payments Protocol (MPP). -sidebar_position: 30 --- This guide explains how to use the MPP **session** intent with `@stellar/mpp`. The session intent is implemented using a [one-way payment channel](https://github.com/stellar-experimental/one-way-channel) Soroban contract — the funder deposits tokens once, then makes many off-chain payments by signing cumulative commitments. No on-chain transaction is needed per payment, making this ideal for high-frequency AI agent interactions. @@ -315,5 +314,5 @@ Channel mode uses separate subpath exports to avoid bundling unused code: - [one-way-channel contract](https://github.com/stellar-experimental/one-way-channel) — Soroban contract, deployment scripts, and parameters - [@stellar/mpp on GitHub](https://github.com/stellar/stellar-mpp-sdk) — Full API reference and integration tests -- [MPP Charge Guide](./charge-guide.mdx) — Charge mode (per-request on-chain settlement) +- [MPP Charge Guide](./charge-guide) — Charge mode (per-request on-chain settlement) - [MPP Specification](https://mpp.dev) — Protocol specification diff --git a/docs/build/agentic-payments/mpp/charge-guide.mdx b/docs/build/agentic-payments/mpp/charge-guide.mdx index 38d0376f6..4a6e974cf 100644 --- a/docs/build/agentic-payments/mpp/charge-guide.mdx +++ b/docs/build/agentic-payments/mpp/charge-guide.mdx @@ -1,7 +1,6 @@ --- title: MPP Charge Guide description: Build a paid API with Node.js and Stellar settlement using the Machine Payments Protocol (MPP). -sidebar_position: 10 --- The [**charge** intent](https://mpp.dev/intents/charge) is for immediate, one-time payments. Each API request triggers a Soroban SAC `transfer` that settles on-chain individually — no channel setup, no pre-funding, and no external facilitator required. This is the simplest way to get started with MPP on Stellar. @@ -70,7 +69,7 @@ Install the npm packages used by the server and client: npm install express @stellar/mpp mppx @stellar/stellar-sdk ``` -## Create `server.js` +## Create `server.js` {#create-serverjs} Create a file named `server.js` and paste in the following code: @@ -164,7 +163,7 @@ STELLAR_RECIPIENT=GYOUR_PUBLIC_KEY MPP_SECRET_KEY=replace-me node server.js When a client requests your endpoint, the server responds with `402 Payment Required`, including headers that describe the payment requirements. A compliant client builds a signed Soroban SAC transfer and retries the request — no external facilitator needed. The server verifies and broadcasts the transaction directly. -## Create `client.js` +## Create `client.js` {#create-clientjs} ### Setting up a testnet wallet @@ -181,11 +180,11 @@ Create a `.env` file and add your testnet secret key: STELLAR_SECRET=S... ``` -:::caution + Secret keys provide full access to any digital assets held in the wallet. Use `.env` files only for hot wallets in testnet deployments. -::: + ### Client code @@ -438,11 +437,13 @@ Set `FEE_PAYER_SECRET` before running the server if you use sponsored fees. When `feePayer` is configured, the server automatically signals fee sponsorship to the client via the challenge. The client then signs only the Soroban auth entries (not the full transaction envelope). The server rebuilds the transaction with the `envelopeSigner`'s account as source and broadcasts it. Optionally, add `feeBumpSigner` inside `feePayer` to wrap the transaction in a fee bump. -:::info[Channel open removal] + -The channel `open` MPP action was removed in v0.7 as it was dead code — the Soroban contract has no on-chain open entrypoint. Channels are created on-chain directly by signing and broadcasting a deploy transaction. See the [MPP Session Guide](./channel-guide.mdx) for channel setup details. +**Channel open removal** -::: +The channel `open` MPP action was removed in v0.7 as it was dead code — the Soroban contract has no on-chain open entrypoint. Channels are created on-chain directly by signing and broadcasting a deploy transaction. See the [MPP Session Guide](./channel-guide) for channel setup details. + + ## Learn more @@ -450,6 +451,6 @@ The channel `open` MPP action was removed in v0.7 as it was dead code — the So - [@stellar/mpp (npm)](https://www.npmjs.com/package/@stellar/mpp) — npm package for MPP on Stellar - [MPP Specification](https://mpp.dev) — Official MPP protocol specification and whitepaper - [mppx (npm)](https://www.npmjs.com/package/mppx) — Core MPP framework library used by both server and client -- [Signing Soroban invocations](../../guides/transactions/signing-soroban-invocations.mdx) — Auth-entry signing on Stellar +- [Signing Soroban invocations](../../guides/transactions/signing-soroban-invocations) — Auth-entry signing on Stellar - [one-way-channel contract](https://github.com/stellar-experimental/one-way-channel) — Soroban contract powering the channel payment mode -- [MPP Session Guide](./channel-guide.mdx) — Set up off-chain payment channels for high-frequency payments +- [MPP Session Guide](./channel-guide) — Set up off-chain payment channels for high-frequency payments diff --git a/docs/build/agentic-payments/mpp/index.mdx b/docs/build/agentic-payments/mpp/index.mdx new file mode 100644 index 000000000..11f8fc855 --- /dev/null +++ b/docs/build/agentic-payments/mpp/index.mdx @@ -0,0 +1,70 @@ +--- +title: MPP on Stellar +description: "Use the Machine Payments Protocol (MPP) for per-request HTTP payments on Stellar, with support for AI agents, APIs, and off-chain payment channels." +keywords: + [ + MPP, + machine payments protocol, + machine payments, + mppx, + stellar mpp, + "@stellar/mpp", + payment channels, + AI agents, + 402, + HTTP payments, + ] +--- + +## What is MPP? + +The [Machine Payments Protocol (MPP)](https://mpp.dev) is an open protocol that enables programmatic, per-request payments over HTTP, designed especially for AI agents and APIs. It extends the `402 Payment Required` HTTP status code into a machine-readable payment negotiation layer for both humans and autonomous agents. + +On Stellar, MPP works with Soroban SAC (Stellar Asset Contract) token transfers so that clients can pay for API requests natively, without an external facilitator. This makes it ideal for micropayments, AI agent-driven APIs, and payment-enabled applications. + +## Supported MPP Intents + +The `@stellar/mpp` SDK supports two payment intents: + +### [Charge](https://mpp.dev/intents/charge) + +Immediate one-time payments. Each request triggers a Soroban SAC `transfer` settled on-chain individually. This is the simplest intent — no channel setup or pre-funding required. + +Two credential modes are available: + +- **Pull** (default) — The client prepares and signs the Soroban authorization entries; the server broadcasts the transaction. Supports an optional sponsored path where the server rebuilds the transaction with its own account as source, so the client never pays network fees. +- **Push** — The client broadcasts the transaction itself and sends a `signedHash` credential for server verification — the transaction hash plus a signature proving the client controls the paying (`from`) account. + +See the [MPP Charge Guide](/docs/build/agentic-payments/mpp/charge-guide) to get started. + +### Session + +The session intent enables high-frequency, pay-as-you-go payments over unidirectional [payment channels](https://github.com/stellar-experimental/one-way-channel). The funder deposits tokens into the channel once, then makes many off-chain payments by signing cumulative commitments — no per-payment on-chain transactions, ideal for AI agent interactions. The server settles by closing the channel when convenient. + +See the [MPP Session Guide](/docs/build/agentic-payments/mpp/channel-guide) to get started. + +## Demo + +Try the live demo at [mpp.stellar.buzz](https://mpp.stellar.buzz), or run the [MPP Demo](https://github.com/stellar/stellar-mpp-sdk/tree/main/demo) locally. It runs a Node.js server that charges 0.01 USDC per request and a minimal browser UI for testing end-to-end payment flows on Stellar Testnet. + +To build an MPP-enabled service or integrate payments into your app, see [Build Applications](/docs/build/apps) and the resources below. + +## Install + +```bash +npm install @stellar/mpp mppx @stellar/stellar-sdk +``` + +## Examples + +- **@stellar/mpp (GitHub)** — SDK source code, examples, and integration tests. [View on GitHub](https://github.com/stellar/stellar-mpp-sdk) +- **Server example** — A minimal Node.js HTTP server charging 0.01 USDC per request using `@stellar/mpp/charge/server`. [View on GitHub](https://github.com/stellar/stellar-mpp-sdk/blob/main/examples/charge-server.ts) +- **Client example** — A Node.js client that automatically handles 402 responses using `@stellar/mpp/charge/client`. [View on GitHub](https://github.com/stellar/stellar-mpp-sdk/blob/main/examples/charge-client.ts) + +## Learn more + +- [MPP Specification](https://mpp.dev) — Official MPP protocol specification +- [@stellar/mpp (npm)](https://www.npmjs.com/package/@stellar/mpp) — npm package for MPP on Stellar +- [mppx (npm)](https://www.npmjs.com/package/mppx) — Core MPP framework library +- [one-way-channel contract](https://github.com/stellar-experimental/one-way-channel) — Soroban contract powering channel mode +- [Signing Soroban invocations](/docs/build/guides/transactions/signing-soroban-invocations) — Auth-entry signing and transaction signing on Stellar diff --git a/docs/build/agentic-payments/x402/README.mdx b/docs/build/agentic-payments/x402/README.mdx deleted file mode 100644 index 5be143dd6..000000000 --- a/docs/build/agentic-payments/x402/README.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: x402 on Stellar -sidebar_position: 0 -sidebar_label: x402 on Stellar -description: "Use the x402 protocol for per-request HTTP payments on Stellar, with support for AI agents and APIs." -keywords: - [x402, HTTP payments, 402, AI agents, agentic payments, machine payments] ---- - -## What is x402? - -x402 is an open protocol from the Coinbase Developer Platform that enables programmatic, per request payments over HTTP, designed especially for AI agents and APIs. It effectively turns the old “402 Payment Required” HTTP status code into something usable, for both humans and AI agents. - -On Stellar, x402 works with Soroban authorization so that clients can pay for API requests via signed auth entries, ideal for micropayments and payment enabled apps. To build an x402-enabled service or integrate payments into your app, see [Build Applications](../../apps/README.mdx) and the resources below. - -## Demo - -Try the [x402 Demo](https://stellar.org/x402-demo). Send an x402 payment on Stellar Testnet or Mainnet and see the x402 payment flow in action. ([source code](https://github.com/stellar/x402-stellar)) - -[![Screenshot of the x402 payment flow demo on Stellar](/assets/guides/x402-demo.png)](https://stellar.org/x402-demo) - -## x402 Compatible Wallets - -To support x402 on Stellar, a wallet must support [auth-entry signing](../../guides/transactions/signing-soroban-invocations.mdx#method-2-auth-entry-signing) (Soroban authorization entry signing). The following wallets support auth-entry signing: - -- Freighter Browser Extension -- Albedo -- Hana -- HOT -- Klever -- OneKey -- Scopuly - -:::note - -Freighter Mobile does not currently support x402; use the Freighter browser extension. Mobile support is planned for a future release. - -::: - -## Supported Assets - -x402 on Stellar supports any [SEP-41](https://stellar.org/protocol/sep-41) compliant token. The default is USDC. - -### Testnet USDC - -| Property | Value | -| --------------- | ---------------------------------------------------------- | -| Asset Code | `USDC` | -| Issuer | `GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5` | -| SEP-41 Contract | `CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA` | - -### Mainnet USDC - -| Property | Value | -| --------------- | ---------------------------------------------------------- | -| Asset Code | `USDC` | -| Issuer | `GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN` | -| SEP-41 Contract | `CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75` | - -## x402 Facilitators - -You can use a facilitator to verify and settle x402 payments. The following options are available for Stellar: - -### Coinbase x402 Facilitator - -Coinbase’s x402 facilitator supports Stellar on **Testnet** with sponsored fees. Check which networks and options are supported: - -- **[x402 Facilitator Supported Networks](https://www.x402.org/facilitator/supported)** — Lists supported networks (including `stellar:testnet`) and facilitator configuration. - -### Build on Stellar Relayer (with OpenZeppelin x402 Plugin) - -The [Relayer Plugin for x402](https://github.com/OpenZeppelin/relayer-plugin-x402-facilitator) implements the x402 Facilitator API so you can serve x402 payments directly from a Relayer instance. The x402 Facilitator leverages the OpenZeppelin Relayer Framework. It works with the [Coinbase x402](https://github.com/coinbase/x402) ecosystem and exposes the expected `/verify`, `/settle`, and `/supported` endpoints under the Relayer plugin router. - -#### How to Use - -This x402 facilitator service is available on Testnet and Mainnet. Under the hood, the plugin leverages OpenZeppelin Channels to submit transactions onchain via a managed Relayer and Facilitator setup. - -#### Testnet - -To use the facilitator on testnet, you will need: - -- An API Key (Relayer Service). Generate your testnet API key here: https://channels.openzeppelin.com/testnet/gen -- Facilitator URL. Use the following facilitator endpoint in your configuration: `https://channels.openzeppelin.com/x402/testnet` - -#### Mainnet - -To use the Facilitator on mainnet, you will need: - -- An API Key (Relayer Service). Generate your mainnet API key here: https://channels.openzeppelin.com/gen -- Facilitator URL. Use the following facilitator endpoint in your configuration: `https://channels.openzeppelin.com/x402` - -:::note - -This version supports x402 v2 specification. For x402 v1 support, please use a previous version of this plugin (check git history for v1 compatible releases). - -::: - -### Community Facilitators - -The following facilitators are built and operated by the community. They are not maintained by SDF and are at varying stages of readiness, so check each project's current status before depending on it. - -#### Vellar Facilitator - -[Vellar](https://github.com/Vellar-Wallet/vellar-facilitator) serves the standard `/verify`, `/settle`, and `/supported` endpoints, and adds an optional Bazaar discovery layer: when a payment settles and carries Vellar's discovery extension, the facilitator may also add that resource to a searchable catalog, so sellers are listed without registering separately. Cataloging is best-effort and never blocks settlement, and payments without the extension settle as normal. The catalog can also be queried by AI agents through an [MCP](https://modelcontextprotocol.io) discovery server, which you run yourself and point at a facilitator. Vellar sponsors the settlement transaction fee, though classic accounts still fund their own base and trustline reserves. - -- **Source**: https://github.com/Vellar-Wallet/vellar-facilitator -- **Docs**: https://docs.vellar.xyz - -:::note - -Testnet only, and not independently audited. See [Vellar's security notes](https://docs.vellar.xyz) for more information. The hosted instance runs on a free tier, so the first request after an idle period can take up to a minute. - -::: - -## Examples - -- **x402 on Stellar (Stellar repo)** — Tools, examples, and references for the x402 protocol on Stellar. Use this as the canonical source for Stellar-specific x402 demos and tooling. [View on GitHub](https://github.com/stellar/x402-stellar) -- **x402 Starter Template** — A starter template for building payment-enabled applications with x402. Simplified scaffolding demonstrating x402 payment protocol integration with browser wallet support; use it as a foundation for micropayment-enabled services, SaaS applications, or any project that needs frictionless web payments. [View on GitHub](https://github.com/ElliotFriend/x402/tree/stellar-browser-wallet-example/examples/typescript/fullstack/browser-wallet-example) -- **Economic Load Balancer** — An intelligent multi-chain payment router that automatically selects the most cost-efficient network for high-frequency AI agent micropayments. [View on GitHub](https://github.com/marcelosalloum/x402/tree/x402-hackathon) -- **1-shot Stellar x402 app** — Example x402 app with a video paywall and guide for building payment-enabled apps on Stellar. [View on GitHub](https://github.com/oceans404/1-shot-stellar/tree/main/x402-app) - -## Additional Documentation - -- [OpenZeppelin x402 Facilitator Plugin Source Code](https://github.com/OpenZeppelin/relayer-plugin-x402-facilitator) -- [OpenZeppelin x402 Facilitator Docs](https://docs.openzeppelin.com/relayer/1.4.x/guides/stellar-x402-facilitator-guide) -- [OpenZeppelin Stellar Relayer SDK](https://github.com/OpenZeppelin/openzeppelin-relayer-sdk) -- [OpenZeppelin Stellar Relayer Docs](https://docs.openzeppelin.com/relayer/1.4.x) -- [OpenZeppelin Smart Account](https://docs.openzeppelin.com/stellar-contracts/accounts/smart-account) - -## Learn more - -- [x402 on Stellar (Landing page)](https://stellar.org/x402) — Stellar x402 overview and resources -- [x402 on Stellar (Blog)](https://stellar.org/blog/foundation-news/x402-on-stellar) — Foundation news and announcement -- [x402 protocol (Coinbase Developer Platform)](https://docs.cdp.coinbase.com/x402) — Official x402 protocol overview and spec -- [x402 protocol specification](https://www.x402.org) — x402 Specification and Whitepaper -- [Coinbase x402 GitHub](https://github.com/coinbase/x402) — Official x402 Protocol GitHub Repo -- [x402-stellar (npm)](https://www.npmjs.com/package/x402-stellar) — npm package for x402 on Stellar -- [Signing Soroban invocations](../../guides/transactions/signing-soroban-invocations.mdx) — Auth-entry signing and transaction signing on Stellar diff --git a/docs/build/agentic-payments/x402/_category_.json b/docs/build/agentic-payments/x402/_category_.json deleted file mode 100644 index 2d0269b1e..000000000 --- a/docs/build/agentic-payments/x402/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "collapsed": false, - "position": 10 -} diff --git a/docs/build/agentic-payments/x402/built-on-stellar.mdx b/docs/build/agentic-payments/x402/built-on-stellar.mdx index 21acb6b4d..b5a2bc24b 100644 --- a/docs/build/agentic-payments/x402/built-on-stellar.mdx +++ b/docs/build/agentic-payments/x402/built-on-stellar.mdx @@ -1,7 +1,6 @@ --- title: Built on Stellar x402 Facilitator -sidebar_position: 10 -sidebar_label: Built on Stellar Facilitator +sidebarTitle: Built on Stellar Facilitator description: "Free, public x402 facilitator for Stellar with ~5-second finality and sponsored fees. Full verification and settlement flow powered by the OpenZeppelin Relayer." keywords: [ @@ -15,7 +14,7 @@ keywords: ] --- -The **Built on Stellar** x402 Facilitator is a production-ready payment facilitator for the [x402 protocol](./README.mdx) on Stellar. It handles payment verification and settlement so that sellers can accept per-request payments without running their own blockchain infrastructure. +The **Built on Stellar** x402 Facilitator is a production-ready payment facilitator for the [x402 protocol](/docs/build/agentic-payments/x402) on Stellar. It handles payment verification and settlement so that sellers can accept per-request payments without running their own blockchain infrastructure. Built with the [OpenZeppelin Relayer][oz-relayer] and the [x402 Facilitator Plugin][oz-plugin], it exposes the standard x402 `/verify`, `/settle`, and `/supported` endpoints and is fully compatible with the [Coinbase x402 ecosystem][x402-ecosystem]. @@ -172,7 +171,7 @@ This approach provides several benefits: - **x402 scheme**: `exact-v2` - **Endpoints**: `/verify`, `/settle`, `/supported` - **Settlement**: Managed on-chain submission via [OpenZeppelin Relayer][oz-relayer] -- **Compatibility**: Works with all [x402 ecosystem packages][x402-ecosystem] and [Stellar x402-compatible wallets](./README.mdx#x402-compatible-wallets) +- **Compatibility**: Works with all [x402 ecosystem packages][x402-ecosystem] and [Stellar x402-compatible wallets](/docs/build/agentic-payments/x402#x402-compatible-wallets) ## Self-hosting @@ -182,7 +181,7 @@ If you want to run your own instance of the facilitator instead of using the hos - [@x402/stellar (npm)](https://www.npmjs.com/package/@x402/stellar) — npm package for x402 on Stellar - [x402-stellar (repo)](https://github.com/stellar/x402-stellar) — Tools, examples, and references for x402 on Stellar -- [x402 on Stellar](./README.mdx) — Overview of the x402 protocol on Stellar +- [x402 on Stellar](/docs/build/agentic-payments/x402) — Overview of the x402 protocol on Stellar - [x402 protocol specification](https://www.x402.org) — x402 specification and whitepaper - [OpenZeppelin x402 Facilitator Plugin][oz-plugin] — Source code - [OpenZeppelin x402 Facilitator Docs][oz-facilitator-guide] — Full configuration and setup guide diff --git a/docs/build/agentic-payments/x402/index.mdx b/docs/build/agentic-payments/x402/index.mdx new file mode 100644 index 000000000..508b7e999 --- /dev/null +++ b/docs/build/agentic-payments/x402/index.mdx @@ -0,0 +1,136 @@ +--- +title: x402 on Stellar +description: "Use the x402 protocol for per-request HTTP payments on Stellar, with support for AI agents and APIs." +keywords: + [x402, HTTP payments, 402, AI agents, agentic payments, machine payments] +--- + +## What is x402? + +x402 is an open protocol from the Coinbase Developer Platform that enables programmatic, per request payments over HTTP, designed especially for AI agents and APIs. It effectively turns the old “402 Payment Required” HTTP status code into something usable, for both humans and AI agents. + +On Stellar, x402 works with Soroban authorization so that clients can pay for API requests via signed auth entries, ideal for micropayments and payment enabled apps. To build an x402-enabled service or integrate payments into your app, see [Build Applications](/docs/build/apps) and the resources below. + +## Demo + +Try the [x402 Demo](https://stellar.org/x402-demo). Send an x402 payment on Stellar Testnet or Mainnet and see the x402 payment flow in action. ([source code](https://github.com/stellar/x402-stellar)) + +[![Screenshot of the x402 payment flow demo on Stellar](/assets/guides/x402-demo.png)](https://stellar.org/x402-demo) + +## x402 Compatible Wallets + +To support x402 on Stellar, a wallet must support [auth-entry signing](/docs/build/guides/transactions/signing-soroban-invocations#method-2-auth-entry-signing) (Soroban authorization entry signing). The following wallets support auth-entry signing: + +- Freighter Browser Extension +- Albedo +- Hana +- HOT +- Klever +- OneKey +- Scopuly + + + +Freighter Mobile does not currently support x402; use the Freighter browser extension. Mobile support is planned for a future release. + + + +## Supported Assets + +x402 on Stellar supports any [SEP-41](https://stellar.org/protocol/sep-41) compliant token. The default is USDC. + +### Testnet USDC + +| Property | Value | +| --------------- | ---------------------------------------------------------- | +| Asset Code | `USDC` | +| Issuer | `GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5` | +| SEP-41 Contract | `CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA` | + +### Mainnet USDC + +| Property | Value | +| --------------- | ---------------------------------------------------------- | +| Asset Code | `USDC` | +| Issuer | `GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN` | +| SEP-41 Contract | `CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75` | + +## x402 Facilitators + +You can use a facilitator to verify and settle x402 payments. Two options are available for Stellar: + +### Coinbase x402 Facilitator + +Coinbase’s x402 facilitator supports Stellar on **Testnet** with sponsored fees. Check which networks and options are supported: + +- **[x402 Facilitator Supported Networks](https://www.x402.org/facilitator/supported)** — Lists supported networks (including `stellar:testnet`) and facilitator configuration. + +### Build on Stellar Relayer (with OpenZeppelin x402 Plugin) + +The [Relayer Plugin for x402](https://github.com/OpenZeppelin/relayer-plugin-x402-facilitator) implements the x402 Facilitator API so you can serve x402 payments directly from a Relayer instance. The x402 Facilitator leverages the OpenZeppelin Relayer Framework. It works with the [Coinbase x402](https://github.com/coinbase/x402) ecosystem and exposes the expected `/verify`, `/settle`, and `/supported` endpoints under the Relayer plugin router. + +#### How to Use + +This x402 facilitator service is available on Testnet and Mainnet. Under the hood, the plugin leverages OpenZeppelin Channels to submit transactions onchain via a managed Relayer and Facilitator setup. + +#### Testnet + +To use the facilitator on testnet, you will need: + +- An API Key (Relayer Service). Generate your testnet API key here: https://channels.openzeppelin.com/testnet/gen +- Facilitator URL. Use the following facilitator endpoint in your configuration: `https://channels.openzeppelin.com/x402/testnet` + +#### Mainnet + +To use the Facilitator on mainnet, you will need: + +- An API Key (Relayer Service). Generate your mainnet API key here: https://channels.openzeppelin.com/gen +- Facilitator URL. Use the following facilitator endpoint in your configuration: `https://channels.openzeppelin.com/x402` + + + +This version supports x402 v2 specification. For x402 v1 support, please use a previous version of this plugin (check git history for v1 compatible releases). + + + +### Community Facilitators + +The following facilitators are built and operated by the community. They are not maintained by SDF and are at varying stages of readiness, so check each project's current status before depending on it. + +#### Vellar Facilitator + +[Vellar](https://github.com/Vellar-Wallet/vellar-facilitator) serves the standard `/verify`, `/settle`, and `/supported` endpoints, and adds an optional Bazaar discovery layer: when a payment settles and carries Vellar's discovery extension, the facilitator may also add that resource to a searchable catalog, so sellers are listed without registering separately. Cataloging is best-effort and never blocks settlement, and payments without the extension settle as normal. The catalog can also be queried by AI agents through an [MCP](https://modelcontextprotocol.io) discovery server, which you run yourself and point at a facilitator. Vellar sponsors the settlement transaction fee, though classic accounts still fund their own base and trustline reserves. + +- **Source**: https://github.com/Vellar-Wallet/vellar-facilitator +- **Docs**: https://docs.vellar.xyz + + + +Testnet only, and not independently audited. See [Vellar's security notes](https://docs.vellar.xyz) for more information. The hosted instance runs on a free tier, so the first request after an idle period can take up to a minute. + + + +## Examples + +- **x402 on Stellar (Stellar repo)** — Tools, examples, and references for the x402 protocol on Stellar. Use this as the canonical source for Stellar-specific x402 demos and tooling. [View on GitHub](https://github.com/stellar/x402-stellar) +- **x402 Starter Template** — A starter template for building payment-enabled applications with x402. Simplified scaffolding demonstrating x402 payment protocol integration with browser wallet support; use it as a foundation for micropayment-enabled services, SaaS applications, or any project that needs frictionless web payments. [View on GitHub](https://github.com/ElliotFriend/x402/tree/stellar-browser-wallet-example/examples/typescript/fullstack/browser-wallet-example) +- **Economic Load Balancer** — An intelligent multi-chain payment router that automatically selects the most cost-efficient network for high-frequency AI agent micropayments. [View on GitHub](https://github.com/marcelosalloum/x402/tree/x402-hackathon) +- **1-shot Stellar x402 app** — Example x402 app with a video paywall and guide for building payment-enabled apps on Stellar. [View on GitHub](https://github.com/oceans404/1-shot-stellar/tree/main/x402-app) + +## Additional Documentation + +- [OpenZeppelin x402 Facilitator Plugin Source Code](https://github.com/OpenZeppelin/relayer-plugin-x402-facilitator) +- [OpenZeppelin x402 Facilitator Docs](https://docs.openzeppelin.com/relayer/1.4.x/guides/stellar-x402-facilitator-guide) +- [OpenZeppelin Stellar Relayer SDK](https://github.com/OpenZeppelin/openzeppelin-relayer-sdk) +- [OpenZeppelin Stellar Relayer Docs](https://docs.openzeppelin.com/relayer/1.4.x) +- [OpenZeppelin Smart Account](https://docs.openzeppelin.com/stellar-contracts/accounts/smart-account) + +## Learn more + +- [x402 on Stellar (Landing page)](https://stellar.org/x402) — Stellar x402 overview and resources +- [x402 on Stellar (Blog)](https://stellar.org/blog/foundation-news/x402-on-stellar) — Foundation news and announcement +- [x402 protocol (Coinbase Developer Platform)](https://docs.cdp.coinbase.com/x402) — Official x402 protocol overview and spec +- [x402 protocol specification](https://www.x402.org) — x402 Specification and Whitepaper +- [Coinbase x402 GitHub](https://github.com/coinbase/x402) — Official x402 Protocol GitHub Repo +- [x402-stellar (npm)](https://www.npmjs.com/package/x402-stellar) — npm package for x402 on Stellar +- [Signing Soroban invocations](/docs/build/guides/transactions/signing-soroban-invocations) — Auth-entry signing and transaction signing on Stellar diff --git a/docs/build/agentic-payments/x402/quickstart-guide.mdx b/docs/build/agentic-payments/x402/quickstart-guide.mdx index 62557a82f..af8b842b1 100644 --- a/docs/build/agentic-payments/x402/quickstart-guide.mdx +++ b/docs/build/agentic-payments/x402/quickstart-guide.mdx @@ -1,7 +1,6 @@ --- title: x402 Quickstart Guide description: Build a paid x402 API with Node.js, Express, and Stellar settlement. -sidebar_position: 20 keywords: [x402, x402 quickstart, x402 tutorial, 402] --- @@ -30,7 +29,7 @@ npm install express dotenv @stellar/stellar-sdk @x402/core @x402/express @x402/f This installs everything needed for both `server.js` and `client.js`. -## Create `server.js` +## Create `server.js` {#create-serverjs} Create a file named `server.js` and paste in the following code: @@ -100,7 +99,7 @@ The client generates a signed payment payload that authorizes a stablecoin trans The funds settle directly to the wallet address in `PAY_TO`. -## Create `client.js` +## Create `client.js` {#create-clientjs} With your Express server running, create a file named `client.js` and paste in the following code: @@ -235,13 +234,13 @@ STELLAR_PRIVATE_KEY=S... Edit `.env` and replace `S...` with the secret key for the account that will sign transactions and pay for the resource. -:::caution + Secret keys provide full access to any digital assets held within the wallet. Use `.env` files only for hot wallets in testnet deployments. -::: + -### Step 3 (expanded): Establish USDC trustline +### Step 3 (expanded): Establish USDC trustline {#step-3-expanded-establish-usdc-trustline} A trustline tells Stellar your account accepts USDC. Without it, you cannot receive payments. @@ -321,4 +320,4 @@ The server is set up as an MVP for machine-to-machine payments. If you want to e - [x402 GitHub](https://github.com/x402-foundation/x402) - Official x402 Protocol GitHub Repo - [@x402/stellar (npm)](https://www.npmjs.com/package/@x402/stellar) - npm package for x402 on Stellar - [x402-stellar (repo)](https://github.com/stellar/x402-stellar) - Tools, examples, and references for x402 on Stellar -- [Signing Soroban invocations](../../guides/transactions/signing-soroban-invocations.mdx) - Auth-entry signing and transaction signing on Stellar +- [Signing Soroban invocations](../../guides/transactions/signing-soroban-invocations) - Auth-entry signing and transaction signing on Stellar diff --git a/docs/build/apps/README.mdx b/docs/build/apps/README.mdx deleted file mode 100644 index 3029e18b1..000000000 --- a/docs/build/apps/README.mdx +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Build Blockchain Apps: Guides, Tools, and Best Practices for Development" -sidebar_label: Build Applications -description: "Learn how to build blockchain apps with guides, tools, and best practices. Explore key concepts, integration tips, and resources for development on Stellar." -sidebar_position: 30 ---- - -# Build Applications - -import DocCardList from "@theme/DocCardList"; - -This section walks you through design considerations for applications and tutorials for building applications with or without smart contracts. - - diff --git a/docs/build/apps/application-design-considerations.mdx b/docs/build/apps/application-design-considerations.mdx index 4ac2ed7b1..aa5ee7f7c 100644 --- a/docs/build/apps/application-design-considerations.mdx +++ b/docs/build/apps/application-design-considerations.mdx @@ -1,6 +1,6 @@ --- title: Application Design Considerations -sidebar_position: 10 +description: "When building an application, one of the first things you have to decide is how your users’ secret keys will be secured and stored." --- ## Custody models @@ -11,7 +11,7 @@ There are four custody options to consider: - Non-custodial service - the user of the application stores their own secret key - Custodial service - the service provider (application) stores the users’ secret keys -- Mixture of both - with the use of [multisig](../../learn/fundamentals/transactions/signatures-multisig.mdx), this option is useful for maintaining non-custodial status while still allowing for account recovery +- Mixture of both - with the use of [multisig](../../learn/fundamentals/transactions/signatures-multisig), this option is useful for maintaining non-custodial status while still allowing for account recovery - Third-party key management services - integrate a third-party custodial service into your application that can store your users’ secret keys ### Non-custodial service @@ -24,13 +24,13 @@ Typically, non-custodial applications create or import a pre-existing Stellar ac With a custodial service, the service provider (an application such as a centralized exchange) stores the users’ secret keys and delegates usage rights to the user. -Many custodial services choose to use a single pooled Stellar account (called shared, omnibus, or [pooled accounts](../guides/transactions/pooled-accounts-muxed-accounts-memos.mdx)) to handle transactions on behalf of their users instead of creating a new Stellar account for each user. To distinguish between individual users in a pooled account, we encourage the implementation of [muxed accounts](../guides/transactions/pooled-accounts-muxed-accounts-memos.mdx). +Many custodial services choose to use a single pooled Stellar account (called shared, omnibus, or [pooled accounts](../guides/transactions/pooled-accounts-muxed-accounts-memos)) to handle transactions on behalf of their users instead of creating a new Stellar account for each user. To distinguish between individual users in a pooled account, we encourage the implementation of [muxed accounts](../guides/transactions/pooled-accounts-muxed-accounts-memos). ### A mixture of non-custodial and custodial -Building an application with [multi-signature](../../learn/fundamentals/transactions/signatures-multisig.mdx) capabilities allows you to have a non-custodial service with account recovery. If the user loses their secret key, they can still sign transactions with other authorized signatures, granted the signature threshold is high enough. +Building an application with [multi-signature](../../learn/fundamentals/transactions/signatures-multisig) capabilities allows you to have a non-custodial service with account recovery. If the user loses their secret key, they can still sign transactions with other authorized signatures, granted the signature threshold is high enough. -### Third-party key management services​ +### Third-party key management services​ {#third-party-key-management-services} There are several apps and services that specialize in adding additional security layers to users' accounts. Check them out if you're interested in integrating a third-party key management service: @@ -58,7 +58,7 @@ In this section, we will go over the new user account creation flow between non- When a new customer downloads the wallet application and goes through the deposit flow for the first time, their Stellar account can be created by either the user’s wallet application or the anchor facilitating the first deposit. This section describes each of these strategies. -### Option 1: The anchor creates and funds the Stellar account​ +### Option 1: The anchor creates and funds the Stellar account​ {#option-1-the-anchor-creates-and-funds-the-stellar-account} For this option, the wallet needs to allow users to initiate their first deposit without having to add an asset/establish a trustline. The wallet then prompts the user to add the trustline once funds are received by the anchor. The flow looks like this: @@ -71,11 +71,11 @@ For this option, the wallet needs to allow users to initiate their first deposit 7. The wallet prompts the user to add the asset/create the trustline. 8. Finally, the anchor sends the deposit funds to the user’s Stellar account. -:::info + An anchor should always maintain a healthy amount of XLM in its distribution account to support new account creations. If doing so becomes unsustainable, it’s recommended that the anchor collaborates with wallets to determine a strategy based on the number of account creation requests. The recommended amount is 2XLM per user account creation (1XLM to meet the minimum balance requirement, and 1XLM for establishing trustlines and covering transaction fees). -::: + With the flow described above, the wallet and the anchor have to facilitate listening for and responding to the trustline status, which can create user experience frictions when waiting for the trustline to be established. To address this issue, Protocol 15 introduced claimable balances, which enhance the flow by allowing users to start using the wallet without having to secure XLM. Both the wallet and the anchor have to implement claimable balance support in order to make this flow work. @@ -89,9 +89,9 @@ The flow with Claimable Balances looks like this: 6. The anchor creates a Claimable Balance. 7. The wallet detects the Claimable Balance for the account, claims the funds, and posts it in the wallet. -### Option 2: the wallet creates and funds the Stellar account upon user sign-up​ +### Option 2: the wallet creates and funds the Stellar account upon user sign-up​ {#option-2-the-wallet-creates-and-funds-the-stellar-account-upon-user-sign-up} -For this option, the wallet creates and funds the Stellar account upon every new user sign-up with the minimum requirement of 1XLM, plus the .5XLM reserve for establishing the first trustline, plus a bit more to cover transaction fees. For more information on minimum balances, check out the [Lumens section](../../learn/fundamentals/lumens.mdx#minimum-balance). +For this option, the wallet creates and funds the Stellar account upon every new user sign-up with the minimum requirement of 1XLM, plus the .5XLM reserve for establishing the first trustline, plus a bit more to cover transaction fees. For more information on minimum balances, check out the [Lumens section](../../learn/fundamentals/lumens#minimum-balance). The flow looks like this: @@ -102,8 +102,8 @@ The flow looks like this: 5. The anchor receives the funds, then sends them to the user’s Stellar account. 6. The wallet detects that funds were sent and notifies the user. -:::note + In the examples above, we suggest having the anchor or wallet cover minimum balance and trustline XLM requirements by depositing funds directly into a user's account. We made that suggestion for the sake of simplicity, but in all cases, the anchor or wallet could instead use sponsored reserves to ensure that when a user closes a trustline or merges their account, the reserve reverts to the sponsoring account rather than to the user's account. -::: + diff --git a/docs/build/apps/dapp-frontend.mdx b/docs/build/apps/dapp-frontend.mdx index 1c737ff57..10d7ccab2 100644 --- a/docs/build/apps/dapp-frontend.mdx +++ b/docs/build/apps/dapp-frontend.mdx @@ -1,13 +1,10 @@ --- -sidebar_position: 70 -sidebar_label: Develop a Contract with Frontend Templates -title: "Build a dapp Frontend: Connect Wallets, Handle Transactions & More" +title: Develop a Contract with Frontend Templates +"og:title": "Build a dapp Frontend: Connect Wallets, Handle Transactions & More" description: "Learn how to build a dapp frontend that connects to smart contracts. Explore best practices for integrating wallets, handling transactions, and interacting with the Stellar network." --- -# Develop a Contract with Frontend Templates - -This guide picks up where [Getting Started tutorial](../smart-contracts/getting-started/README.mdx) left off. From there, we'll build our own simple frontend template. +This guide picks up where [Getting Started tutorial](/docs/build/smart-contracts/getting-started) left off. From there, we'll build our own simple frontend template. Building our own template will be a great way to learn how they work. They're not that complicated! @@ -84,7 +81,7 @@ PUBLIC_STELLAR_CONTRACT_PATH="../hello-world" The variables used here are for deploying the contract to testnet and creating the contract bindings for testnet. The user name can be any name, but let’s say you use alice, and have previously created the user `alice` with the Stellar CLI, creating a new account named `alice` will fail. -### 3. initialize.js +### 3. initialize.js {#3-initializejs} The goal is to have a script that will handle everything smart contract-related, from creating a user account to deploying the smart contract and providing a TypeScript binding for easy smart contract calls from frontend code. The file `initialize.js` contains that script, and the functionality of it will be broken down in the following sections. @@ -198,7 +195,7 @@ The `deploy()` function will get the contract ID from the CLI call, and add the In this example, we only use one smart contract, but it’s not uncommon to use multiple smart contracts in a dapp, so the template supports the use of multiple contracts. -##### Create bindings +#### Create bindings {#create-bindings} The Stellar CLI has a convenient command to create an NPM package that makes it easy to call smart contract functions from a JavaScript/TypeScript-based frontend. We call the package “bindings” because that’s what it does: it binds the contract and the frontend together. @@ -280,7 +277,7 @@ main().catch((e) => { }); ``` -#### Complete initialize.js file +#### Complete initialize.js file {#complete-initializejs-file} This is the complete file. Place it in the SolidJS root: diff --git a/docs/build/apps/example-application-tutorial/README.mdx b/docs/build/apps/example-application-tutorial/README.mdx deleted file mode 100644 index 3869655b2..000000000 --- a/docs/build/apps/example-application-tutorial/README.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -sidebar_position: 40 ---- - -import DocCardList from "@theme/DocCardList"; - -# Build a Payment App with the JS SDK - -Create a basic payment application to transfer tokens between accounts on the Stellar Testnet. - - diff --git a/docs/build/apps/example-application-tutorial/account-creation.mdx b/docs/build/apps/example-application-tutorial/account-creation.mdx index 924d4aa1d..80d95ae37 100644 --- a/docs/build/apps/example-application-tutorial/account-creation.mdx +++ b/docs/build/apps/example-application-tutorial/account-creation.mdx @@ -1,6 +1,6 @@ --- title: Account Creation -sidebar_position: 20 +description: "Accounts are the central data structure in Stellar and can only exist with a valid keypair (a public and secret key) and the required minimum balance of XLM." --- Accounts are the central data structure in Stellar and can only exist with a valid keypair (a public and secret key) and the required minimum balance of XLM. Read more in the [Accounts section]. @@ -9,11 +9,11 @@ Accounts are the central data structure in Stellar and can only exist with a val To start, we'll have our user create an account. In BasicPay, the signup page will display a randomized public and secret keypair that the user can select with the option to choose a new set if preferred. -:::info + Since we are building a [non-custodial application], the encrypted secret key will only ever live in the browser. It will never be shared with a server or anybody else. -::: + ![public and private keys](/assets/basic-pay/public-and-private-keys.png) @@ -189,8 +189,8 @@ Source: https://github.com/stellar/basic-payment-app/blob/main/src/lib/stellar/h Our `walletStore` is used in a ton of places in our application, especially in the confirmation modal when asking a user to input their pincode. Read on to see how we've done that. -[accounts section]: ../../../learn/fundamentals/stellar-data-structures/accounts.mdx -[non-custodial application]: ../application-design-considerations.mdx#non-custodial-service +[accounts section]: ../../../learn/fundamentals/stellar-data-structures/accounts +[non-custodial application]: ../application-design-considerations#non-custodial-service [`@stellar/typescript-wallet-sdk-km`]: https://www.npmjs.com/package/@stellar/typescript-wallet-sdk-km -[sponsored reserves]: ../../guides/transactions/sponsored-reserves.mdx +[sponsored reserves]: ../../guides/transactions/sponsored-reserves [contacts list]: ./contacts-list diff --git a/docs/build/apps/example-application-tutorial/anchor-integration/README.mdx b/docs/build/apps/example-application-tutorial/anchor-integration/README.mdx deleted file mode 100644 index 9f94cf8a4..000000000 --- a/docs/build/apps/example-application-tutorial/anchor-integration/README.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -sidebar_position: 60 ---- - -import DocCardList from "@theme/DocCardList"; - -# Anchor Integration - -Interact with non-Lumen assets in your application. Use anchors for deposits and withdrawals to get tokens on or off the network. - - diff --git a/docs/build/apps/example-application-tutorial/anchor-integration/index.mdx b/docs/build/apps/example-application-tutorial/anchor-integration/index.mdx new file mode 100644 index 000000000..dd8ff500f --- /dev/null +++ b/docs/build/apps/example-application-tutorial/anchor-integration/index.mdx @@ -0,0 +1,32 @@ +--- +title: Anchor Integration +description: "Interact with non-Lumen assets in your application. Use anchors for deposits and withdrawals to get tokens on or off the network." +--- + + + + + An anchor is a Stellar-specific term for the on and off-ramps that connect the Stellar network to traditional financial rails, such as financial... + + + + + The stellar.toml file is a common place where the Internet can find information about an organization’s Stellar integration. + + + + + Similar to the SEP-1 information, both SEP-6 and SEP-24 protocols make use of SEP-10 for authentication with the user. + + + + + SEP-6 allows wallets and other clients to interact with anchors directly without the user needing to leave the wallet to go to the anchor’s site. + + + + + SEP-24 provides a standard way for wallets and anchors to interact by having the user open a webview hosted by an anchor to collect and handle KYC information. + + + diff --git a/docs/build/apps/example-application-tutorial/anchor-integration/sep1.mdx b/docs/build/apps/example-application-tutorial/anchor-integration/sep1.mdx index 92b3eca5a..4a78d62b6 100644 --- a/docs/build/apps/example-application-tutorial/anchor-integration/sep1.mdx +++ b/docs/build/apps/example-application-tutorial/anchor-integration/sep1.mdx @@ -1,9 +1,9 @@ --- title: "SEP-1: Stellar TOML" -sidebar_position: 20 +description: "The stellar.toml file is a common place where the Internet can find information about an organization’s Stellar integration. Regardless of which type of transfer we want to use (SEP-6 or SEP-24), we'll need to start with SEP-1." --- -The [`stellar.toml` file](../../../../tokens/publishing-asset-info.mdx#completing-your-stellartoml) is a common place where the Internet can find information about an organization’s Stellar integration. Regardless of which type of transfer we want to use (SEP-6 or SEP-24), we'll need to start with SEP-1. +The [`stellar.toml` file](../../../../tokens/publishing-asset-info#completing-your-stellartoml) is a common place where the Internet can find information about an organization’s Stellar integration. Regardless of which type of transfer we want to use (SEP-6 or SEP-24), we'll need to start with SEP-1. For anchors, we’re interested in the `CURRENCIES` they issue, the `TRANSFER_SERVER` and/or `TRANSFER_SERVER_SEP0024` keywords that indicate if the anchor supports SEP-6, SEP-24, or both, and the `WEB_AUTH_ENDPOINT` which allows a wallet to set up an authenticated user session. diff --git a/docs/build/apps/example-application-tutorial/anchor-integration/sep10.mdx b/docs/build/apps/example-application-tutorial/anchor-integration/sep10.mdx index 33b9d14d2..81cb57655 100644 --- a/docs/build/apps/example-application-tutorial/anchor-integration/sep10.mdx +++ b/docs/build/apps/example-application-tutorial/anchor-integration/sep10.mdx @@ -1,6 +1,6 @@ --- title: "SEP-10: Stellar Web Authentication" -sidebar_position: 20 +description: "Similar to the SEP-1 information, both SEP-6 and SEP-24 protocols make use of SEP-10 for authentication with the user." --- Similar to the SEP-1 information, both SEP-6 and SEP-24 protocols make use of SEP-10 for authentication with the user. The user must prove they own the account before they can withdraw or deposit any assets as part of SEP-10: Stellar Web Authentication. @@ -9,11 +9,11 @@ Since we have the `stellar.toml` file information already, we can use that to di ## Prompt for authentication -:::note + The `/src/routes/dashboard/transfers/+page.svelte` is doing **a lot** of work throughout these sections, and we are chopping it up in various ways for display as part of this tutorial. For a full picture of this file, please remember to check the source code. -::: + ```html title=/src/routes/dashboard/transfers/+page.svelte -// highlight-next-line - // highlight-next-line ``` @@ -58,11 +69,11 @@ On the Svelte side, this modal component will be a "wrapper" around the rest of To avoid reinventing the wheel every time we need a modal, we will create a reusable component that can accomodate most of our needs. Then, when we need the confirmation modal, we can pass an object of props to customize the modal's behavior. -:::note + In our `*.svelte` component files, we will **not** dive into the HTML markup outside of the ` diff --git a/docs/build/apps/example-application-tutorial/index.mdx b/docs/build/apps/example-application-tutorial/index.mdx new file mode 100644 index 000000000..5c90d15e0 --- /dev/null +++ b/docs/build/apps/example-application-tutorial/index.mdx @@ -0,0 +1,52 @@ +--- +title: Build a Payment App with the JS SDK +description: "Create a basic payment application to transfer tokens between accounts on the Stellar Testnet." +--- + + + + + This tutorial walks through how to build an application with the @stellar/stellar-sdk. + + + + + Accounts are the central data structure in Stellar and can only exist with a valid keypair (a public and secret key) and the required minimum balance of XLM. + + + + + Since the user's keypair is encrypted with a pincode and stored in their browser, we will occasionally need to prompt them for that pincode to sign a... + + + + + One central feature of BasicPay is a list of contacts containing a user's name and associated Stellar addresses. + + + + + For an account to hold and trade assets other than XLM, it must establish a trustline with the issuing account of that particular asset. + + + + + A payment operation sends an amount in a specific asset (XLM or non-XLM) to a destination account. + + + + + A path payment is where the asset sent can be different from the asset received. + + + + + 5 items + + + + + Your application will be querying data from Horizon (one of Stellar's APIs) throughout its functionality. + + + diff --git a/docs/build/apps/example-application-tutorial/manage-trust.mdx b/docs/build/apps/example-application-tutorial/manage-trust.mdx index 1fe78737a..673049ff9 100644 --- a/docs/build/apps/example-application-tutorial/manage-trust.mdx +++ b/docs/build/apps/example-application-tutorial/manage-trust.mdx @@ -1,19 +1,19 @@ --- title: Manage Trust -sidebar_position: 30 +description: "For an account to hold and trade assets other than XLM, it must establish a trustline with the issuing account of that particular asset. Each trustline increases the account’s base reserve by 0.5 XLM, which means the account will have to hold more XLM in its minimum balance." --- -For an account to hold and trade assets other than XLM, it must establish a [trustline](../../../learn/fundamentals/stellar-data-structures/accounts.mdx#trustlines) with the issuing account of that particular asset. Each trustline increases the account’s [base reserve](../../../learn/fundamentals/stellar-data-structures/accounts.mdx#base-reserves-and-subentries) by 0.5 XLM, which means the account will have to hold more XLM in its minimum balance. +For an account to hold and trade assets other than XLM, it must establish a [trustline](../../../learn/fundamentals/stellar-data-structures/accounts#trustlines) with the issuing account of that particular asset. Each trustline increases the account’s [base reserve](../../../learn/fundamentals/stellar-data-structures/accounts#base-reserves-and-subentries) by 0.5 XLM, which means the account will have to hold more XLM in its minimum balance. ## User experience First, we’ll have the user create a trustline for an asset by navigating to the Assets page, selecting an asset, and clicking the “Add Asset” button. -:::info + -An asset is displayed as an asset code and issuer address. Learn more in our [Assets section](../../../learn/fundamentals/stellar-data-structures/assets.mdx). +An asset is displayed as an asset code and issuer address. Learn more in our [Assets section](../../../learn/fundamentals/stellar-data-structures/assets). -::: + ![add-assets](/assets/basic-pay/add-assets.png) @@ -21,11 +21,11 @@ This triggers a modal form for the user to confirm the transaction with their pi The `changeTrust` operation can also be used to modify or remove trustlines. -:::info + Every transaction must contain a sequence number that is used to identify and verify the order of transactions with the account. A transaction’s sequence number must always increase by one. In BasicPay, fetching and incrementing the sequence number is handled automatically by the transaction builder. -::: + Trustlines hold the balances for all of their associated assets (except XLM, which are held at the account level), and you can display the user’s various balances in your application. @@ -37,7 +37,7 @@ See it in action here: https://basicpay.pages.dev/dashboard/assets The trustlines an account holds will be necessary to view in several parts of the BasicPay application. First, we'll discuss how we manage different trustlines for the account. -### The `/dashboard/assets` page +### The `/dashboard/assets` page {#the-dashboardassets-page} The `/dashboard/assets` page allows the user to manage the Stellar assets their account carries trustlines to. On this page, they can select from several pre-suggested or highly ranked assets, or they could specify their own asset to trust using an asset code and issuer public key. They can also remove trustlines that already exist on their account. @@ -252,4 +252,4 @@ export async function createChangeTrustTransaction({ source, asset, limit }) { } ``` -[this querying data section]: ./querying-data.mdx#fetchaccountbalances +[this querying data section]: ./querying-data#fetchaccountbalances diff --git a/docs/build/apps/example-application-tutorial/overview.mdx b/docs/build/apps/example-application-tutorial/overview.mdx index 709e6b4c2..c6b8974e9 100644 --- a/docs/build/apps/example-application-tutorial/overview.mdx +++ b/docs/build/apps/example-application-tutorial/overview.mdx @@ -1,23 +1,23 @@ --- title: Overview -sidebar_position: 10 +description: "This tutorial walks through how to build an application with the [@stellar/stellar-sdk]." --- -:::note + -This tutorial walks through how to build an application with the [`@stellar/stellar-sdk`]. To build with the Wallet SDK, please follow the [Build a Wallet tutorial](../wallet/overview.mdx). To build with smart contracts, navigate to the [Smart Contracts section](../../../build/smart-contracts/getting-started/setup.mdx). +This tutorial walks through how to build an application with the [`@stellar/stellar-sdk`]. To build with the Wallet SDK, please follow the [Build a Wallet tutorial](../wallet/overview). To build with smart contracts, navigate to the [Smart Contracts section](../../../build/smart-contracts/getting-started/setup). -::: + In this tutorial, we'll walk through the steps needed to build a basic payment application on Stellar's Testnet. After this tutorial, you should have a good understanding of the fundamental Stellar concepts and a solid base for iterative development. For this tutorial, we'll walk through the steps as we build a sample application we've called [BasicPay], which will be used to showcase various features. -:::caution + Although BasicPay is a full-fledged application on Stellar's Testnet, it has been built solely to showcase Stellar functionality for the educational purposes of this tutorial, not to be copied, pasted, and used on Mainnet. -::: + ## Project Setup @@ -30,11 +30,11 @@ To build a basic Stellar application, you'll need: - A way to interact with the Stellar network: we're using the [`@stellar/stellar-sdk`], but you could use traditional fetch requests. The [`@stellar/stellar-sdk`] is also used for building transactions to submit to the Stellar network. - A way to interact with the user's keypair: we're using [`@stellar/typescript-wallet-sdk-km`], but you can opt to use an existing wallet. -:::note + While we are using the above components to construct our application, we have done our best to write this tutorial in such a way that dependency on any one of these things is minimized. Ideally, you should be able to use the JavaScript code we've written and plug it into any other framework you'd like with minimal effort. -::: + We've made the following choices during the development of BasicPay that you may also need to consider as you follow along: @@ -46,11 +46,11 @@ We've made the following choices during the development of BasicPay that you may - We do _some_ error handling, but not nearly as much as you would want for a real-world application. If something seems like it's not working, and you're not seeing an error, open your developer console, and you might be able to figure out what has gone wrong. - We have not implemented _any_ automated testing. You'll probably want some for your application. -:::note + This tutorial is probably best viewed as "_nearly_ comprehensive." We aren't going to walk you through each and every file in our codebase, and the files we do use to illustrate concepts in the tutorial may not be _entirely_ present or explained. However, we will cover the basics, and point you to more complete examples in the codebase when applicable. -::: + ### Dev Helpers @@ -63,11 +63,11 @@ This tutorial is probably best viewed as "_nearly_ comprehensive." We aren't goi Here are the steps we've taken to start building BasicPay. Feel free to be inspired and customize these directions as you see fit. The entire [BasicPay codebase] is freely open and available on GitHub for reference. -:::note + This part of the tutorial will need a large helping of "your mileage may vary." We will outline what steps we've taken for our deployment situation, but you will want to review what options are needed for your environment(s). -::: + ### Install Frameworks @@ -85,13 +85,38 @@ This will walk you through the SvelteKit creation process, asking you about the After this process, the scaffolding for your application will live inside the `my-basic-payment-app` directory. You can `cd` into that directory and add some UI dependencies. -```bash npm2yarn + + +```bash npm cd my-basic-payment-app npm install --save-dev svelte-preprocess tailwindcss@^3.4.13 autoprefixer postcss @sveltejs/adapter-static \ @tailwindcss/typography \ daisyui svelte-feather-icons ``` +```bash Yarn +cd my-basic-payment-app +yarn add --dev svelte-preprocess tailwindcss@^3.4.13 autoprefixer postcss @sveltejs/adapter-static \ + @tailwindcss/typography \ + daisyui svelte-feather-icons +``` + +```bash pnpm +cd my-basic-payment-app +pnpm add --save-dev svelte-preprocess tailwindcss@^3.4.13 autoprefixer postcss @sveltejs/adapter-static \ + @tailwindcss/typography \ + daisyui svelte-feather-icons +``` + +```bash Bun +cd my-basic-payment-app +bun add --dev svelte-preprocess tailwindcss@^3.4.13 autoprefixer postcss @sveltejs/adapter-static \ + @tailwindcss/typography \ + daisyui svelte-feather-icons +``` + + + Before we configure anything, we'll need to generate our `tailwind.config.js` and `postcss.config.js` files. ```bash @@ -100,30 +125,24 @@ npx tailwindcss init -p Now, we will require a bit of configuration to make all those components work together. First, modify your `svelte.config.js` file: -```js title="/svelte.config.js" -// highlight-start +```js title="/svelte.config.js" highlight={1-2,9-11,13-17} import preprocess from "svelte-preprocess"; import adapter from "@sveltejs/adapter-static"; -// highlight-end /** @type {import('@sveltejs/kit').Config} */ const config = { kit: { // Note: Your `adapter` configuration may need customizations depending // on how you are building and deploying your application. - // highlight-start adapter: adapter({ fallback: "index.html", }), - // highlight-end }, - // highlight-start preprocess: [ preprocess({ postcss: true, }), ], - // highlight-end }; export default config; @@ -135,22 +154,17 @@ Next, you can configure the `tailwind.config.js` file. 2. Configure our content paths (you may need to modify these values depending on your project structure) 3. Add the `daisyui` plugin **after** any officialy `@tailwindcss` plugins (only `typography` in our example) -```js title="/tailwind.config.js" -// highlight-start +```js title="/tailwind.config.js" highlight={1-2,7-9,11} const daisyui = require("daisyui"); const typography = require("@tailwindcss/typography"); -// highlight-end /** @type {import('tailwindcss').Config} */ export default { content: [ - // highlight-start "./src/routes/**/*.{html,js,svelte,ts}", "./src/routes/**/**/*.{html,js,svelte,ts}", "./src/lib/components/**/*.{html,js,svelte,ts}", - // highlight-end ], - // highlight-next-line plugins: [typography, daisyui], }; ``` @@ -184,15 +198,33 @@ export const ssr = false; Your SvelteKit project is now configured and ready to run! -```bash npm2yarn + + +```bash npm npm run dev ``` +```bash Yarn +yarn dev +``` + +```bash pnpm +pnpm run dev +``` + +```bash Bun +bun run dev +``` + + + ### Stellar dependencies To work with the Stellar network, datastructures, and locally stored keypairs, we're going to install and configure a few more dependencies. -```bash npm2yarn + + +```bash npm # Stellar SDKs npm install @stellar/stellar-sdk @stellar/typescript-wallet-sdk-km # Wallet integration packages (required for vite.config.js SSR bundling) @@ -202,11 +234,45 @@ npm install --save-dev @esbuild-plugins/node-globals-polyfill @esbuild-plugins/n path @rollup/plugin-inject buffer svelte-local-storage-store uuid ``` -:::info[Stellar Wallets Kit v1] +```bash Yarn +# Stellar SDKs +yarn add @stellar/stellar-sdk @stellar/typescript-wallet-sdk-km +# Wallet integration packages (required for vite.config.js SSR bundling) +yarn add @creit.tech/stellar-wallets-kit@^1 @stellar/freighter-api @lobstrco/signer-extension-api +# We will need some polyfills to make things available client-side +yarn add --dev @esbuild-plugins/node-globals-polyfill @esbuild-plugins/node-modules-polyfill \ + path @rollup/plugin-inject buffer svelte-local-storage-store uuid +``` + +```bash pnpm +# Stellar SDKs +pnpm add @stellar/stellar-sdk @stellar/typescript-wallet-sdk-km +# Wallet integration packages (required for vite.config.js SSR bundling) +pnpm add @creit.tech/stellar-wallets-kit@^1 @stellar/freighter-api @lobstrco/signer-extension-api +# We will need some polyfills to make things available client-side +pnpm add --save-dev @esbuild-plugins/node-globals-polyfill @esbuild-plugins/node-modules-polyfill \ + path @rollup/plugin-inject buffer svelte-local-storage-store uuid +``` + +```bash Bun +# Stellar SDKs +bun add @stellar/stellar-sdk @stellar/typescript-wallet-sdk-km +# Wallet integration packages (required for vite.config.js SSR bundling) +bun add @creit.tech/stellar-wallets-kit@^1 @stellar/freighter-api @lobstrco/signer-extension-api +# We will need some polyfills to make things available client-side +bun add --dev @esbuild-plugins/node-globals-polyfill @esbuild-plugins/node-modules-polyfill \ + path @rollup/plugin-inject buffer svelte-local-storage-store uuid +``` + + + + + +**Stellar Wallets Kit v1** The Stellar Wallets Kit dependency is pinned to `@^1` on purpose. This tutorial and its companion [`stellar/basic-payment-app`](https://github.com/stellar/basic-payment-app) are written against the Kit v1 API (`new StellarWalletsKit(...)`). Installing the package unpinned now resolves to v2.x, whose initialization API is incompatible. This pin keeps the tutorial working until it and BasicPay are migrated to v2 together. -::: + We will use a `window.js` file to inject Buffer into our client-side code, since that's required by some parts of the `@stellar/stellar-sdk`. diff --git a/docs/build/apps/example-application-tutorial/path-payment.mdx b/docs/build/apps/example-application-tutorial/path-payment.mdx index 02437b083..81705f5d2 100644 --- a/docs/build/apps/example-application-tutorial/path-payment.mdx +++ b/docs/build/apps/example-application-tutorial/path-payment.mdx @@ -1,9 +1,9 @@ --- title: Path Payment -sidebar_position: 50 +description: "A path payment is where the asset sent can be different from the asset received." --- -A path payment is where the asset sent can be different from the asset received. There are two possible path payment operations: 1) `path_payment_strict_send`, which allows the user to specify the amount of the asset to send, and 2) `path_payment_strict_receive`, which allows the user to specify the amount of the asset received. Read more in the [Path Payments Guide](../../../build/guides/transactions/path-payments.mdx). +A path payment is where the asset sent can be different from the asset received. There are two possible path payment operations: 1) `path_payment_strict_send`, which allows the user to specify the amount of the asset to send, and 2) `path_payment_strict_receive`, which allows the user to specify the amount of the asset received. Read more in the [Path Payments Guide](../../../build/guides/transactions/path-payments). ## User experience @@ -15,28 +15,24 @@ The user will then preview the transaction, input their pincode, and select the ## Code implementation -### The `/dashboard/send` page +### The `/dashboard/send` page {#the-dashboardsend-page} -Most of this page has been discussed in the [Payment section](./payment.mdx#the-dashboardsend-page). Below, we're highlighting the unique pieces that are added to BasicPay to allow for the path payment feature. +Most of this page has been discussed in the [Payment section](./payment#the-dashboardsend-page). Below, we're highlighting the unique pieces that are added to BasicPay to allow for the path payment feature. -```html title="/src/routes/dashboard/send/+page.svelte" +```html title="/src/routes/dashboard/send/+page.svelte" highlight={7-8,12-13,29-31,94-113} - -::::note + OpenZeppelin is bringing its trusted [smart contracts libraries](https://github.com/OpenZeppelin/stellar-contracts) and developer workflows to Stellar, a Rust-based blockchain. Developers can build payments, stablecoins, and DeFi apps on Stellar using familiar, audited building blocks. To see more, go to: https://www.openzeppelin.com/networks/stellar. For latest OpenZeppelin developer docs, please visit: [https://docs.openzeppelin.com/stellar-contracts](https://docs.openzeppelin.com/stellar-contracts). -:::: + ## Getting started with Contract Wizard [OpenZeppelin's Contract Wizard](https://wizard.openzeppelin.com/stellar) includes support for Stellar’s Rust-based smart contracts, making it easier for developers to generate and deploy secure, audited contracts. After you have selected your desired template and options you can download it as a single file, a Rust development package, or a [Scaffold Stellar Package](./scaffold-stellar). Try it out below or visit the wizard [here](https://wizard.openzeppelin.com/stellar). - + +

A Short One, For a Good Reason​

+

This week's meeting was a short one, because it had exactly one job: announcing the 12 winners across 6 tracks from last week's Stellar Builder Summit in São Paulo. I was on the ground with the builders all week, so this was less news roundup, more handing out trophies. My colleague Teague Kaylor from SDF's marketing team — focused on developer marketing, which means most of the developer events and programs you see from us have Teague's fingerprints on them — joined to set the scene before the announcements.

+

What the Builder Summit Is​

+

Builder Summits started as a pilot last year at Consensus Toronto: a long-form developer event that brings the community together over an extended stretch to jam on projects, meet new teams, and get properly connected to the ecosystem — instead of the usual 48-hour hackathon sprint. Toronto went well, so this year the plan is to run them in the markets the foundation is launching into. São Paulo was the first.

+

The final numbers: around 190 developers from around the world, coding for eight days straight, with workshops and sessions through the week and community days over the weekend. The event was produced with NearX — Stellar's partner in Brazil — and our other partner teams on the ground, and the same week São Paulo also hosted Stellar House, a one-day gathering on tokenization, stablecoin rails, and cross-border settlement.

+

Attached to the summit was a bounty program — Teague described it as a mix of an RFP track and a hackathon — pointed squarely at what we want to see built on the network: privacy, anchors and ramps, local yield, and agentic payments and tooling. More Builder Summits are coming later this year, so watch the @BuildOnStellar handle on X for announcements.

+

The Winners: 12 Across 6 Tracks​

+

The format: for each track, second place first, then the winner. One housekeeping note before the list. I read these names off the results live and dropped the repo links into the YouTube stream chat as I went (sorry, Twitter viewers — we still haven't figured out posting links there). The canonical list, with correct spellings and repo links, is going out via @BuildOnStellar and our summit partners, so trust that over my pronunciation. Where the auto-captions and I couldn't agree on a name, I'm describing the project rather than guessing.

+

Privacy: Confidential Tokens & Private Payment Wallets​

+

Second place went to a Confidential Token SDK — a TypeScript client for OpenZeppelin's confidential tokens, with a verifiable replay archive. If you read the July 2 note on the confidential-token developer preview, this is exactly the tooling layer that preview was begging for. I talked with this builder in São Paulo, and their read on our confidentiality layers was genuinely insightful — the placement is well earned.

+

The winner: a privacy wallet — a passkey-based smart wallet with confidential transfers and a shielded pool whose idle liquidity earns yield. Keep this builder in mind; they show up again below.

+

Enterprise Compliance & RWA​

+

Second place: Green Road by Trustless Work — a confidential milestone escrow that releases a private allowance without revealing the amount. We all know and love Trustless Work and their escrow infrastructure, and this is a natural extension of it into the confidential era.

+

The winner: QuietBook — confidential book-building for tokenized RWAs. Sealed bids, a provable winner, atomic settlement. Need I say more? I don't think so. It came from a Turkish builder the community knows as Captain — we all met Captain in São Paulo, and the stream chat's verdict ("Captain is the goat") stands.

+

Anchors & Ramps: Regional Kits​

+

Second place, Trustless Work again: a LatAm ramp kit — a drop-in SDK and React component kit that adds fiat ramps to any LatAm app. Two placements in a single summit is a statement.

+

The winner: a Brazil regional kit — a PIX on- and off-ramp for Brazil with live quotes from competing anchors. It's an aggregator; we all need it, we all love it. The team behind it we've known since our hackathon in Mexico — long-term builders in this ecosystem, still shipping.

+

Anchors & Ramps: Emerging-Market Yield​

+

Second place went to a project that parks idle receivables in Brazilian treasuries while measuring the currency risk. The captions and I jointly butchered the team's name on stream — apologies again; the official winners list will do it justice.

+

The winner, from a Brazilian DeFi team: BRL that earns Brazilian treasury yield right up to the second a PIX payment fires. Which, as I said on the call, is pretty cool.

+

Agentic Payments​

+

Second place: a discovery layer that lets AI agents find what to pay for on Stellar. Every agent-payment stack eventually hits the "pay for what, exactly?" question, so yes — we all need this one too.

+

The winner: StellarPay — one middleware for every machine payment protocol on Stellar. x402, MPP Charge, MPP Channel — all of it behind a single interface. And yes: same builder as the privacy wallet above. Two tracks, two first places, one summit.

+

CLI Plugins & Dev Tooling​

+

Second place: a CLI plugin that lets an AI agent safely call a Soroban contract, gated by an on-chain policy. If you've ever wired an agent up to a Soroban contract, believe you me, you might just need this.

+

The winner: Stellar Memory — a persistent memory layer that links a Soroban repo to what's actually live on-chain. I love a memory layer as much as the next guy, and I'm glad the track went to a project that closes the gap between your codebase and the deployed reality.

+

Closing​

+

Close to 200 builders, building for almost a week straight — thank you for showing up. Thanks as well to the judging bench (I was on it, alongside colleagues from SDF and friends from across the ecosystem) and to NearX and the partner teams who produced the event with us. My last words on the call stand: I hope to see every one of these projects evolve into something bigger, and I hope you get to brag one day about how your journey started at a Builder Summit in São Paulo. More of these are coming later this year. See you next week.

]]> + + Kaan Kacar + https://github.com/kaankacar + + + + + <![CDATA[2026-08-06]]> + https://developers.stellar.org/meetings/2026/08/06 + + 2026-08-06T00:00:00.000Z + + +

Live from Stellar House​

+

This week we streamed from Brazil, where the team is camped out for Stellar House — if you're around, come on down. The stream itself was a full-hour Q&A about confidential tokens, now live on Stellar testnet: private balances and transfer amounts for SEP-41 tokens, with sender and recipient addresses kept public for compliance. I collected 25+ genuinely hard questions from builders during the summit that just wrapped, the live chat piled on more, and my plan was to ask the easy ones and let you do the damage.

+

The guests: Alessandro Voto (goes by Alex), senior product manager of privacy at SDF — in crypto since 2014, and the conduit between institutions asking for private payments and the people implementing them. Design questions went there. Technical ones went to Jay Geng, a stellar-core engineer at SDF for four-plus years who worked on Soroban and the host functions that brought ZK primitives to Stellar (Poseidon, BN254, BLS12-381), presented an early iteration of confidential tokens at Meridian in Rio last year, and shaped several of this product's early design decisions.

+

We started with 100+ viewers across three platforms and ended past 250.

+

Private Does Not Mean Illegal​

+

A surprising number of the questions boiled down to "is this legal?" Alex pushed back on the premise: nobody scrutinizes what you spent on groceries yesterday, and payment privacy in traditional finance isn't a convenience — it's a mandate. For enterprises it's a dealbreaker; they will not make payments their competitors can watch. Blockchains made payments public as a side effect of protecting transaction integrity, never as an end goal.

+

The SDF position pairs privacy with compliance readiness: the tools ship with freezing, clawback, and Stellar Asset Contract passthroughs, deliberately open-ended because disclosure requirements differ by jurisdiction — you figure out what "legal" means where you operate, and the boundaries enforce it. That same morning, José Fernández da Ponte, SDF's president, had framed the network as public by default, private by design — about the neatest recap available.

+

Chat asked the obvious follow-up: why the application layer rather than the chain itself? Same reasoning. SDF won't force a privacy regime on anyone happy with the public network's auditability, and application-level privacy lets technologies evolve — some use cases may eventually demand post-quantum designs — without touching the L1. What the core team did ship is the cryptographic host functions that make verifying these proofs on-chain cheap.

+

Why Hide Amounts but Not the Addresses?​

+

The single most asked question — more than five builders raised it with me at the summit alone.

+

Alex's product answer: confidential tokens are one tool in a toolkit. If you need counterparty privacy, Nethermind's Stellar Private Payments is a privacy-pool toolkit that shields amounts and addresses. Confidential tokens deliberately keep counterparties public because that's what the target users asked for: institutions making regular, publicly known payments — foundations paying grantees, charities, banks settling with each other — where an on-chain record of who got paid is an audit feature, but the amount is the sensitive part. A settlement amount can leak an acquisition intent; a large grant to someone vulnerable can paint a target on them. It's the missing middle setting on Venmo: I want you to know I paid this person, just not how much. (And to chat's "who is this for?" — primarily institutions today.)

+

Jay's engineering answer: full anonymity is a fundamentally different design. Privacy pools are UTXO-shaped, elaborately grafted onto Stellar's account model, and the proving cost is much higher — you're proving note formation, Merkle-tree inclusion, and unspent nullifiers on every transaction. The confidential token is the more elegant construction: it wraps any existing SEP-41 token — without knowing in advance which asset it will shield — and only encrypts the numbers.

+

Auditors, Viewing Keys, and the Escrow Question​

+

The auditor is, in my experience, the single most confusing part for developers, so I asked chat's version directly: how does an auditor see anything without the holder cooperating? Jay's answer: it falls naturally out of the encryption design. Amounts are encrypted under the sender's and recipient's keys — and, in addition, under the auditor's key. Whoever holds that viewing key can decrypt the same information, no cooperation required. Policies — who can audit, rotation, key lifetime — don't have to live in the contract logic; it just cares that the key exists. It's decoupled and modular — the key can even belong to a third party that doesn't exist on-chain.

+

Alex layered the intent on top: there's selective disclosure, which is user-initiated ("I can prove this payment happened to whoever I choose"), and there's compelled revelation through the auditor key. The intention is not that someone sits watching the pool — the auditor key should sit unused inside an MPC or TEE custody setup (think Utila or Fireblocks, not a Freighter wallet) and only answer scoped requests when a regulator compels one. A single auditor address does not mean a single person; put real key management on it. Alex would be shocked if you didn't.

+

Then the fun one. Alberto of Trustless Work (the escrow project) showed me a confidential-marketplace experiment that day — an escrow contract between Alice and Bob — and asked whether one auditor holding four keys across four "auditor channels" was the simplest compliant setup. The panel's honest answer: the question doesn't quite map onto the design — "channel" is an overloaded word Jay wanted more context on, and the escrow case probably wants selective disclosure rather than extra auditors. One correction from me while writing this up: Alex's on-call recollection was one global auditor key per confidential token contract, but the shipped implementation binds an auditor_id per account at registration, out of a shared auditor registry that can hold many keys and serve many tokens — design your compliance around that, not around a single global key. To be continued on Discord once the project ships.

+

The broader point is worth keeping: today's confidential tokens do basic payments with very little composability inside the wrapper — a confidential wrapper doesn't give you atomicity between a payment and a delivery. People are already hacking extensions (like triggering a contract on successful payment), and Alex explicitly wants to see an escrow system built this way. Just don't expect the primitive to hand it to you.

+

C-Addresses, Passkeys, and Key Derivation​

+

Can you use confidential tokens from a smart wallet — passkeys, C-addresses? Yes; Alex has already seen a passkey demo inside a confidential-token-capable wallet. Jay's explanation of why it works: authentication and token holding are decoupled. The smart wallet is an authentication mechanism; the account holder is just a regular token holder underneath. Encryption keys are derived from your account's secret — secret key, then spending key, then viewing key, and so on.

+

Registration was the follow-up: to participate you register with a specific token contract — the key derivation commits to that contract, involves a proof, and stores your public spending and viewing keys along with your chosen auditor_id. (The auditor's own keys live in a separate registry contract — you pick an auditor at registration, you don't provide its key.) Per Jay, both sender and recipient need to be registered; you can't fire tokens at an address that has never generated its keys. Alex noted the registration step is the deliberate price of a design ask — log in with your existing address and derive everything from it, instead of manually managing separate view and spending keys like the original implementation did.

+

Then the warning of the week, from Alex: your key derivation must be deterministic and must match the OpenZeppelin SDK's canonical derivation. Alex vibe-coded a wallet that derived keys differently than the demo does — it could deposit funds but never spend or withdraw them. That's an accidental honeypot, built in good faith, by AI. It's funny until it's a lot of money. The system deliberately pushes work client-side for privacy, so the cryptography there actually matters; OpenZeppelin is writing an SDK spec to make expectations explicit. Until then, follow the SDK and don't let a hallucination invent your derivation path.

+

Wallet Hygiene: Retention Windows and Replay​

+

Jay's practical corollary for wallet builders: receiving requires no action from the receiver — incoming amounts accumulate homomorphically into your receivable balance as encrypted events, and your wallet learns what you hold by replaying those events, decrypting, and storing the openings. Stellar RPC's default retention is seven days, and that number is load-bearing: your commitment stays on-chain forever, but if your wallet loses its local state and the events have aged out of everything you can reach, you can see that your funds exist without being able to reconstruct the opening that spends them. OpenZeppelin's spec is blunt about this — recovery from seed requires a durable event archive, and they publish an indexer specification for exactly that — so wire up infrastructure with the retention you actually need and refresh periodically. Spending is self-healing — every spend forces you to open your balance and generate a proof — so it's the long gaps after your last spend you have to sweep for.

+

Timing Leaks, Scale, and the Road to Mainnet​

+

A sharp one from chat: deposits and withdrawals into the wrapper are public, so can't you correlate them? Yes — Alex didn't dodge it; in a small pool with few participants, timing analysis gets easier. These systems benefit from scale: more parties, purposes, and denominations all make correlation harder — an argument for shared deployments serving many customers under the same jurisdictional requirements, not one pool per app.

+

On observability: the OpenZeppelin demo ships an auditor interface showing all transactions and amounts (deliberately open there; keep it behind custody in real life), but scoped audit requests, monitoring, and selective-disclosure tooling — say, sharing your confidential history with a service so you can do your taxes — are wide-open design space. Nobody is building that platform for you. Hint.

+

And the shortest question got the most concrete answer: is it coming to mainnet? The contracts are live on testnet now — Alex has vibe-coded basic wallets and a private payroll app against them in about twenty minutes. Audits were days from starting at the time of the call; after remediation comes a stable release. The proving stack is Noir, verified on-chain by an UltraHonk verifier that originated with a community member and is maintained by Nethermind. Alex's main ask: OpenZeppelin is a tooling provider, not an operator. Pick a jurisdiction and a use case and go be the operator — sanction lists, allow/deny lists, compliance hooks — and show everyone what best practice looks like.

+

Bonus Round: Confidential Agentic Payments​

+

Someone asked about AI agents, so Jay closed with a design sketch. Stellar already has x402 and machine-payment implementations, and confidential tokens can absolutely make agentic payments private — but not by naive plugging-in. Agent payments are fast, tiny, and many-to-many; you can't settle every one on-chain with five-second finality plus client-side proving. The plausible shape is channel-based: accumulate payments off-chain, then settle batches across multiple agents at once, with a registry of who settled what and a dispute period. Jay called it "some engineering to be done" and left it to the ecosystem. I'll repeat what I said live: builders will ship exactly this at the next hackathon, and it will probably win.

+

Closing​

+

Alex's parting note was the right one: this isn't an incremental ease-of-use feature. It's the chance to stop choosing between traditional finance (private but closed) and blockchains (open but exposed) — ideally ending as a plain checkbox in your wallet that says make this transaction private, done compliantly, from mainnet day one. Drop further questions in the developer chat on the Stellar Developers Discord — there's enough unanswered material for a sequel if demand holds. Thanks to Alex and Jay, and I'll see every single one of you next week.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-07-30]]> + https://developers.stellar.org/meetings/2026/07/30 + + 2026-07-30T00:00:00.000Z + + +

Two Developer Advocates, One Call​

+

The twist this week: I wasn't the only developer advocate on the stream. Most of SDF was heads-down preparing for Stellar House in Brazil the following week — and if you were in Brazil, you were probably at the Stellar Builder Summit at that very moment. If not, I shouted you out for no reason.

+

The topic was cross-chain interoperability with CCTP — Circle's Cross-Chain Transfer Protocol — and USDC on Stellar. My guest was Elliot (@elliotfriend just about everywhere — if you can't find him on a platform, type "elliotfriend" into the search bar and be done with it), a senior developer advocate at SDF and genuinely one of the people I've learned the most from since joining. He's been in and around the Stellar ecosystem for six-plus years, having wandered into the Stellar Quest Discord out of curiosity about how the machine actually worked — not to trade altcoins — and never looked back. He built the CCTP demo himself, so I got out of the way and let him drive.

+

CCTP in One Paragraph​

+

Some framing before the demo. USDC has been native on Stellar since 2021, so this isn't a story about finally getting the token here — it's about how it gets here. Until recently, moving USDC from Ethereum or Base onto Stellar meant a centralized exchange or a third-party bridge: a human does it out of band while your application sits there waiting for a balance to appear. CCTP turns that into a contract call. Circle is the issuer of USDC, so nothing needs to be locked anywhere: you burn USDC on the source chain, Circle signs an attestation that the burn happened, and you mint the same amount on the destination chain. Same canonical USDC on both sides, and the whole thing is something your code can start and finish on its own. CCTP went live on Stellar this past May.

+

Elliot's history lesson made the "why" concrete. Cross-chain bridging has traditionally been done two ways: lock-and-mint (lock tokens in a vault on chain A, mint a wrapped representation on chain B — wrapped BTC being the classic) or liquidity pools (deposit real USDC on chain A, withdraw real USDC on chain B). Both approaches end with a giant pile of USDC sitting somewhere, and giant piles attract bad actors. CCTP's version has no pile: the tokens are gone on the source chain, and real, canonical USDC — not a wrapped token, not a pool that can get drained — is minted on the destination.

+

The Demo: Stellar to Arc​

+

Elliot's demo app is live at cctp27.vercel.app — named after Stellar's CCTP destination domain, 27 — and the whole thing is open source. He ran it against Arc testnet (Circle's chain, domain 26) because Arc is usually quick, but it works the same with any CCTP-enabled chain; he's wired up the EVM chains and Solana.

+

First transfer: 5 USDC, Stellar to Arc. The deposit-for-burn invocation on the Stellar side takes a handful of arguments worth knowing:

+
    +
  • Amount — Stellar USDC has seven decimals of precision, so 5 USDC is 50 million stroops. Every other CCTP chain uses six. Why? Per Elliot: "I don't know why, but it is."
  • +
  • Destination domain — 26 for Arc, 27 for Stellar.
  • +
  • Mint recipient — the destination address, passed as 32 bytes.
  • +
  • Burn token — the USDC SAC address.
  • +
  • Destination caller — leave it all zeros and anybody can call the mint function on the destination chain, making the mint permissionless; set it if you want only the recipient to be able to.
  • +
  • Max fee and finality threshold — these matter for fast transfers on slower chains. Out of Stellar, standard (threshold 2000) is the only supported mode, because Stellar already reaches finality in seconds. Fast transfers exist for chains like Ethereum and its L2s — and Elliot's favorite, Starknet, which can take four to eight hours to reach finality before you can mint.
  • +
+

Out of the box this is a two-transaction flow on Stellar — an allowance approval on the USDC SAC, then the deposit-for-burn — which bugged Elliot enough that he wrote a wrapper contract that does both in one atomic transaction. He demoed it with a 3.14 USDC transfer, "because I'm a dork." Either way, the rest is the same: wait for Circle's attestation ("Circle's permission slip that the burn actually happened"), confirm the mint in MetaMask, watch the balances update.

+

The Gotchas: Getting USDC Into Stellar​

+

Before going the other direction, Elliot flagged the part that will "totally torch your funds if you're not careful." On EVM chains a mint recipient is a 20-byte address; CCTP gives you a 32-byte field. For transfers into Stellar, you cannot just drop your G address (or M, or C address) in there. Circle requires the mint recipient — and the destination caller — to be the CCTP forwarder contract, as the raw 32 bytes underlying its C address (the Stellar SDK will decode those for you).

+

Your actual destination goes into the hook data, which has a strict layout: 24 zeroed "magic bytes," a version field (currently zero), a length field, and then your G address as a hex-encoded UTF-8 string — the string key itself, not the decoded public key bytes. Get that layout wrong and your funds go somewhere you didn't intend.

+

The live Arc-to-Stellar run promptly hit Arc testnet's aggressive RPC rate limits, which gave Elliot the chance to show off my favorite feature: resume from burn hash. Paste the transaction hash of an earlier burn, the app fetches Circle's attestation, Freighter pops up, and you approve the mint_and_forward call on the forwarder contract. Five USDC landed back in his Stellar wallet.

+

Solana, ATAs, and Every Chain's Opinion​

+

This project was Elliot's first real development against Ethereum and his first Solana transaction ever ("so I'm pretty much an expert on Solana"). Two observations from that tour. First, every ecosystem has its own flavor of contract bindings — the Stellar CLI generates TypeScript or Rust bindings, EVM has ABIs, Solana has IDLs — and they all save you from hand-assembling binary data on the front end. Second, every chain has its own opinion about the 32-byte recipient: EVM addresses are right-aligned and zero-padded; Solana addresses fill all 32 bytes; Stellar wants the forwarder plus hook data.

+

The Solana catch: your tokens don't live at your wallet address. Every token you hold has an associated token account (ATA) — imagine if each of your Stellar trustlines had its own distinct address you sent payments to — and CCTP transfers to Solana must target the ATA, not the wallet. With that handled, a 12 USDC fast transfer from Solana devnet to Stellar went through cleanly: burn confirmed in Phantom, attestation arrived in seconds, Freighter approved the mint_and_forward carrying the message and attestation from Circle's Iris API.

+

The closer was Circle's forwarding service. Normally you sign — and pay gas — on both sides of a transfer. Going outbound from Stellar (inbound isn't supported yet), you can have Circle submit the destination transaction and cover the gas: it's a relayer, same idea as OpenZeppelin's relayer service or Launchtube, triggered by putting "CCTP forward" magic bytes in the hook data. Elliot sent 11 USDC from Stellar to Solana and the tokens simply appeared — no popup, no destination gas, minus whatever fees Circle took along the way. Getting this working on Stellar testnet took a week or two of politely bugging Circle support (Stellar as a source chain wasn't being indexed correctly at first), so pour one out for whoever fielded those tickets.

+

What's Next for the Demo​

+

Elliot's roadmap: try M-addresses and smart accounts (everything so far has been plain G addresses), add more chains beyond "EVM is pretty much the same from one to the next," extend the wrapper contract to ensure the destination G address has a trustline before invoking the mint on Stellar-bound transfers, and use the forwarding service to create the recipient's ATA on Solana-bound ones — ATAs aren't opt-in like trustlines, they just have to be paid for.

+

Closing​

+

Everything — the app, the contracts, even the slide deck (an HTML page Claude put together) — lives in the stellar-cctp-demo repository. Take it, build it, break it, steal it; whatever floats your boat, per the author. A viewer on Twitch asked for the presentation materials, and Elliot's sharing them once refined. Close to 200 of you watched live across YouTube, X, and Twitch. Elliot's parting words: "let your heart guide you." Next week we talk confidential tokens with more SDF folks — see you there.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-07-23]]> + https://developers.stellar.org/meetings/2026/07/23 + + 2026-07-23T00:00:00.000Z + + +

Stellar Quest Is Back​

+

Before the guests, some news from the developer ecosystem — starting with a sentence I haven't been able to say for a while: Stellar Quest is live again. If you've been around long enough, you know Stellar Quest was once the most widely shared link between builders in this ecosystem. It's been broken for some time, mostly because third-party services it depended on sunset their operations (including the one that powered the interactive code lessons). That's fixed now — it's live, it's working, and you can use it to get a genuinely hands-on feel for building on Stellar.

+

Is a click-through learning platform the best use of a developer's time in the post-AI age? That's for you — and for our ambassadors — to decide. What I can say is this: building with AI is insanely easy, and the only thing separating you from AI slop is actually knowing the ecosystem you're building in. You don't have to write the code by hand anymore, but you do have to know what an account is, what a trustline is, what a SEP-41 token is. Stellar Quest is one way to earn that knowledge. Expect a refined version in the coming weeks, shaped by whatever our ambassadors ask for.

+

On the AI side of the same coin: skills.stellar.org keeps growing. It's our skills website, but it's also your skills website — there's a community section with 17 community skills built by non-SDF people (one of my favorites: a Scout-style skill for researching the ecosystem and SCF before you build), next to 7 official skills, with three more official ones visible in the open-source repo if you go looking. Adding your own is a pull request away — there's an example skill-card entry in the repo showing exactly how to submit. Building on Stellar with AI gets easier every day; Stellar Quest is there when you want to slow down and actually learn.

+

Guest: Hypertron — Private Payments and Operations for Businesses​

+

This week's guest was Hypertron (hypertron.space), a programmable operating layer for B2B payments and operations on Stellar — think payments, treasury, and compliance workflows for a business, with privacy as an opt-in layer on top. Sweta and Soumik, the two co-founders, joined from India at 11:47 p.m. their time (self-declared night owls, so it's fine).

+

Some backstory: the two met in college, ran an agency and freelanced together, and fell into web3 in late 2023 through hackathons — ETHIndia was the first big one. Since then Sweta has worked at a Solana-based company, on early NFT projects on Base, and currently also does security work at Hacken; Soumik has worked for a prediction market on Solana and a payments company. This one was personal for me too: I first met them at a Rise In hackathon in Bangalore about two years ago, on my second day ever in India. I mostly remember the biryanis.

+

Why Stellar? Their answer was better than the usual one. Stellar targets institutional clients and has always been a public blockchain by design — which they think is the right default. Traditional finance is private by default with auditability on request; public blockchains are transparent by default. Hypertron's whole thesis is to add privacy on top of the public chain, without giving up the verifiability that makes a public chain valuable in the first place. The problem is concrete: once a business runs payroll and vendor payments in stablecoins, anyone — a client, a competitor, a very motivated employee — can trace its treasury. Wallets get poisoned, payments get tracked. That's the gap they're filling.

+

The Application Layer​

+

Soumik demoed the product side. There's a sandbox on hypertron.space so you can poke around before connecting anything, and sign-in is gated behind an invite code they shared live on the stream. You connect with a Stellar wallet (Freighter in the demo) and land in a workspace — and you can manage several, one per business. Creating one is a guided onboarding: pick the business type (protocol, DAO, agency, freelancer), and the modules adapt — an agency doing dev work doesn't need heavy compliance tooling, a DAO very much does. You choose the operations you want (payments, treasury, risk reports, compliance), invite teammates, wire in integrations like Slack for transaction notifications or Gmail/Notion/Google Drive for the paperwork around employees and invoices, and set your geography so the risk and compliance reports (delivered daily to Telegram or WhatsApp) actually match your market.

+

The payments demo was the simple, satisfying kind: create a payment of 10 XLM with a description, get a payment link, open it from a second wallet, pay — settled near-instantly, tracked in the dashboard. XLM and USDC are supported today, with more assets planned. For real integrations there's a developer portal with API keys, docs, and an SDK, plus an MCP in the works so you can wire Hypertron into your app from an AI tool in minutes. To make it tangible, Soumik built a demo app that day: a Pokémon NFT marketplace with Hypertron checkout. Buy an NFT, get redirected to the payment link, pay, and a webhook bounces you back to the marketplace with the NFT already in your account. The stablecoin payment stack and APIs are live now, with the full v1 targeted about two weeks out.

+

On monetization: honest answer, still being figured out — likely pay-per-use across the smaller features rather than a cut of payments alone. One of those features is bridging: a business already operating on Ethereum, Solana, or Avalanche can move its treasury over to Stellar specifically to use the privacy payments. That's a fun acquisition channel if it works.

+

The Privacy Stack​

+

Sweta took the second half, and this is where it gets interesting for protocol nerds. Their framing: privacy isn't a rule, it's a spectrum, and it doesn't start with a circuit — it starts with the question what needs to be hidden. They've built a private-payments evaluation framework around six leakage dimensions: sender, receiver, amount, timing, linkability, and metadata. Confidential tokens, for contrast, hide the amount but leave sender and receiver public. Hypertron's target is linkability — nobody should be able to learn who pays whom — while keeping compliance deliberately open through viewing keys, so an auditor with the right key can still see what regulators need to see. Their privacy matrix today: sender, receiver, amount, and linkability covered; timing still partial (that's a batching-and-delay problem); compliance intentionally left open. In the app it'll surface as an opt-in privacy button on otherwise normal transparent payments.

+

The architecture, in one breath: proofs are generated locally (the provers never leave your device), a relayer sponsors fees and submits, commitments land as leaves in an on-chain Merkle tree, and nullifiers handle spend-tracking. Four contracts ship the whole thing — commitments, nullifier, verifier, and a transfer contract that orchestrates shielding, sending, and unshielding with a single integration point for the merchant app.

+

What I liked most is that they're packaging it twice. For protocol builders there are composable Rust crates — Merkle trees, nullifiers, proof verification, disclosure mechanisms — so you can assemble your own privacy design instead of rebuilding from scratch: relayers plus a ZK pool if you care about sender privacy, confidential tokens for payroll, a mixture with auditing for treasury settlements, pooling-batching-delay for anonymous donations. For application builders there's an npm package with a compiled WASM prover, so you generate proofs without ever touching the cryptography. Everything leans on the primitives the protocol now ships natively — the BLS12-381 pairings that landed in Protocol 22 and the Poseidon hashing from January's X-Ray (Protocol 25) upgrade — rather than porting verifier and hashing libraries in. That's also their differentiation pitch against Nethermind's SPP shielded pool: shielded pools go back to Zcash in 2016, and Hypertron's angle is composing the on-protocol primitives instead of shipping a ported stack. When I asked why BLS12-381 over BN254 (the more common choice for shielded pools), the answer was refreshingly honest: not entirely sure yet, the goal is fast verifiable circuits. Pools are per-asset — XLM first, more later.

+

The CLI demo walked the real flow: query the last indexed Merkle root, compute a Poseidon commitment from secret inputs, run the deposit — commitment on-chain, proof generated and submitted, transaction shielded. Then the private-transfer proof failed on an indexing error, live, in front of 200+ people. As regular viewers know the rule by now: you're not a real builder if your demo works every time.

+

The Fine Print​

+

My PSA from the stream, repeated here for the record: Hypertron is a project in development, running on testnet. These things should happen — that's the point of showing them — but it's not a live business yet, so don't route your company's treasury anywhere just yet. The open-sourced v2 of the contracts was days away at recording, and viewers were already asking about integration pricing live on the stream, which is honestly the best kind of validation a pre-launch project can get. Follow them at x.com/hypertron_HQ.

+

Closing​

+

X-Ray has been live for about six months now, and privacy on Stellar still fascinates me — we've gone from protocol primitives to confidential tokens to shielded pools, and now to teams like Hypertron trying to be the B2B application layer on top of all of it. A private payments product for businesses is a whole different level of hard, and I'd love to see more projects emerge in this lane. We crossed 250 live viewers by the end — thank you for that. Next week I'm planning a session on the cross-chain interop options available to Stellar builders, plus another guest. See you then.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-07-16]]> + https://developers.stellar.org/meetings/2026/07/16 + + 2026-07-16T00:00:00.000Z + + +

The Week I Mostly Shut Up​

+

Probably my favorite Stellar Developers meeting so far, and — unusually for me — I spent most of it not talking. The occasion: introducing Stellar Raven, the unified Stellar-ecosystem MCP gateway. My pitch in one line: the first, last, and only thing you need to build on Stellar — Stellar docs and ecosystem context in one connection. You might think "oh, it's just an MCP." You would be mistaken, and I brought four guests to explain why.

+

Quick introductions. Bri has been on the ecosystem team at the foundation for about four and a half years and does a lot of the storytelling around what Tyler builds — a job description that now includes Raven. Boxy built Stellar Light and focuses on data indexing: making ecosystem data smart and high-quality enough that Raven keeps getting smarter from it. Ralph wears many hats in the ecosystem but joined as the builder of Lumen Loop (lumenloop.com), a discovery platform for everything happening on Stellar. And Tyler — still a developer advocate director, and together with Bri quietly spinning off a new team inside the foundation to work on exactly this kind of thing. Don't tell anybody.

+

What Raven Actually Is​

+

Tyler's framing: the problem Raven solves is context. It's an MCP (Model Context Protocol) server that aims to ensure agents know the truth about Stellar when you ask a question or build something.

+

The corpus of Stellar truth is scattered, and some of that is structural. We're open source with a very open culture, so a lot of what's true about Stellar lives outside the foundation's control. We run a hackathon on one SDK version, ship a new release two months later, and now SEO is actively working against us: LLMs index a pile of once-true, now-outdated information. Everyone builds off a Blend or Soroswap repo at a hackathon; those repos are static (you can't update deployed contracts), so freshly generated content keeps encoding stale best practices. Recency is a bad signal when the new content was generated off the old standards; scoring what's actually true is genuinely tricky.

+

Tyler had solved this for himself with a personal deep-research workflow, but "install these ten skills and four MCP servers" is not a shippable product. Raven is that build workflow surfaced as a single service — the fifth version he's tried to build over almost a year, and it only got serious once Lumen Loop and Stellar Light/Scout existed as APIs he could route to. Under the hood, Raven pulls together Lumen Loop, Stellar Light, the Stellar docs, all the Stellar skills, and the Algolia indexes behind the docs and the site, plus general research tools like Parallel and Perplexity in the research pipeline.

+

The broader thesis: anyone seriously evaluating chains is comparing Stellar against several ecosystems, each with its own sprawl of bespoke skills and MCPs. Nobody maintains all that. If we want people to give Stellar a fair chance with their LLMs, there has to be one tool. That's the niche.

+

The Sources: Lumen Loop and Stellar Light​

+

Ralph and Boxy overlap on purpose — two independent sources of ecosystem truth mean you can cross-check what works.

+

Lumen Loop is content-first and agentically driven: backend agents discover content, attach metadata, generate summaries and embeddings, look up SCF information, occasionally disagree with it and self-correct, and publish the result to an open ecosystem database on GitHub that others (like Boxy) build on. Ralph's favorite party trick lives at labs.lumenloop.com: a constellation view of the entire ecosystem — every piece of content and how it relates to everything else. We've never been able to see that before, and it's just one source behind Raven.

+

Stellar Light started as a discoverability problem and grew once agents entered the picture. Boxy's current frontier is repo indexing: ingesting thousands of repositories from Electric Capital and other sources and actually trying to understand the code depth inside each one, so questions get answered from real code rather than vibes. It's hard, and token-hungry — Boxy has been hitting model limits doing it.

+

The shared hope: less time on the boring things. SCF reviews, hackathon judging, hunting for the right link — all of that is exactly the shape of work Raven quickens.

+

Truth Is a Garden​

+

The part I found most interesting is how Raven improves itself, because the core issue with LLMs is that they don't know when they're wrong. Give an agent disparate sources and superseded information and it will grab something, hold it confidently, and careen off a cliff in a burning cloud of tokens. MCPs don't fix that. Skills don't fix that. Continuous re-research of truth fixes that — Tyler's metaphor: truth is a garden, not granite. Things go live, die, migrate; somebody has to keep re-indexing and re-scoring. Concretely:

+
    +
  • Golden QA. The team mined Stack Exchange, Discord, and old Stella logs for almost 500 common Stellar questions, then ran long, expensive research against each — Lumen Loop, Stellar Light, the docs, the site, web research — to produce golden answers.
  • +
  • Evals. Ask Raven the same questions, have a model grade Raven's answer against the golden one, and — the fun part — assign blame. Is a miss a Lumen Loop problem? A Stellar Light problem? Are the docs missing something, or contradicted by a repo?
  • +
  • The loop. Misses land in an improvements directory and become issues on the right repository, where Ralph's and Boxy's agents pick them up. Telemetry (the whole thing runs on Cloudflare) captures what tools got called and what came back, so agent flows can compare what Raven found against what it should have. Bri pointed out this already works in the other direction too: several issues open on the docs repo right now exist because Raven couldn't answer something correctly from the docs — Raven is making the docs better, not just consuming them.
  • +
+

Two real examples of misses: asked about asset issuers in Latin America, Raven almost never surfaced Etherfuse — apparently they don't describe themselves as an asset issuer anywhere, even though everyone expects to find them under that word. And "where can I swap assets on Stellar" almost never returned Sushi, new on Stellar and competing with a crowd of existing swap services. Both became golden questions; both improved. When you hit something like this, open an issue on the Stellar Raven repo — that's the mechanism.

+

Tyler's longer-term vision is forward-deployed agents: Raven plus opt-in memory and profiles, so an agent embedded with a partner learns you're always asking about, say, Argentine anchors, and gets more specific over time. You could stand up an agent today, hand it the Raven MCP and your Sentry logs, put it on a loop, and have it PR fee optimizations against your own repo. The pieces exist; they just need packaging.

+

Q&A: Live Data, Cheap Models, and Where to Run It​

+

A viewer asked how much you can learn about real-life anchor operations — which turned into the best design discussion of the call: should Raven serve live data? Tyler's answer is no, mostly. Raven is a model context protocol, not a data API. It shouldn't call the RPC for you; it should tell your agent where the RPC docs are, who provides endpoints, and let your model write the code. Same for the recent explosion of data sources: Mercury (just came back, and very cool), stellarindexer.com, Alchemy's new Stellar API, Dune, the data-lake tooling like Galexie. Your agent doesn't know what it doesn't know — but once Raven points it at the right sources, your agent is the best tool for the job. Tyler's analogy, which I intend to steal: "I'm going to borrow your body to use my brain." We're giving the agent the tools, not building it the house.

+

The same logic answers the hosted demo question. There's a playground on the Raven site, and you should treat it as exactly that: heavily rate-limited, a really cheap reasoning model, capped search/execute turns — Tyler is understandably not exposing hundreds of dollars of frontier-model compute to the open internet. Use it to see which tools get called and get a feel for the answers (we asked it "who is Justin Rice" live, and for a throttled setup it did honestly fine), but the real product is Raven installed in your own IDE or agent, where a frontier model gets far more out of the same context. That's also why there's a sign-in: a standard OAuth MCP login, needed for rate limiting today and the opt-in memory features later.

+

Other questions from chat, rapid-fire:

+
    +
  • Test suites and security? Raven would be phenomenal at it as the repo indexing matures — find repos that already cover fuzz testing and common error patterns, then plug that into whatever monitors your backend. The follow-on idea everyone liked: index audit reports. Lumen Loop surfaces audits but only as links; the trick is accurate summaries so Raven knows when an audit is relevant, then hands your agent the full source. Same pattern as Raven's planned ephemeral artifacts for oversized responses — just the right context at just the right time.
  • +
  • Does Raven speak Spanish? Whatever your terminal speaks. The proxied APIs are mostly English semantic search, but your agent translates on both ends.
  • +
  • Can we make a sassy Raven? Wrap it in your own agent and give it whatever personality you want — one of the crew confessed theirs answers as Princess Donut from Dungeon Crawler Carl. Mine calls me Mr. Kaan. I want professional distance from my agent.
  • +
  • Is this a Stella replacement? Different animal. Tyler was blunt: Stella was a great experiment and he's glad it died — it made Discord unsearchable, a huge share of prompts were vandalism attempts or non-Stellar questions, and an agent-as-a-service collects PII you then have to worry about. Raven inverts the model: a service that your agent calls, with tool-use-shaped telemetry instead of raw prompts. My addition: Stella existed because models couldn't read our docs properly back then. Frontier models read docs fine now — the scarce thing is dynamic, current ecosystem context, and that's precisely what Raven addresses.
  • +
+

Tangents Worth Keeping​

+

Building this stuff is not cheap: Tyler estimated around 20 billion tokens in the last couple of weeks alone. That led into a review of token-saving tools — headroom (compresses JSON and log output), caveman (make prose short, why speak much when few word do trick), and ponytail (don't over-engineer; less code when little code does the trick). Verdict: modern models are too smart to be talked to stupidly. Headroom-style compression made them suspicious they were missing something, so they looped and burned more tokens; caveman's brevity triggered extra reasoning to reconstruct the stripped context. Only ponytail earned its keep, and less for token savings than for code quality. If you're going to install one, install that one.

+

Best mini case study of the call came from Bri, who is building an application with confidential token transfers and used Raven as a research tool: "Alice owns 1,000 USDC, Bob owns 300; Alice deposits 500 into the confidential token wrapper and privately transfers 200 to Bob — walk me through step by step what happens." Raven's answer taught Bri more about confidential transfers than a week of reading. Researching with Raven is as legitimate a use case as building with it — and it's not a one-and-done oracle. Ask, learn a little, redirect, pair it with your other tools.

+

Closing​

+

We peaked around 380 live viewers, blew past the hour as usual, and rolled into the protocol discussion half an hour later. Brazilian builders: we'll be at the Stellar Builder Summit in São Paulo — find me there and ask me about Raven. Otherwise, ask on the Discord or tag Tyler (@kalepail), Lumen Loop, Boxy, or Bri on X. Every question makes Raven better.

+

Also, I publicly demanded Raven swag. A bandana would be sick. Slogan's already written: just ask the Raven. See you next week.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-07-02]]> + https://developers.stellar.org/meetings/2026/07/02 + + 2026-07-02T00:00:00.000Z + + +

A Week About Privacy​

+

This week wasn't about AI — it was about your second-favorite subject: privacy. Per the Electric Capital developer report there are now more than 2,000 developers building on Stellar in a given week, and hopefully you're one of them.

+

Two reasons privacy was the theme. First, there was exactly one day left to submit to the Real World ZK hackathon on DoraHacks — the best possible time to be building with zero knowledge. Second, an hour before the call we published the developer preview of confidential tokens on Stellar, which pairs naturally with this week's guest. So the plan was: guest first, then a plain-English tour of confidential tokens.

+

Guest: Zarf — Private Token Distribution by Email​

+

Our guest was Zarf (zarf.to), a Turkish project that lets you distribute tokens to an email address rather than a wallet address. Recipients claim with a familiar "sign in with Google" button, and their browser quietly proves they own that email using a zero-knowledge proof — so the recipient's wallet is never linked to a person, and nothing on-chain says who received what. This was a special one for me personally: Yaman, one of the founders, is the first person I ever met in web3, at my first hackathon a bit over four years ago.

+

Yaman introduced Zarf alongside Dennis, who has spent three to four years in the ZK space (previously an exploration engineer at O1 Labs on the Mina protocol, and before that in web2 cyber security). The team builds things that are only possible with zero-knowledge proofs, and got excited about Stellar once the protocol gained native, cheap ZK-proof verification — with the heavy elliptic-curve math implemented as protocol-level precompiles, verifying a proof on Stellar became genuinely inexpensive.

+

The Problem​

+

When you send tokens on a blockchain, the recipient's wallet is always exposed. In token distributions and private sales, anyone can watch who claimed what — a strong signal for whales-watching and an easy way to get doxxed. Zarf's origin was a hackathon project at Devconnect in Buenos Aires: a proof-of-attendance tool that let you prove you'd attended an event via an email you received, then mint it as a POAP-style NFT. That grew into the more general idea of using an identity you already have — a Google account — for private, programmable token distributions.

+

How It Works​

+

The primitive underneath Zarf is ZK JWT — zero-knowledge proofs over the JSON Web Token that Google signs when you log in. When you sign in with Google, Google digitally signs your JWT; inside the circuit, Zarf verifies that signature against Google's published public keys, confirms the key really belongs to Google, and parses your email — all in zero knowledge. That proof then lets you claim from any wallet you like, and different claims can come from totally unlinked wallets (wallet A for one batch, wallet B for the next), even a single-use stealth address.

+

Dennis was careful to distinguish ZK JWT from ZK email: ZK email proves the signature of an email's sender, while ZK JWT is specifically for authentication and identity. They prefer ZK JWT because the UX is far better — no forwarding emails or uploading .eml files; you just open the page and log in with Google, and the proof is generated behind the scenes.

+

The best framing we landed on: Zarf is a privacy-focused version of the Stellar disbursement platform — instead of handing over a CSV of wallet addresses, you hand over emails, and people claim from whatever wallet they want, so nobody can track balances or link an identity to a wallet.

+

The Architecture​

+

A few implementation details worth capturing:

+
    +
  • Proof system. Zarf uses Noir rather than Circom. Noir brings faster proof generation and, importantly, no per-circuit trusted setup ceremony (it relies on a universal setup instead).
  • +
  • Four contracts. A factory, a vesting contract, a verifier contract (invoked on every claim to check the proof), and a JWK registry that holds Google's public keys.
  • +
  • The Google key-rotation challenge. Google rotates the public keys that sign JWTs roughly every two weeks (not exactly, and not all at once). Zarf runs a Cloudflare worker that fetches the current keys and writes them on-chain so verification stays valid. This is the biggest open problem; the team is exploring more trustless approaches (e.g. zkTLS to prove the certificate URL directly) and even offering a shared Google-certificate registry as a public good for the whole ecosystem.
  • +
  • The privacy model. To break the email↔wallet link, Zarf parses your email from the JWT, generates a secret pin code, hashes the pin, hashes your email, and places the hashed identity in a Merkle tree. At claim time the circuit verifies the Google-signed JWT, derives your unique identifier, walks the Merkle proof to the root, and compares that root against the distributor's on-chain vesting contract. The pin prevents anyone who merely knows your email from brute-forcing to find you in the tree.
  • +
+

The Demo​

+

Yaman created a live token distribution on testnet — upload an email list, auto-build the Merkle tree, set a vesting schedule, deploy — then tried to claim. Proof generation and some caching got in the way and the claim didn't land cleanly on the call (it had worked in rehearsal). As I like to say: you're not really a builder if your demo works every time. It's a fine reminder of exactly why beta testers matter — better to get roasted in private than in front of 250 live viewers. Zarf is SCF cohort 42, heading to mainnet after its audit (likely within the week), and looking for beta testers via zarf.to and X (@zarf).

+

Confidential Tokens: The Other Half of Privacy​

+

After the guests left, I did a "so what?" walkthrough of the confidential token rails we previewed that day, built by OpenZeppelin — because Zarf and confidential tokens solve two different privacy problems and it's worth seeing the contrast:

+
    +
  • Zarf hides identity. The email↔wallet link is never revealed. But once a claim lands, the recipient's wallet, the amount, and the claim event are all still public on-chain — fine in many cases, problematic in others.
  • +
  • Confidential tokens hide amounts. Instead of storing a plaintext balance, the token stores each balance as an encrypted commitment. Transfers move encrypted amounts and carry a zero-knowledge proof that the transfer is valid (the sender had enough, the amount is a positive integer, inputs equal outputs) without revealing any of the amounts. Only the holder — and optionally an auditor who holds a decryption key — can read the balance, which is how you'd add a compliance layer.
  • +
+

The mental model is a handful of methods: register, deposit, merge, transfer, withdraw. To participate at all you first register (a one-time zero-knowledge proof generated locally in the browser). You then deposit public tokens into your encrypted balance, merge received amounts so they become spendable, and transfer confidentially. Confidential tokens behave like SEP-41 tokens, so in theory they compose — but they're best at additive accounting (adding and subtracting amounts), and not the right tool for multiplication, price discovery, or deep public composability, where time-sensitive proof generation gets in the way. This is a confidential token, not a dark pool that hides the operation itself.

+

To make it concrete I vibe-coded a tiny confidential wallet for the meeting — two accounts, Alice and Bob — that walks through registering, depositing public XLM into an encrypted balance, merging, and then transferring confidentially so nobody can see how much moved. It reuses OpenZeppelin's confidential-token contract from the developer preview, so I was cutting corners, but it makes the flow tangible. The GitHub link is in the stream, and the real source of truth is the developer preview itself.

+

Closing​

+

With ~20 hours left on the Real World ZK hackathon deadline and a strong turnout of hackers, there was still time to ship something small and submit. Next week's guest is Hyperron. Thanks for watching — see you then.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-06-25]]> + https://developers.stellar.org/meetings/2026/06/25 + + 2026-06-25T00:00:00.000Z + + +

Another Doozy of a Week​

+

Before the guests, a quick bit of ecosystem context for why this week felt busy. Per the on-chain data, Stellar's RWA market cap just crossed $3 billion — you can see it for yourself on the Dune dashboards. And the ideal Stellar developer meeting, in my book, is one with as many guests as possible, because the conversation I keep having with projects is that they want a real way into the ecosystem. Contributing is one way; introducing yourself on this call is another. This week we had two guests and, with a bit of luck, a new viewer record.

+

We also had four days left to submit to the Real World ZK hackathon on DoraHacks — more on that from our second guest below.

+

Guest: Gaian — Stablecoin Rails for Southeast Asia​

+

Our first guest was Gaian (gaian.network), a stablecoin payment infrastructure for the APAC region. In one sentence: it's an API that connects crypto wallets to local banking rails using USDC on Stellar, moving value between stablecoins and local currencies like the Vietnamese dong to power merchant payments, on/off ramps, and cross-border transfers that settle straight into real bank accounts. Imagine paying for a coffee in Hanoi straight from your Freighter, Albedo, or Beans wallet — that's the promise. Kelvin walked us through it live from Vietnam (at 1 a.m. his time).

+

Gaian isn't new — the team has been at it for over a year and pivoted twice; what they demoed is the v2 of the API. They're live across APAC (Vietnam, the Philippines, part of Thailand) plus Brazil and Peru, and in Vietnam and the Philippines they operate as the anchor themselves, working directly with the top banks.

+

How the Flow Works​

+

There are several actors but only one payment. A consumer holding USDC talks to a wallet; the wallet talks to the Gaian API; Gaian uses the blockchain as the settlement layer and a partner PSP in the destination country to land fiat in the merchant's bank account. Crucially, the merchant sees no blockchain at all — they just receive fiat.

+

Authentication​

+

The v2 API authenticates every request with an HMAC signature. You get an API key and secret from the self-service dashboard, build a canonical message out of the timestamp, method, path, query, and body, HMAC it with your secret, and base64-encode the result. Every request must carry that signature and timestamp.

+

The Order Lifecycle​

+

There are two halves — onboarding a user, then placing an order:

+
    +
  1. Onboarding. Create a user (POST /v2/users), associate a wallet address to that user (the address is just a string — the wallet provider controls it), then generate a KYC URL for the user (providers vary by country) and poll their status by ID or wallet address until it's approved.
  2. +
  3. Payment. Ask Gaian for a code by passing the scanned QR string, the fiat amount, and the user's wallet address. Gaian returns a code ID, the fiat amount, the total (including the bank's processing fee), the exchange rate, and the decoded bank details. Then place the order with that code ID — Gaian returns an order ID, a status label, the settlement wallet address, and the token address (USDC today). The wallet signs and broadcasts the USDC transfer to the settlement wallet (not an API call), and finally notifies Gaian with the transaction hash so Gaian can verify it on-chain and mark the order settled (there's no automatic chain listener yet). There's also a prefund flow where a wallet pre-funds stablecoin with Gaian.
  4. +
+

The Demo​

+

Kelvin ran the whole thing live from a Bruno collection and a demo wallet, paying ~21,000 VND (under a dollar, with a small minimum bank fee) to a real Vietnamese bank account. The first code expired mid-explanation — a hazard of a good demo — and re-verifying settled it. The real headline: the self-service dashboard means any viewer can sign up, grab API keys, and integrate Gaian's payment capability into their own wallet without ever talking to sales, up to a ~$4,000 cap before KYB is required.

+

Gaian went live on Stellar the previous Friday, and for now it's mainnet-only — going fast to production rather than testnet-first. The one thing I asked for repeatedly (and will keep pestering them about) is a self-service sandbox on testnet, so we can amplify Gaian as an anchor to builders across the Philippines and Vietnam.

+

The Real World ZK Hackathon​

+

Our second guest was Jeremy (also known as J Romero), the ecosystem partner running the Real World ZK hackathon on DoraHacks. The scope is deliberately wide open: anything that touches zero knowledge on Stellar qualifies — privacy pools, private payments, confidential tokens, verifiable computation, even ZK games.

+

The news he dropped live: for the first time ever, they extended the deadline by about a week, so it lands just before the US holiday (giving builders more time and keeping judging off the judges' holiday plates). The prize pool is $10,000 in XLM across five places ($5,000 for first down to $750 for fifth), plus a random $100 in XLM for someone who fills out the feedback survey. Requirements are light — an open-source repo and a short demo video.

+

Everything runs on DoraHacks (search "Stellar"), but the real hub is the dedicated Telegram group (1,000+ people), where ecosystem ZK teams — Nethermind, Boundless, OpenZeppelin, Aztec — hang out to help. A prolific builder who's won three prior Stellar hackathons (including the ZK Gaming one) is helping as a mentor this round. There's also a resources tab on the hackathon page you can point your AI at, and office hours were being scheduled. Jeremy's parting advice: don't let AI name your project (three teams showed up with identical AI-generated names), and build the thing you're passionate about — Stellar has always been about local builders shipping local solutions.

+

Closing​

+

I also gave a shout to the Pulso hackathon in São Paulo (on DoraHacks), whose prize includes a fully sponsored trip to the Stellar Summit, with live pitches across Argentina, Brazil, and Colombia. I'd planned to close with a live stellar-build session — using the Justin and Nicole personas to show off the new self-running loop and spin up a ZK project idea — but at 75 minutes and seven cups of coffee deep, I saved it for next week. Next week we also have another guest, so please be there.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-06-18]]> + https://developers.stellar.org/meetings/2026/06/18 + + 2026-06-18T00:00:00.000Z + + +

A Doozy of a Week​

+

This week was a doozy — not just one exciting guest, but a pile of news and a stack of tools to use and maybe break. Before the guest, a quick ecosystem roundup. The big one: v16 of the JavaScript SDK is live. If you're building on the JS SDK, upgrade your codebase and read the release notes to see what changed. Ask in the Stellar Developers Discord if anything trips you up.

+

Two more things worth your time. Our Real World ZK hackathon with onlyhacks is still running — 11 days left to submit, $10,000 in prizes. The brief is simple: build anything that uses zero knowledge and runs on Stellar — privacy pools, private payments, confidential tokens, identity and compliance proofs, provable computation, verifiable data. If it's ZK and it's on Stellar, it counts.

+

And if your team is closer to launch, SDF and CV Labs have opened the Stellar CV Labs Accelerator — SDF's first EMEA-focused program. It's a 12-week remote-first accelerator with a two-week in-person boot camp in Cape Town, supporting 10 early-stage startups across DeFi, payments, and RWA in the ME region. Selected teams get technical support, tokenomics advisory, go-to-market guidance, mentor 1:1s, ecosystem perks, and up to $150,000 in XLM in initial development funding from SDF. Post-program, top teams are eligible for additional SDF grants and a joint IC review with CVVC's fund — up to another $150k per team for the top two. Applications are open until July 3rd.

+

For context on why any of this matters: per the Electric Capital developer report, close to 1,800 builders shipped on Stellar this week, and we had nearly 150 builders live on the call when we started (peaking past 470 by the end). There's a synergy here, and I hope you can feel it too.

+

Guest: XCCY — A Fixed-Rate Engine for DeFi​

+

This week's guest was XCCY (short for cross-currency swaps) — an on-chain interest rate engine that's integrating to Stellar. The pitch: lock in a fixed yield on stablecoins, borrow at a fixed rate for a known period, and hedge variable interest rates instead of guessing where yields will go. Their current platform already shows around $1M in liquidity and roughly $2M in 24-hour volume.

+

Dennis (co-founder and CEO; background in math/CS, several DeFi protocols, and HFT trading) and Dmitri (CPO; a TradFi derivatives background) walked us through it. XCCY was accepted into SCF's 41st cohort, is deployed on EVM mainnets today, and started building on Stellar two weeks ago.

+

The Problem​

+

There's a huge amount of unhedged floating-rate exposure across DeFi. In TradFi this is solved with an interest rate swap — a derivative that lets you exchange a fixed, predefined rate for a floating rate tied to some source (Fed funds rate, or in DeFi a lending market's borrow/lend rate). XCCY brings that primitive on-chain, leaning into an RWA-looping narrative and fixed rates on Stellar — natural given the depth of RWAs and lending markets like Blend and YieldBlox on the network.

+

Three Primitives​

+

Dennis demoed the platform (live, on Stellar testnet, network errors and all) and the math behind it:

+
    +
  1. Oracle Hub — XCCY uses two oracle types. Reflector (5-minute candles) for collateral pricing, and RedStone for some assets like RWAs. For rates they derive APR oracles by applying exponentially weighted moving average smoothing — because lending-market rates only update on trades, so without smoothing the rate can sit unchanged for long stretches.
  2. +
  3. vIMM (virtual IMM) — an AMM-style engine, close to Uniswap v3 with liquidity ticks, but instead of trading token-vs-token it trades a fixed rate against a variable rate tied to an underlying (e.g. a Blend rate). Pools issue fixed tokens (representing a fixed ~1% APR factor) and variable tokens (whose growth tracks the underlying). It's a zero-sum game — the sum of LP and taker tokens is always zero, so when one side loses on a rate change, the counterparty earns it.
  4. +
  5. Collateral Engine — handles LTVs, liquidation bands, and stages. Stable-vs-stable isolated pools can run very high LTV (~99%); portfolio exposure with volatile collateral needs more buffer. Crucially, because an interest rate swap's P&L is driven by accrued value over time rather than instantaneous price spikes, the engine can support high leverage for shorter tenors using dynamic upper/lower "worst-case" bounds — more collateral for longer maturities, less for closer ones. Settlement happens automatically at maturity, much like options.
  6. +
+

What's Next for XCCY​

+

Mainnet is several months out, gated mostly on audits given the complexity, with the Stellar testnet and SDK landing in a few weeks. The API already exists and is being ported to Stellar this month — and they explicitly want to adapt it for AI agents, so a strategy can be wired up with "one prompt or one skill." Cross-chain arbitrage across their existing EVM pools is on the roadmap too. Reach them on the Stellar Discord, Telegram, or X.

+

It's a fitting guest for where Stellar is: nearly $3 billion in RWAs on the network today, and teams like XCCY are coming precisely because of the institutional and real-world-asset depth.

+

stellar-build: Your Whole Dev Journey in One Command​

+

The AI half of the meeting was a walkthrough of stellar-build (stellar.new) — the tool the DevRel team shipped last Friday and used at the Istanbul hackathon. It's a one-command installer that drops 42 skills plus curated data on 700+ projects built on Stellar and 9,000 projects from Electric Capital's developer reports into your setup. Since Friday it's been installed about 101 times.

+

The idea: answer almost every question a builder would otherwise ask a mentor during a hackathon — is this a good idea, has it been done on Stellar, can it be done on Stellar, who are my competitors — not just "how do I implement X." It's built on the BMAD method, so it's a hands-on, orchestrated journey rather than a one-shot app generator. You're the orchestrator; the AI personas and their data do the legwork while you say yes, no, or maybe.

+

Those personas are the DevRel team rendered as agents: Justin (analyst), Bri (tech writer), Nicole (PM), Kaan (UX), Tyler (architect), and Elliot (senior dev) — spanning the idea, planning, solutioning, implementation, and launch phases. There's a party mode that brings everyone into the room at once, and a stellar-help router that re-orients you whenever you forget where you are.

+

Live Demo​

+

I drove it live for the ZK hackathon. Asked Justin what to build; he pulled my prior context (via the mnemon memory plugin), then loaded the competitive-landscape skill and went treasure hunting through both the curated catalog and the Electric Capital dump. He surfaced real neighbors — Zarf Protocol (an SCF 42 privacy-preserving token distribution with ZK private claims), Sora Drop (an open-source but non-private airdrop tool, ~$48k from SCF 28), and a stealth team porting the same primitive — making the point that the Merkle-claim mechanic is already being commoditized, so the opening is a sharp, specific application rather than yet another ZK toolkit.

+

From there we routed into a PR FAQ validation (working-backwards stress test) with Justin, then pulled in Tyler to sketch the architecture with full context handed off cleanly — issuer contract, circuit spec, storage layout, interface signatures. Every persona ends its turn with concrete next steps, which matters: even the human versions of these people aren't always in the room.

+

That's stellar-build — the entire DevRel team as agents on your screen. Grab it for this week's Real World ZK hackathon on DoraHacks, and I'll see you next week.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-06-11]]> + https://developers.stellar.org/meetings/2026/06/11 + + 2026-06-11T00:00:00.000Z + + +

Back After a Week​

+

We skipped a week — the DevRel team was in Istanbul for the hackathon we threw during Istanbul Blockchain Week, and the side event at the end gathered more than 400 people. This week we're back, and the guests are Paul and David from Sodax. You may know them from Balanced or Hana Wallet; they're some of the OGs, and they walked us through what Sodax is and why a Stellar builder should care. The plan was to close with a new AI package from our side, but the Sodax half earned its time, so that one slid to next week.

+

Sodax: Cross-Network Liquidity as Developer Tooling​

+

Sodax is a cross-network execution and liquidity system — an intent-based one — and the framing David led with is that it's essential developer tooling, not a destination app. If you're building on Stellar and you want to open your front door to users who hold assets on other networks, you normally have to build bridges, source liquidity, and maintain infrastructure. Sodax does that part so you don't: you stay on Stellar, build the way you want, and reach users elsewhere through a single developer SDK.

+

The liquidity piece is the part that's easy to underrate. It isn't only cross-network connectivity — Sodax has already sourced the liquidity, so the cross-network swaps and DeFi actions actually settle. As a developer you stop worrying about where the depth comes from.

+

From ICON to Sodax​

+

Paul gave the origin story, and it's a good one. The Sodax brand is new — early 2025 — but the team isn't. Before Sodax they were ICON (the ICX token), a layer-1 from the ICO era with an interoperability vision that was years ahead of its time. Over time the lesson landed: to do intent-based, liquidity-powered interoperability you don't actually need to run your own blockchain. So they spun the L1 down, put their logic hub on Sonic (a fast, sub-second-finality EVM chain), and built the smart contracts out across Stellar, Solana, Sui, and more — deliberately spanning EVM and non-EVM networks to open routes other systems treat as impossible.

+

Balanced (once the number-one DEX on ICON) and Hana Wallet (formerly the ICON wallet, now a self-custodial multi-network wallet on mobile and desktop) both come from those same ICON roots and are now powered by Sodax under the hood. Both went through Stellar's SCF program — they pitched at Meridian in London two years ago and Hana again at Meridian Brazil last year.

+

The Spoke-Chain Model​

+

In the Sodax model, Stellar is a spoke chain — which means everything in the Sodax docs applies to and for Stellar builders. The count keeps climbing, but they're on roughly 20 networks now, and they recently plugged in native Bitcoin, which they're rightly proud of. Some of the more exotic spokes are Near, Stacks (a Bitcoin L2), and Injective (Cosmos).

+

The asset model is worth understanding. When you swap into "BTC" on Stellar through Sodax, you get a soda variant — a trading- and liquidity-backed Sodax representation of Bitcoin that lives on Stellar but is plugged into real Bitcoin liquidity on the Bitcoin network. The solver sees native-asset liquidity across all 20 networks at once and reasons across all of it when a trade fires, so there's depth without anyone provisioning pools — and you can withdraw straight back out to a native Bitcoin wallet. If you've used something like Near Intents, the UX will feel familiar.

+

Three Lines to a Cross-Network Swap​

+

Paul's honest line was that the demo is hard to make sound impressive because the SDK abstracts so much away. Integration is three steps:

+
    +
  1. Quote — ask for the price of the swap you want.
  2. +
  3. Swap — do it. One line.
  4. +
  5. Status — poll for not started, solved, or failed.
  6. +
+

If a swap fails, the recovery system automatically returns funds — even if they'd already left the wallet. There's also a built-in wallet-connection component (wrap it around your frontend, stack the providers, done), which matters when you're juggling 20 networks, and Stellar trustlines are handled inside the SDK. npm install the SDK (or pnpm add it) and that's most of what you need to ship a real cross-network app.

+

Earn, and a Bit of Alpha​

+

Beyond swaps, the SDK exposes a cross-network money market — your end users can deposit, borrow, and earn supply interest. David dropped a bit of alpha too: leveraged staking yield is coming, so things like native ETH or native Solana staking would become accessible to your users even if your app lives entirely on Stellar or some other unrelated network.

+

Built for Agents​

+

This is the part that fit the room. Sodax shipped a best-in-class builder MCP server (builders.sodax.com) — plug it into Claude or your cursor agent and it levels your agent up into a "prime Sodax developer." You don't need a docs-indexer like Context7; the MCP is the docs. Even before you commit to building with Sodax, you can point the builder MCP at your existing Stellar repo and have it assess, in about ten minutes, where Sodax could open up cross-network opportunity for you. On top of that, they've embedded agent skills directly inside the SDK, so even if you never wire up the MCP, an agent crawling the package runs into the skills and uses the swap/lend/borrow modules correctly — in their words, "so that even Sonnet 4.6 doesn't make mistakes."

+

I can vouch for that last claim. The morning of the meeting I didn't even use the MCP — I pointed Sonnet 4.6 (not the strongest model) at docs.sodax.com with roughly "surprise me," and about thirty minutes and 20% of a Pro plan later I had a one-shot mainnet demo: assets, addresses, cross-chain swaps, bridge limits, every supported chain. The question stopped being can you vibe-code something on Sodax and became why not.

+

The Fee Model​

+

Sodax takes a flat 0.1% on swaps — the same shape as a Uniswap-style backend fee. The interesting part for builders: any partner integrating the SDK can set their own partner fee on top. A wallet like Hana, or your own app, can add (say) 0.5% and keep it. You have full control over what you charge your users, which means an integrator can end up earning more per swap than Sodax itself.

+

Why Mainnet Only​

+

A recurring audience question: does it support testnet? Short answer, no — and the reason is structural. The solver sources real liquidity from real markets, and there's no monetary value backing assets on testnet, so the solver simply has nothing to solve. Replicating it would mean standing up and maintaining dozens of testnet liquidity pools, bridges, and staking platforms in parallel. They're open to bringing parts of the stack to testnet and want to hear from developers about which parts would actually help — but for now Sodax is a mainnet product, which is also fine, because you're not deploying your own contracts. It's a plug you put into your app and it works.

+

Where to go next: docs.sodax.com for the SDK, builders.sodax.com for the MCP, and sodax.com/partners to see how the integration and fee split work. Their whole team hangs out in Discord and answers builder questions directly.

+

Next Week​

+

I ran out of time to show the AI package we built, so set a reminder. Next week's is the one I've been most excited about: the tool the SDF DevRel team shipped that drops 42 skills and hooks into your setup, packs in information about every project ever built on Stellar for market research, and wraps the whole thing in an Agile workflow. It needs a full half-hour to do it justice. See you then.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-05-21]]> + https://developers.stellar.org/meetings/2026/05/21 + + 2026-05-21T00:00:00.000Z + + +

Another Two-Part Meeting​

+

This week splits in half again. The first half belongs to our guest — a builder out of Kolkata who joined the community last October and started shipping ZK tooling almost immediately. He's here to present Root14 — a privacy toolkit for Stellar built on the zero-knowledge primitives that landed in recent protocol upgrades. The second half is mine: a fast tour through roughly ten open-source, mostly-free AI tools, continuing the orchestrator theme from last week. If cryptography isn't your thing, skip to the tools. If you've had enough of me talking about agents, the first half is the one for you.

+

A quick reframing before he starts, because it's load-bearing for everything he says: Root14 is not a private payments app. It's not a mixer and it's not a shielded pool. It's the cryptographic infrastructure that sits underneath all of those things. The analogy he uses is OpenSSL versus a single HTTPS website — Root14 isn't the website, it's the part every website ends up importing.

+

The Substrate: Why the Economics Only Work on Stellar​

+

He grounds the whole talk in CAP-59, which shipped the native BLS12-381 host functions to Soroban: G1/G2 addition, scalar multiplication, multi-scalar multiplication, pairing checks, and full scalar-field arithmetic. That's the complete substrate you need to do production-grade Groth16 verification natively, available to any contract.

+

His pitch for why Stellar comes down to cost. A pairing check that would take tens of millions of Wasm instructions on another chain runs as a single host call here. No other smart-contract chain has this combination at this cost point today — which is exactly what pulled him to the network and got him researching ZK on it in the first place.

+

What's in the Toolkit​

+

Root14 is a layered toolkit, and he walked through it piece by piece:

+
    +
  • Root14 Core — a single contract that does two things. You call register and get back a content-addressed circuit identifier (the SHA-256 of the verification key, so the binding is unforgeable). After that, any contract on the network calls verify with a circuit ID, a proof, and the public inputs, and gets back a boolean. That's the entire interface. The contract holds no business logic, no value, no decisions — just registered verification keys and pairing checks. It's live on testnet today. The load-bearing insight: every existing privacy project on Stellar embeds its own verifier inside its own contract and pays for its own audit on essentially the same pairing code. A shared registry makes that duplication disappear.
  • +
  • Circuit Library — a set of vetted primitive circuits with published constraint counts and content-addressed identifiers: range proofs (credit thresholds, age bounds), set membership (KYC allow-lists), set non-membership (sanctions screening), and knowledge-of-preimage (ownership groups). Register a primitive once and every dapp on the network can use it.
  • +
  • SDK and CLI — a single cargo add gets you proof generation and serialization in Rust; the CLI is a human-friendly shell over the same SDK, with templates for generating contracts.
  • +
  • MCP server — the part he's most excited about. It lets Claude or any MCP-compatible model register a circuit, generate a proof, and trigger a verify call through natural language. As far as he can tell, it's the first ZK-on-Stellar MCP integration anywhere. A registry indexer streams on-chain events so developers can discover which circuits exist and how to compose them.
  • +
+

The zkTLS Bridge​

+

The piece closest to his heart is Root14's zkTLS. It bridges web2 and web3 trust: a user generates a zero-knowledge proof that they received a specific response from a specific web2 server without revealing the rest of the session. Prove you have over $1,000 in a bank account without showing the statement. Prove a KYC status with a particular issuer without exposing the underlying credential. Prove a tweet exists at a URL without leaking the OAuth token. There's a prototype today and production integration is on the roadmap; combined with the verifier registry, it's a clean way to pull real-world data into Soroban contracts without trusting a centralized oracle.

+

Private Payments, Honestly​

+

He was candid about the one piece that isn't usable right now. His original SCF submission leaned on private payments, and the mainnet privacy-pool deployments lagged on the AML/KYT-sensitive side — building privacy-preserving payments without thinking hard about compliance is how you get into legal trouble. So that part is currently down while he reworks it to be KYC/AML-aware. The developer-facing shape is still the goal, though: you don't write pairing code, you don't run a trusted-setup ceremony, you don't touch arkworks — you write your application contract, bind it to the relevant circuit identifiers in the registry, and call verify when you need a proof checked.

+

Production Readiness​

+

This isn't framed as a research prototype. Verification keys registered on mainnet will be immutable and content-addressed — no upgrade method, no admin power to silently re-point an identifier. Canonical registration transactions go through an SDF-approved multisig. The phase-2 trusted-setup ceremony will be multi-party with public transcripts and end-to-end-verified attestations from every contributor, and everything is open source under the Root14 name.

+

The Q&A: AI, Groth16 vs. PLONK, and the Business Question​

+

We tend to roast our guests with hard questions so they've already sweated out the answers before they reach an SCF panel, and the audience delivered:

+
    +
  • How much AI, and what's the setup? He works ZK problems out with pen and paper first, then drives Claude Code layer by layer — architecture, then circuits, then verifier — prototyping, testing, and bouncing the output off other agents before moving on. He also leaned on the llms.txt file from the docs to make the model Stellar-aware out of the gate. His honest caveat matches mine: AI tends to cut corners on ZK, so it's an accelerant, not an autopilot.
  • +
  • Long-term sustainability? A shared verifier registry doesn't make much money on its own — maybe a small fee on registrations or calls. The real business is zkTLS as a B2B product: managing ZK infrastructure for Stellar-native teams and selling into developer/user onboarding flows.
  • +
  • Why Groth16 over PLONK, and who runs the ceremony? Groth16 won on cost and proof size for a hackathon timeline; PLONK needs more pairings and polynomial-commitment work, roughly double the budget for the same proof. He reuses an existing phase-1 powers-of-tau output (the Ethereum or Aztec ignition ceremonies, both public and audited with 100+ contributors) and only runs phase 2 per-circuit. Nothing about Root14 is religiously locked to Groth16.
  • +
+

Root14 is in SCF #43 — the docs site is mid-rebuild, so keep an eye out and vote it up when public voting opens.

+

The Orchestrator Theme, Continued​

+

The pivot to the second half: last week I made the case that the job is shifting from facilitator (you write the code, you stay close to the work) to orchestrator (you manage a fleet of agents). This week's theme is narrower and a little more pointed. Stop writing "make no mistakes" to your model. If you can't steer the build, it's usually because you don't understand what's being built — and if you wouldn't be able to build it without AI, that's the most dangerous place to be. The tools below are all attempts to keep you hands-on enough to understand the thing you're shipping.

+

Hands-On Frameworks: BMAD and Superpowers​

+

The BMAD Method is the one I most wanted to show. It installs locally and free with npx bmad-method install — it's just a set of skills, hooks, and workflows, scoped to your project rather than installed globally. The point is spec-driven development with an Agile shape: it slows you down on purpose and walks you through brainstorming, market and domain research, technical research, and then planning out a PRD and stories. Each phase has a named agent — Mary is the business analyst you brainstorm with — and /bmad-help is your "what do I do next" button at any point. I kicked off a "Hey Mary, I want to build something with agentic payments on Stellar but I don't know what" session live to show the brainstorming loop.

+

Superpowers is an alternative skills framework that does more or less the same job minus the explicit Agile emphasis. Try both and keep whichever fits how you think. The shared point of both: a more hands-on approach so you actually understand what's being built.

+

Letting Agents Use a Browser: kernel.sh and browser-use​

+

Claude Code and Codex can fetch a page's data but can't really drive a browser — and they can't touch Chrome extensions, which is painful if you're testing a Stellar wallet extension. kernel.sh fixes that: it spins up cloud browsers and lets your agent build automated workflows (it calls them "apps") through a free MCP server. My demo had Claude Code's kernel MCP walk stellar.expert for mainnet stats, click into the Soroban tab, hop to CoinGecko for the XLM/USD price, and capture it all to JSON. It's open-source infra with a free tier; the paid plan exists, but the free MCP is enough to expand your sense of what's possible.

+

browser-use is the tool your model reaches for first when you ask for browser automation — which is exactly why I show it. First-recommended isn't the same as best. It wants its own API keys (Google's and Anthropic's), and I'd rather point an agent at tools that ride the CLI I'm already paying for. Useful to know it exists, but kernel was the smoother experience for me.

+

Free Compute: freebuff​

+

freebuff is the free tier of CodeBuff — it gives you a few hours a day of DeepSeek V4 Flash for free, with ads. The agent ("Buffy") does the usual implementation, codebase navigation, testing, and multi-agent orchestration (it'll spawn a stack of sub-agents), and it drives a browser using browser-use under the hood, so you get the browser-automation demo and the free-compute demo in one. DeepSeek V4 Flash is light but genuinely good for exploratory work when you don't want to burn frontier-model budget. CodeBuff's paid tier is around $100/month; if you're going to consider that, spend your free hours first.

+

Memory: claude-mem, mnemon, and Raindrop Workshop​

+

The unsolved problem under all of this is memory — how does the agent remember where it left off? Three takes:

+
    +
  • claude-mem is the most widely used, and it's my favorite plug-in for this. It runs locally, works with Claude Code and Codex, and at the end of each session it scans the whole thing — what you discussed, what the agent did, where it went wrong, how it reached its conclusions — and writes session summaries plus, my favorite part, discoveries. Open the folder again and the agent already knows where it left off. No more hand-written handoff markdown. The trade-off is that it stores a lot, including things you didn't need.
  • +
  • mnemon is the same idea but LLM-supervised: it lets your model decide what to remember and when to recall it, which keeps the store much tighter. It's newer and smaller than claude-mem, has an MCP server, and persists across sessions. Import claude-mem's history into mnemon's graph and you can see what the former would look like with structure; run mnemon on its own and you get a clean "mind palace."
  • +
  • Raindrop Workshop is the outsider. It's a local debugger that doesn't store everything and isn't LLM-supervised — it stores workflows, the step-by-step way to do a recurring thing. Ask the agent to do that thing again and it fetches the tree and follows it. It's cost-efficient precisely because it only remembers how, not what.
  • +
+

Where This Is Going​

+

We covered a lot at a shallow depth on purpose. I want your help picking which of these deserves a full, hour-long deep dive in an upcoming session — tell me on Discord. The throughline of the whole second half: software is getting fast and cheap, and cheap software is also dangerous software. A more hands-on approach is the cheapest insurance you can buy. Stop writing "make no mistakes," start writing /bmad-help, and understand the thing you're building.

+

One housekeeping note worth repeating: CCTP is live on Stellar now, so cross-chain interop apps are something you can start building today.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-05-14]]> + https://developers.stellar.org/meetings/2026/05/14 + + 2026-05-14T00:00:00.000Z + + +

A Packed Two-Part Meeting​

+

This week's meeting splits cleanly in half. The first half belongs to Renat — a builder in our community working out of Estonia — presenting a draft SEP for zero-knowledge group membership state on Soroban. The second half is mine: an introduction to open-source, free, locally-runnable orchestration layers for AI-assisted development. If ZK isn't your thing, stick around for the second half. If running fleets of agents isn't your thing, the first half is the better one for you.

+

Renat is upfront about the framing: he's a builder, not a mathematician. The work he's presenting isn't a new cryptographic result — it's the integration story of getting Stellar's ZK primitives (shipped in Protocol 22 and Protocol 25) to compose into something useful, and then sharing what works, what doesn't, and what's still unsolved.

+

The Problem: Group State Without Metadata​

+

The naive way to put a group on-chain is to store a list of addresses. That works, and it's terrible for privacy — anyone who reads the contract storage knows who is in the group, who is an admin, and what the governance rules are.

+

The use cases Renat is targeting all want the opposite shape: a messenger that hides which group a user belongs to, DAO credentials that prove "I'm a member" without revealing who I am, governance contracts that enforce rules without leaking the rule structure (is this a democracy, a tyranny, a one-on-one?). The problem is "prove membership and authority without revealing identity," which is the classic zero-knowledge setting.

+

Three Iterations: Groth16 → PLONK → Post-Quantum​

+

Renat walked through the iteration history:

+

Groth16 was the starting point. It worked, but supporting governance rules over a hidden group required contributing randomness via a trusted-setup ceremony. The standard reassurance — "you only need one honest contributor out of fifty" — is mathematically fine, and the Ethereum KZG ceremony had ~141,000 contributors as proof-by-example, but the operational burden of running a credible ceremony at a small-project scale didn't fit.

+

PLONK was the second iteration, chosen explicitly to dodge the trusted-setup ceremony. This is what's currently live on testnet, and it owes its existence to the Soroban primitives shipped in Protocols 22 and 25. The contract interface is small: update the Merkle tree, verify membership, create group — with the proof transported separately from identity. A postmortem about getting the proof from client to contract is part of the package; that turned out to be the part of the work that bit the hardest.

+

Post-Quantum (no ceremony at all) is the direction Renat wants to take this next. It's currently blocked on memory consumption inside the Soroban environment — not CPU, which was his initial guess, but memory. The Stellar developers helped him diagnose this. Cost is also a factor at the post-quantum end — somewhere north of 16 cents per update versus less than a cent for the PLONK path.

+

Cost, Limits, and the Open Payer Problem​

+

The PLONK version is cheap. State updates cost less than a cent, and the actual messages in the messenger reference implementation are free. That's a usable cost envelope for a real product.

+

The limits worth knowing:

+
    +
  • PLONK is bounded by K max 2 in the current configuration — meaning "democracy" in the governance taxonomy doesn't scale to large groups yet. Two voters max per vote at the current parameters.
  • +
  • TTL and contract capacity need to be designed into any SEP draft. They don't disqualify the approach, but they aren't free parameters either.
  • +
  • The payer/anonymous-user interface is the most interesting open problem: somewhere in the flow, gas needs to come from somewhere, and "the anonymous member pays" leaks information unless handled carefully. This is the surface point of contact between the fee-paying entity and the privacy-preserving member, and there's no good answer in the current draft.
  • +
+

The code is MIT-licensed and reproducible — the runs are public, the reference messenger implementation is published, and Renat is explicit that what's shown is reference-quality, not production-ready.

+

What Renat Is Looking For​

+

This part is the actual call to action: Renat is looking for a SEP champion in the developer community. Someone who can read the draft, push it through the ecosystem-proposal process, and validate that the work is useful beyond his own messenger project.

+

If that sounds like you, his Discord handle is pinned in the meeting comments, and his email and GitHub are reachable from the reference implementation's README. He's open to "this works" feedback, "this doesn't work" feedback, and — the most useful kind — "this works but here's the obstacle you missed." He's planning to attend Meridian 2026 in Lisbon this October, so the champion conversation can also happen in person.

+

The Orchestrator Shift​

+

The pivot of the second half: if you've been building on Stellar for any length of time, you're using AI. Pretending otherwise is silly. The interesting question is what kind of AI use you're doing.

+

There are two roles to recognize. The earlier role — the facilitator — is what most of us got used to between November 2022 and roughly the end of 2024: you write what you think, you write what you want, you guide the model through the build, and you stay close to the work. Cursor Composer, Sonnet 4, GPT-o3 — all of these reward facilitation.

+

The newer role — the orchestrator — is what Opus 4.7, Composer 2, the Claude Agents SDK, and the autonomous-agent stacks (Hermes, Open Claw, custom-built agents) are designed for. You're no longer the one writing prompts to a single model; you're managing a fleet, and your job is to keep that fleet aimed at a useful outcome. That's a different skill, and the tools for that role are still finding their shape.

+

The three tools in the second half of this meeting are all attempts at giving the orchestrator a control plane.

+

Cline Kanban​

+

Cline Kanban — free, open-source, runs locally — is the lightest of the three. It's a Kanban board for agent work, built on top of Cline (the open-source coding agent that ships an SDK, a CLI, and a VS Code extension of its own). You drop into a project directory, run kanban, and a local web UI comes up. The board can attach to any of the major agents — Cline itself, Claude Code, Codex, Factory Droid, Kiro, Hermes — and you use it to define tasks, set dependencies between them, and drag work through To Do → In Progress → Review → Done.

+

The demo: a fresh directory called x402-contest-demo, a one-line ask to "create an exploratory x402 demo on Stellar," and the Kanban agent decomposed it into five linked tasks. From that point on, the orchestrator's job is to review each completed task, decide whether to merge to main, and unblock the next one in the chain. The board offers auto-commit, open-PR, and "leave on branch" flows; while you're getting a feel for an agent's output quality, "ask for approval at each step" is the right default.

+

The shape of this tool: best when the underlying work is coding and you want a lightweight layer on top of one or more agents to keep tasks orderly and dependencies explicit.

+

Paperclip: A Control Plane for AI Labor​

+

Paperclip takes the orchestrator framing one step further. Where Cline Kanban treats your project as a repo, Paperclip treats it as a company. You onboard with npx paperclip-ai onboard --yes, name the company, give it a mission, hire your first agent (the CEO by default), and from there you're the board.

+

The demo company was "Paper Excel" — Dunder Mifflin in spirit — with the goal "to be the best paper company in the world with the best-looking UI." The CEO went to work hiring the first team: CTO, CMO, UX designer, research lead, intern. Each role has its own starter prompt, its own heartbeat interval, and its own assigned skill set. The dashboard tracks issues, an organizational chart, an inbox for the board (i.e., you) to receive agent emails, and routines for recurring work. The agent backends are pluggable: Claude Code, Codex, OpenRouter, Gemini CLI, Hermes Agent, Open Claw.

+

Two practical notes:

+
    +
  • It is not a magic productivity multiplier. It's a coordination layer for running multiple agents — most of the agents in the demo were slacking on their first day, and roughly half the issues failed on first run with API errors. This is alpha-quality at the experience level, even where the underlying agent capabilities are strong.
  • +
  • It will burn through tokens fast. Bring-your-own-API-key with per-agent spending caps is the right way to experiment. The demo ran on a Claude Code subscription and was probably $50–100 of usage in 30 minutes. For exploratory work, point it at a free model on OpenRouter — output quality is worse, but cost is bounded.
  • +
+

The shape of this tool: best when the work is broader than coding — a research-and-marketing-and-content-and-product company-shaped problem — and you want to see what "running a small AI org" actually feels like before staffing one in real life.

+

BMAD Method (Saved for Next Week)​

+

The third tool is the BMAD method — this week's favorite, and the one I most wanted to demo. The meeting ran long (the first half earned its time), and BMAD is worth a real walkthrough rather than five rushed minutes. Tune in next week for that one.

+

The one-sentence pitch: BMAD is for builders who want an Agile development flow with their agents, and for builders who want a thoughtful brainstorming partner that's read more about the problem space than they have. If either of those describes your current bottleneck, the deferred demo will be the one to catch.

+

Where This Is Going​

+

Two takeaways:

+

The move from facilitator to orchestrator isn't a tooling upgrade — it's a skill change. The tools shown today are the early shape of what that change looks like: local-first, agent-agnostic, opinionated about how you compose work. They're not finished. They will get better.

+

And: if you have time before next week, read Renat's draft and the reference implementation. A SEP that lets Soroban hold private group state cheaply is exactly the kind of primitive that quietly unlocks an entire category of applications later. The champion role is open.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-05-07]]> + https://developers.stellar.org/meetings/2026/05/07 + + 2026-05-07T00:00:00.000Z + + +

Machine Payments Protocol: A Deep Dive​

+

This week's meeting is a hands-on walkthrough of the Machine Payments Protocol (MPP) on Stellar — what it is, when to reach for it, and the specific moment in your code where an operation becomes an MPP operation. The goal is to answer one question by the end: "So what? Why should I care about MPP?"

+

MPP is the second of the two agentic-payment primitives covered in recent meetings. The first, x402, is the more familiar of the two — it's effectively a programmable paywall built on top of the long-standing HTTP 402 Payment Required status. A human or an agent hits a route, gets a 402, pays, and is allowed through. MPP is the less obvious sibling, and the value proposition only becomes clear once you understand its two modes.

+

Charge Mode vs. Channel Mode​

+

MPP has two payment modes, and the distinction is the entire point of the protocol.

+

Charge mode is pay-per-request. A route returns a payment challenge, the caller pays for that single request, and the receipt unlocks the response. If you've worked with x402, charge mode will feel almost identical — it is the right choice when requests are infrequent or the underlying data isn't changing rapidly. One call, one transaction, one receipt.

+

Channel mode is where MPP earns its keep. Imagine you're charging for access to a premium LLM that emits 50 tokens per second, and the underlying cost model is per-token rather than per-request. Pay-per-request breaks down immediately: you'd need the user to send a transaction every 1/50th of a second, which is impossible. Channel mode solves this by letting the user open a funded channel up front, spend against it at high frequency, and then settle in a single on-chain transaction when the channel closes. The channel can be closed manually (a button, an explicit "end session") or by a timeout — a timeout is usually the better default, because a user closing their laptop doesn't close the channel for them.

+

The mental model: charge mode is a turnstile; channel mode is a bar tab. Both are useful, and a single tool can expose both — pick the mode that matches the cost shape of the underlying operation.

+

The Receipt Flow​

+

The channel-mode handshake is worth internalizing because it's where most of the "wait, how does this work?" questions come from:

+
    +
  1. The client calls the MCP tool. The server returns 402 Payment Required with a channel challenge.
  2. +
  3. The client opens a channel against the server. The client's wallet receives a receipt for that channel.
  4. +
  5. The client retries the call, this time presenting the receipt. The server returns 200 and serves the response.
  6. +
  7. Subsequent high-frequency calls reuse the open channel — no new transaction per call.
  8. +
  9. When the channel closes (button, timeout, or explicit end-session), a single settlement transaction lands on-chain.
  10. +
+

Charge mode collapses steps 2–5 into a single pay-and-go interaction — you pay, you get the receipt, you make the call, done.

+

Demo Walkthrough​

+

The full demo is on GitHub and the code is meant to be read alongside this video — it is intentionally not production-ready. The demo is an MCP server with four tools:

+
    +
  • get_network_status — free, returns testnet liveness.
  • +
  • lookup_account — free, fetches live XLM balance for an account.
  • +
  • analyze_account_risk — paid, demonstrates charge mode.
  • +
  • explain_latest_transactions — paid, demonstrates channel mode.
  • +
+

The free tools work the way you'd expect — 200 OK, no payment required. They're effectively the free trial of the MCP.

+

Calling analyze_account_risk without paying returns 402 Payment Required with a charge-mode challenge: "100 base units to use this tool." Paying via the Run Selected Tool button produces a receipt, the call retries, and the server returns 200 with the result. Mode shown in the receipt: charge. One request, one transaction.

+

Calling explain_latest_transactions after activating a channel session uses channel mode. The first call against an inactive channel returns 402; opening the channel and retrying returns 200, and subsequent calls against the same open channel don't require new transactions. The demo includes an explicit Close Channel button for clarity — in production you'd almost certainly use a timeout instead, so a user walking away doesn't leave a channel hanging open.

+

The Wallet Setup​

+

The demo uses four wallet roles, and the setup is worth calling out:

+
    +
  • Buyer wallet — the end user paying for tool access.
  • +
  • Seller wallet — the MCP operator receiving payment.
  • +
  • Fee payer wallet — sponsors gas fees via OpenZeppelin's relayer. Not required for MPP to work, but heavily recommended for UX. In 2026 there's very little excuse to make users hold the native asset just to interact with your tool, and fee sponsorship is the cleanest way to remove that friction.
  • +
  • Channel commitment key — a separate wallet that holds the cumulative channel commitments. This is included to illustrate that the actors in an MPP setup can be decomposed — there are paths beyond "I get paid for my service" toward monetizing the commitment-holding role itself. The demo configuration here is illustrative, not best practice.
  • +
+

The wallets live in-client (the same model used in the AK Gaming hackathon's game studio), so there's no browser extension or passkey prompt in this demo. That's a deliberate choice for clarity, not a recommendation — for anything heading toward production, look at OpenZeppelin's policy-based smart accounts (OZ Policy). With OZ Policy you can express rules like "any transaction over $10 requires my signature," which is most of what you actually want from a smart agent wallet.

+

The Exact Moment an Operation Becomes MPP​

+

The pivot of the video: where in the code does a regular HTTP handler turn into an MPP-gated handler?

+

In the charge-mode handler, the route checks for a valid payment receipt. If the receipt is present and valid, the handler proceeds to the underlying business logic and returns the response. If it isn't, the handler returns a 402 with the charge challenge attached. That gating block — the small "molecule" sitting between the request and the response — is the entire MPP surface area for charge mode. Flipping the same handler from charge mode to channel mode is essentially a one-line change in the configuration of that gating block.

+

If you've worked with x402, charge mode is going to feel like familiar territory. The thing to internalize is that channel mode is not x402 with extra steps — it's a different settlement model for a different cost shape, and it's the reason MPP exists as its own primitive.

+

SDKs and Reference Implementations​

+

Two pointers for going deeper:

+
    +
  • The MPP documentation on developers.stellar.org, including the list of supported MPP intents.
  • +
  • The recommended SDK for creating MPP patterns on Stellar — the easiest path to a working integration.
  • +
+

For a better-looking, more-complete reference implementation than the demo shown in this stream, look up @ElliotFriend on X — Elliot's MPP demo (including MPP Stellar Buzz, a per-channel chatbot) is a strong example of channel mode used correctly: open a channel when the conversation starts, settle once when it ends, no per-token transaction overhead in between.

+

Where MPP Fits​

+

The use cases that map cleanly onto MPP all share one property: high-frequency paid calls. That keyword is the easiest filter. If your access pattern is bursty or per-token or per-tick, channel mode. If it's an occasional one-off charge for a piece of data, charge mode. If it's neither, you may not need MPP at all.

+

Concrete examples worth thinking about:

+
    +
  • Paid data feeds and oracles — charge per query, or open a channel for high-frequency consumers.
  • +
  • Premium developer tools and analytics APIs — the obvious one. Per-call billing for tools that today rely on API keys and out-of-band invoicing.
  • +
  • AI-enabled explorers — paste a wallet or contract address into a chatbot and have it narrate the on-chain activity. Open question on the table during the meeting — a strong opportunity for builders.
  • +
  • AI auditing tools — auditing a Soroban contract for vulnerabilities, with the caveat that no AI auditor should be the only thing standing between a project and mainnet.
  • +
  • Agent service marketplaces — agents paying agents per-call, with MPP as the settlement layer.
  • +
  • Usage-based infrastructure — anything where the cost shape is "metered, often, small."
  • +
]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-04-30]]> + https://developers.stellar.org/meetings/2026/04/30 + + 2026-04-30T00:00:00.000Z + + +

Protocol Discussion: Modular Custom Accounts and Signature Security in Protocol 27​

+

This protocol meeting covered two related authorization changes coming in Protocol 27, presented by Dmytro Kozhevin: a recap of CAP-71's authentication delegation for custom accounts, and a newly published security addendum, CAP-71-02, that closes a narrow signature replay gap.

+

CAP-71 Recap: Authentication Delegation for Custom Accounts​

+

CAP-71 has been around for a while and hasn't changed — the news is that it is actually being implemented in Protocol 27. It improves what modular custom accounts can do by adding built-in delegation support at the protocol level. A "root" account can delegate logic — for example, the cryptography implementation — to separate "sub-account" contracts. That makes it possible to have an abstract, configurable meta-account shared by multiple users, with the actual signing logic living in different contracts.

+

This architecture has already been attempted in the wild (OpenZeppelin's contract examples use it), but until now it was painful: delegating the authorization context required several rounds of pre-simulation to propagate the context. CAP-71-01 builds the delegation mechanism directly into the protocol, which should make life significantly easier for anyone developing custom accounts.

+

CAP-71-02: Closing a Signature Replay Gap​

+

The reason a separate addendum exists: CAP-71 introduced a new kind of signature payload preimage, and that surfaced a small oversight in the original design. Soroban uses a unified format for signature payloads — a preimage carrying most of the necessary context, hashed with SHA-256 and then signed with an arbitrary cryptographic algorithm. "Most" is the key word: the standard authorization payload does not include the signer's address.

+

Most of the time this doesn't matter. In a typical token transfer from A to B, the authorizing address is present in the payload anyway. Even when it isn't — like minting with a Stellar Asset Contract, where the admin address is not in the payload — a SAC has only a single admin, so the signature can't be reused.

+

The one obscure case where it does matter, described in detail in the security notice published just before the meeting, requires a specific combination of factors to line up:

+
    +
  • An admin-style contract where the authorizing signer is implicit — fetched from storage rather than named in the payload
  • +
  • That admin being rotated to a different public address
  • +
  • The old and new addresses reusing the same private key
  • +
+

Sharing a private key across public addresses is rare and generally not something you should do, and an analysis showed this combination has never occurred on-chain. But if it ever did happen, the impact would be serious — a signature could be replayed to, for example, mint a token a second time. The gap was discovered through security audits.

+

The fix introduces a new credential type, SOROBAN_CREDENTIALS_ADDRESS_V2, whose only difference from the current address credentials is that the protocol uses an address-bound signature payload preimage — the signer's address is guaranteed to be part of what gets signed. The structure is otherwise identical, so supporting it downstream is just a matter of switching from one credential type and payload format to the other.

+

Migration Guidance​

+

As of Protocol 27, the old address credentials are not being deprecated — the probability of the issue is low enough that there's no urgency for an abrupt, breaking fix. The intention is to migrate to address v2 eventually (possibly Protocol 28 or later): client tooling — the CLI, developer SDKs, and so on — can update to the new credential and payload format at their own pace after the Protocol 27 upgrade, and once the ecosystem has moved, the old format can be deprecated non-disruptively. If you maintain an admin-style contract and are worried in the meantime, you can pass the signer address in the payload explicitly.

+

Read more about the proposals here:

+

CAP-71 - Discussion

+

CAP-71-01 - Discussion

+

CAP-71-02 - Discussion

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-04-23]]> + https://developers.stellar.org/meetings/2026/04/23 + + 2026-04-23T00:00:00.000Z + + +

Messari State of Stellar Q1 2026​

+

Messari published their State of Stellar Q1 2026 report ahead of this meeting, and there are numbers in it that every developer building on Stellar should understand — not as vanity metrics, but as signal for where the ecosystem is actually heading and where the real opportunities are.

+

RWA market cap — $2 billion at the time of the meeting, up from approximately $1.5 billion at the end of Q1 2026. That is roughly a 33% increase quarter over quarter and a 3x increase year over year from the $500 million mark in Q1 2025. The biggest single-quarter move across any metric in the report.

+

Average daily smart contract volume — $16 million per day in the last quarter. One year ago it was $2 million per day. For five or six consecutive quarters, Soroban transaction volume has only gone up. This is real usage: contracts being called, operations executed, applications that real users are touching.

+

Stablecoin market cap — $300 million, up 20% quarter over quarter. Protocols driving this include Aquarius, Blend, and SolarSwap.

+

The synthesis: Stellar is executing a compounding flywheel that is now clearly visible. Institutional capital flows in via RWAs, higher TVL attracts more DeFi protocols, more DeFi protocols drive more Soroban invocations, more on-chain activity attracts more developers, more developers build more user-facing applications, more users generate more stablecoin and payment volume — and all of that makes Stellar more compelling for the next wave of institutional adoption.

+

The full report is on messari.io and is worth reading in detail.

+

MoneyGram and SDF Extend Partnership​

+

Announced on April 22nd at Stellar House in Mexico City: MoneyGram and the Stellar Development Foundation have announced a multi-year extension of their partnership. The framing is important — this is about scaling real-world stablecoin utility globally.

+

This partnership has been running since 2021. In that time they built the world's largest cash on- and off-ramp for digital assets, launched the MoneyGram Ramps API so developers can plug into the network directly, and created a stablecoin balance feature inside the MoneyGram app that lets customers hold funds in digital dollars and cash out at physical locations.

+

The next phase focuses on Latin America. The MoneyGram app with stablecoin support first went live in Colombia. With this announcement, it is extending to El Salvador, with more countries across Central and South America planned throughout 2026. The stack powering this is Stellar, Cross-Mint, and Circle's USDC.

+

The real-world scale here: MoneyGram operates nearly half a million retail locations across 200+ countries. That is not a sandbox — that is live infrastructure for people sending money to families and communities that depend on cash-based services. Stellar Development Foundation CEO Denelle Dixon said: "Stellar was built on the belief that the global financial system should work for everyone." This partnership is what that looks like in practice.

+

Aquarius Hits $50M TVL​

+

Aquarius, the decentralized liquidity management platform built on Stellar, crossed $50 million in total value locked. Aquarius is Stellar's answer to DeFi liquidity infrastructure — AMMs, liquidity pools, reward systems — and it is designed to be a foundational liquidity layer that other Stellar protocols build on top of. When Aquarius TVL grows, the entire Stellar DeFi ecosystem becomes more liquid and more efficient.

+

For developers asking where to start: Aquarius has been investing in documentation. Their docs at docs.aqua.network now include real code examples — how to execute swaps through the optimal path, how to claim LP rewards, how to add fee configurations to swaps for building routers into existing applications. If you are building anything on Stellar that involves swapping assets, yield strategies, or liquidity-adjacent features, the Aquarius docs are a solid reference for what production-quality Stellar DeFi integration looks like.

+

Stellar Agents Hackathon: 260+ Projects​

+

The Stellar Agents hackathon on DoraHacks just wrapped, with around 600 hackers submitting over 260 projects. The hackathon was focused on agentic payments using x402 and MPP — the two protocols covered in the previous developer meeting. What the hackathon showed is what happens when you put those primitives in the hands of 600 builders from around the world.

+

The following are standout submissions, highlighted not to endorse any specific project but to use them as a window into what is actually possible to build on Stellar right now.

+

Stellar 8004 — On-Chain Identity and Reputation for AI Agents​

+

stellar8004.com addresses one of the most important unsolved problems in the emerging AI agent economy: there is no standard way to find agents, verify who built them, or evaluate whether they are reliable. You cannot search for a trustworthy A2A agent for a given task and get a verifiable answer. Every platform has its own walled garden, and there is no portable reputation.

+

Stellar 8004 takes its name from ERC-8004 on Ethereum (now going multi-chain) and gives every AI agent a blockchain-backed identity, a discoverable endpoint, and a reputation system you can verify on-chain. Think of it as LinkedIn for agents, except the reputation is not self-reported — it is attested on-chain.

+

The stack is built on three Soroban contracts:

+
    +
  • Identity registry contract — agents register with on-chain metadata and wallet binding
  • +
  • Reputation registry contract — users leave feedback with average scoring
  • +
  • Validation registry contract — third-party organizations can endorse agents through on-chain attestations
  • +
+

The live explorer at stellar8004.com lets you browse registered agents, check reputation scores, interact with them, and leave feedback. Registered agents can also advertise x402 and MPP payment support in their metadata, so agents can be discovered and paid per query in USDC.

+

For builders, the team also published a TypeScript SDK at tryon.lab/stellar8004 and a Claude Code skill with slash commands for building on top of the registry with AI assistance.

+

The conceptually powerful part is the agent-to-agent trust loop. When a DeFi agent wants to call a data analysis agent, it currently has no way to verify that agent is legitimate or reliable. With a registry like this, it can query on-chain, check the score, verify attestations, and decide whether to proceed programmatically.

+

One note for anyone building in this space: distribution is everything for infrastructure like this. In just one hackathon there were four or five similar projects targeting the same use case. If you are building an agent registry or identity system, check the ecosystem page first and understand the competitive landscape.

+

MPP Router (Rozo)​

+

mpprouter.dev is a payment network router specifically designed for agent-to-agent micropayments. On Tempo, there are over 400 MPP endpoints. This router makes it possible for users and agents on Stellar to reach and use those endpoints by paying on Stellar.

+

It's on mainnet. The problem it solves is real and concrete: 400 agents on another network, and this project makes them reachable from Stellar. The way to find good project ideas is to find the pain points of a network — this one found a clear one.

+

Stellar Security Audit Agent​

+

With over $3 billion lost to hacks and exploits in 2025 (the worst year on record), and the industry already down over $600 million in just the first weeks of 2026, autonomous smart contract auditing is becoming genuinely important infrastructure.

+

Built under the handle Chinese Powered, this is an autonomous AI security auditor for Soroban smart contracts. It works in three steps:

+
    +
  1. Bytecode verification — fetches the deployed WASM bytecode from Stellar and compares it against the source code. This step matters because one of the most common attack vectors is deploying different code than what was audited.
  2. +
  3. AI-powered vulnerability analysis — runs a full checklist equivalent to the OWASP top categories for smart contracts: access control flaws, integer overflows, reentrancy, storage exploits, initialization attacks, denial-of-service vectors.
  4. +
  5. On-chain audit record — audit results are written immutably into a smart contract on Stellar, creating a public, verifiable audit record that anyone can query.
  6. +
+

The insight that makes this composable is step three: by writing audit results on-chain, you create an auditing layer that other contracts or agents can query. The project is currently on testnet and needs more work before it is production-ready — particularly around trust establishment and distribution — but the vision it represents is one of the most important unsolved problems in DeFi.

+

Stellar Mobile Agent Builder​

+

Over 75% of crypto users access services via mobile, and in the markets where Stellar is most relevant — Latin America, Africa, Southeast Asia — mobile-first is not a preference, it is the only option.

+

Built by Sam Felix, this project flips the assumption that running an AI agent requires cloud infrastructure. Take an old Android phone, run a FastAPI agent runtime on it using Ollama for local inference, and connect it to Stellar via MPP for per-request micropayments. Anyone with a phone can become a node in the AI agent economy.

+

What is particularly clever is the no-code layer on top: a visual drag-and-drop builder where non-technical users can design agent workflows without writing any code. The exact use case is letting someone in an emerging market use their device to provide or access AI capabilities that would otherwise be inaccessible or expensive. Not yet on mainnet, but the direction is worth noting for anyone building for global audiences.

+

Talos — Autonomous Agent Corporation Framework​

+

Highlighted as one of the most polished projects from the CDMX hackathon, Talos is an autonomous agent corporation framework. It lets you create sub-agents and orchestrate them to act as corporate employees: dedicated agents for GTM strategy, marketing campaigns, engineering lead hiring, and so on. The payment layer runs on x402. If you have worked with Paperclip or similar autonomous agent setups before, the mental model will be familiar. One of the most common questions at the CDMX hackathon was how to use AI to steer an entire project or company — Talos is one of the more complete answers that came out of that event.

+

Stellar House Mexico City​

+

Stellar House is SDF's format for bringing together builders, partners, and ecosystem members in a physical space — typically two to three days of talks, workshops, and demos. The Mexico City event just wrapped, and all sessions were live-streamed on the SDF YouTube channel (find them under the Playlists section of the channel).

+

Mexico City was particularly significant for two reasons: the MoneyGram announcement came out of it, and Mexico and Latin America broadly are central to Stellar's mission. The event also featured pitch presentations from several teams that came through the CDMX hackathon — building a pipeline from hackathon to Stellar House is a format that seems to be working.

+

Stellar AI Guide MX​

+

For developers building on Stellar with AI tooling, a new open-source resource is available at github.com/kaankacar/stellar-ai-guide-mx. Check the building with AI section at developers.stellar.org for the full set of AI resources, including the llms.txt file for feeding Stellar context into LLMs and Stella, the AI assistant trained on Stellar documentation.

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-04-16]]> + https://developers.stellar.org/meetings/2026/04/16 + + 2026-04-16T00:00:00.000Z + + +

Protocol 26 "Yardstick" Hits Testnet​

+

Protocol 26, codenamed Yardstick, went live on testnet on April 16, 2026 at 17:00 UTC — literally the day of this meeting. Mainnet validator votes are scheduled for May 6th. If you are running any kind of infrastructure on Stellar — nodes, SDKs, integrations — now is the time to pull the Protocol 26 changes, update your SDKs, and test against testnet before the mainnet vote. The #protocol-next channel in the Stellar developer Discord is where the ecosystem coordinates during upgrades.

+

Two CAPs shipped with this release:

+

CAP-81 rewrites the Soroban eviction scan. Instead of scanning the BucketList on disk, eviction now works directly from in-memory Soroban state. The result is faster evictions, fewer disk reads, and more efficient node operations. This is the kind of under-the-hood improvement that compounds as Soroban usage grows — less I/O overhead means the network handles growing state more gracefully at scale.

+

CAP-82 adds checked arithmetic variants for the existing 256-bit integer host functions. Where the current functions trap on overflow, the new checked variants return Void instead, letting contracts handle arithmetic errors explicitly and gracefully rather than panicking. If you're writing DeFi contracts — lending protocols, swap routers, pricing curves — this matters: checked arithmetic means operations fail explicitly and predictably instead of silently wrapping or trapping.

+

CAP-81 — Discussion

+

CAP-82 — Discussion

+

Ecosystem Snapshot: $2B in Tokenized Real-World Assets​

+

Stellar has crossed $2 billion in tokenized real-world assets on the network — more than 4x growth in 12 months and 2.5x growth year-to-date as of April. This is not speculative TVL. These are actual financial instruments: tokenized treasuries, bonds, and private credit sitting on-chain today. The institutional names driving this are serious: Franklin Templeton's tokenized treasury fund, Ondo Finance, RedSwan Digital, and Centrifuge. These are not crypto-native experiments — these are traditional finance institutions choosing Stellar as their settlement layer.

+

What makes this meaningful for developers is that those $2 billion in assets do not just sit there. They are becoming collateral in lending protocols, being deployed in DeFi, and earning yields. That creates real primitives to build on top of.

+

DeFi Ecosystem Update​

+

The Stellar DeFi ecosystem is maturing quickly. Here is the current state:

+

Blend has crossed $80 million in TVL, making it one of the most significant lending protocol deployments on Stellar.

+

Stellar Templars Protocol added six new real-world assets to lending markets on Stellar. You can now borrow stablecoins against tokenized institutional assets. The newly added collateral types include:

+
    +
  • DEJA (Centrifuge) — a AAA-rated CLO strategy
  • +
  • DEJTRY — the Janus Henderson short-term US Treasury strategy
  • +
  • CETES and USTRY (EtherFuse) — tokenized Mexican and US Treasury exposure
  • +
  • soBTC/USDC pair — you can now use Bitcoin as collateral to borrow on Stellar
  • +
+

Institutional-grade RWAs as DeFi collateral is a significant milestone. Sovereign debt meeting DeFi accessibility is a phrase worth sitting with.

+

Sushi deployed their first concentrated liquidity DEX on Stellar. PYUSD/USDC and XLM/USDC pools are live. Cross-chain functionality is coming soon through Squid Router, which connects Stellar assets to 80+ other blockchains.

+

EURA — a MiCA-compliant euro stablecoin from All Unity — is live on Stellar. This is a fully backed, regulated euro stablecoin built for institutional use. A regulated euro stablecoin on Stellar is a notable addition for builders targeting European markets or building compliant financial applications.

+

For a full picture of where Stellar DeFi stands, the SDF published a post titled "What the DeFi is happening on Stellar?" that captures how the ecosystem has been quietly maturing while others debate narratives.

+

x402 and MPP: Agentic Payments Are Live on Stellar Mainnet​

+

Both x402 and MPP — the two leading agentic payment protocols — are now live on Stellar mainnet. This is a significant milestone for anyone building at the intersection of AI and payments.

+

The Problem They Solve​

+

The entire payment infrastructure of the internet was designed for humans. An AI agent that needs to call a paid API hits a fundamental wall: there's a form, a billing dashboard, an API key a human configured. The agent hits a paywall and the workflow breaks. x402 and MPP solve this by making machine-to-machine payments as simple as an HTTP request.

+

x402​

+

x402 is built on the HTTP 402 "Payment Required" status code — a code that has existed since the 1990s but was never meaningfully implemented until now. The flow is simple: an agent requests a resource, the server responds with a price, the agent authorizes stablecoin payment, and the resource is delivered. One HTTP round trip.

+

On Stellar, this settles in under 5 seconds. Stellar's fees — approximately 0.00001 XLM per transaction — are essential here: if your transaction fee costs more than the payment itself, micropayments do not work. Stellar also has USDC, PYUSD, and USDY as first-class native assets — not bridged, not wrapped.

+

x402 is co-governed by Coinbase (who launched it), Cloudflare, Google, and Visa. Google has integrated it into their agentic payments protocol. Cloudflare built it into their pay-per-crawl tooling. The SDF also brought OpenZeppelin into the picture — they secure over $130 billion in on-chain assets — to power the x402 facilitator and provide audited smart account contracts with programmable spending limits and guardrails.

+

MPP (Machine Payments Protocol)​

+

MPP was co-developed by Stripe and Tempo and launched last month, and it is live on Stellar. Where x402 handles one payment per request, MPP introduces sessions: an agent pre-authorizes a spending limit up front, then streams micro-payments within that session, settling in bulk at the end. If your agent is querying a data feed thousands of times an hour, MPP sessions are the right model — you avoid the overhead of a per-request authorization for every single call.

+

On Stellar, MPP settles via Soroban SAC transfers. Agents never need to hold gas tokens because the SDK handles server-sponsored fees.

+

MPP launched with over 100 integrated services including Stripe, Anthropic, OpenAI, Shopify, and Visa. The core spec has been submitted to the IETF for standardization as the official HTTP payment standard.

+

The Full Picture​

+

To connect this back to everything else in this meeting: those DeFi protocols, tokenized assets, and stablecoin rails all become accessible to AI agents through these payment primitives. An agent can borrow against a tokenized treasury, pay for a data feed, execute a swap, and settle cross-chain — all programmatically, without a human in the loop.

+

Resources for Building​

+

If you want to start building with these protocols, the best starting points are:

+
    +
  • developers.stellar.org → Build → Agentic Payments — x402 and MPP docs are here
  • +
  • Stellar Dev Skill — a plugin for AI coding assistants (Claude Code, OpenCode, Codex) that gives your AI assistant deep current knowledge of the full Stellar stack including x402 and MPP
  • +
  • developers.stellar.org/tools/ai — the building with AI page, including links to the llms.txt file for feeding Stellar context directly into LLM prompts, and Stella, the AI assistant trained on Stellar docs
  • +
+

Guest Demo: Noether — First Perpetual DEX on Stellar​

+

The second half of this meeting featured Yahya and Mert, co-founders of Noether from the No Ethers team, recent graduates of the latest Stellar Community Fund funding round. Noether is, to their knowledge, the first perpetual DEX on Stellar.

+

Why a Perp DEX on Stellar?​

+

The opportunity is straightforward: every serious DeFi ecosystem needs a perpetual DEX, and Stellar did not have one. Mert has been building on Stellar since smart contracts launched on the network, has hosted over 10 Stellar workshops in Turkey, and has mentored builders and served as a judge in Stellar hackathons. When Yahya identified the gap, they locked in and built.

+

What They Showed​

+

Mert walked through a live testnet demo of Noether:

+

Faucet — A testnet faucet page where users can claim up to 1,000 USDC per day. Before claiming, users need to set up a trustline to the testnet USDC asset — a standard Stellar requirement for holding any non-native asset.

+

Trade Page — The core trading interface has three components:

+
    +
  • Order book on the left, showing pending limit orders with long orders on one side and short orders on the other, and the current market price in the middle.
  • +
  • Price chart in the center, pulling real-time price data from Binance via a price proxy.
  • +
  • Three trading pairs available at launch, with more pairs planned for the following month.
  • +
+

Smart Contract Status — The contracts are currently at MVP stage. Mainnet launch is planned approximately two to three months out, following a smart contract audit that will be supported by the Stellar Development Foundation. The team emphasized they will not launch on mainnet before the audit is complete.

+

On AI in Development​

+

When asked what percentage of their codebase was written with AI assistance, Mert estimated around 70% — with an important caveat: the core financial logic in smart contracts was written and verified by hand. Their approach was to use AI for the less critical parts (landing pages, boilerplate, tooling) while personally reviewing and proving the correctness of anything financially sensitive. As Mert put it: "We write the code with AI but we read it."

]]>
+ + Kaan Kacar + https://github.com/kaankacar + + +
+ + <![CDATA[2026-02-26]]> + https://developers.stellar.org/meetings/2026/02/26 + + 2026-02-26T00:00:00.000Z + + +

Protocol Discussion​

+

In this protocol meeting we had two CAPs to discuss and that was CAP-81 and CAP-82.

+

CAP-81: This CAP introduces a simpler and more efficient eviction scan process. Instead of scanning the BucketList, the new eviction scan just uses in-memory Soroban state. This simplifies the logic while reducing disk reads and speeding up eviction speed.

+

CAP-82: This CAP adds checked variants of the existing 256-bit integer arithmetic host functions. Unlike the existing functions which trap on overflow, the checked variants return Void on overflow, allowing contracts to handle arithmetic errors gracefully.

+

Read more about the proposals here:

+

CAP-81 - Discussion

+

CAP-82 - Discussion

]]>
+ + Carsten Jacobsen + https://github.com/carstenjacobsen + + +
+ + <![CDATA[2026-01-29]]> + https://developers.stellar.org/meetings/2026/01/29 + + 2026-01-29T00:00:00.000Z + + +

Protocol Discussion​

+

We have one new CAP to discuss and that is CAP-80. This proposal adds BN254 Multi-Scalar Multiplication and modular arithmetic used in a variety of ZK proof applications. Adding host support for these will greatly improve the performance of these use cases.

+

We also follow up on a previous CAP - the CAP-73.

+

Read more about the proposal here:

+

CAP-80 - Discussion

+

CAP-73 - Discussion

]]>
+ + Carsten Jacobsen + https://github.com/carstenjacobsen + + +
+ + <![CDATA[2026-01-22]]> + https://developers.stellar.org/meetings/2026/01/22 + + 2026-01-22T00:00:00.000Z + + +

OpenZeppelin Q4 Releases​

+

In this year’s first Stellar Developer Meeting, on Thursday, January 22nd at 8am PT on Twitch, we will catch up with Ozgun and Boyan from the OpenZeppelin team and take a look at the libraries released in Q4 last year.

+
+

Protocol Discussion​

+

We had three CAPs prepared for this meeting. CAP-77 will provide a way to make ledger keys inaccessible based on the network configuration upgrade performed with a validator vote. CAP-78 proposes an interface which allows developers to specify TTL extension policies such as 'if an entry TTL is less than 29 days, extend it to have 30 days TTL'. CAP-79 introduces host functions for converting Stellar strkey format strings to/from Address/MuxedAddress objects.

+

Read more about the proposals here:

+

CAP-77 - Discussion

+

CAP-78 - Discussion

+

CAP-79 - Discussion

]]>
+ + Carsten Jacobsen + https://github.com/carstenjacobsen + + +
+ + <![CDATA[2025-11-06]]> + https://developers.stellar.org/meetings/2025/11/06 + + 2025-11-06T00:00:00.000Z + + +

In this meeting we do a walkthrough of OpenZeppelin’s Q3 library releases for Smart Account, Vault and RWA.

+

Links to docs:

+]]>
+ + Carsten Jacobsen + https://github.com/carstenjacobsen + + +
+ + <![CDATA[2025-10-30]]> + https://developers.stellar.org/meetings/2025/10/30 + + 2025-10-30T00:00:00.000Z + + +

In this meeting we are continuing our mini series about the Stellar-based open source tooling OpenZeppelin is developing. In the last session we talked briefly about Relayer and this time we are diving deeper into this tool, and OpenZeppelin Managed Service.

+

OpenZeppelin Relayer: https://docs.openzeppelin.com/relayer

]]>
+ + Carsten Jacobsen + https://github.com/carstenjacobsen + + +
+ \ No newline at end of file diff --git a/meetings/authors.yml b/meetings/authors.yml deleted file mode 100644 index 9d92d724b..000000000 --- a/meetings/authors.yml +++ /dev/null @@ -1,58 +0,0 @@ -carstenjacobsen: - name: Carsten Jacobsen - title: Senior Developer Advocate - url: https://github.com/carstenjacobsen - image_url: https://github.com/carstenjacobsen.png - page: true - socials: - github: carstenjacobsen - x: CarstenJacobsen - linkedin: carstenjacobsendk -elliotfriend: - name: Elliot Voris - title: Senior Developer Advocate - url: https://github.com/ElliotFriend - image_url: https://github.com/ElliotFriend.png - page: true - socials: - github: ElliotFriend - x: ElliotFriend - linkedin: elliotfriend -kalepail: - name: Tyler van der Hoeven - title: Developer Advocate Director - url: https://github.com/kalepail - image_url: https://github.com/kalepail.png - page: true - socials: - github: kalepail - x: kalepail - linkedin: tyvdh -anataliocs: - name: Chris Anatalio - title: Senior Developer Advocate - url: https://github.com/anataliocs - image_url: https://github.com/anataliocs.png - socials: - github: anataliocs -naman: - name: Naman Kumar - title: Product Manager - url: https://github.com/namankumar - image_url: https://github.com/namankumar.png - socials: - github: namankumar -julian: - name: Julian Martinez - title: Senior Developer Advocate - url: https://github.com/Julian-dev28 - image_url: https://github.com/Julian-dev28.png - socials: - github: Julian-dev28 -kaankacar: - name: Kaan Kacar - title: Developer Advocate - url: https://github.com/kaankacar - image_url: https://github.com/kaankacar.png - socials: - github: kaankacar diff --git a/meetings/index.mdx b/meetings/index.mdx new file mode 100644 index 000000000..0373d9b07 --- /dev/null +++ b/meetings/index.mdx @@ -0,0 +1,721 @@ +--- +title: Meeting Notes +description: "Notes and recordings from the Stellar protocol & developers meetings" +rss: true +--- + + + +Last week I built a USDT0 demo and walked through how the LayerZero infrastructure works on Stellar (2026-10-01). + +[Read the meeting notes](/meetings/2026/10/08) + + + + + +October is the month of Hack Meridian and the Meridian conference, which is exactly why I refused to spend the call talking about either of them (mostly —... + +[Read the meeting notes](/meetings/2026/10/01) + + + + + +This week kicked off a live stream series that runs all the way to Meridian, our flagship conference, and Hack Meridian, the hackathon that happens right... + +[Read the meeting notes](/meetings/2026/09/24) + + + + + +After the Stellar Private Payments AMA, Jay Geng from the core team presented CAP-87. + +[Read the meeting notes](/meetings/2026/09/17/protocol) + + + + + +This week was a straight-up AMA about Stellar Private Payments (SPP), Nethermind's privacy-pool implementation for Stellar. + +[Read the meeting notes](/meetings/2026/09/17) + + + + + +This week was planned as a protocol discussion on CAP-87 and CAP-88, with Jay Geng and Garand Tyson from the core team. + +[Read the meeting notes](/meetings/2026/09/10) + + + + + +I showed up in a black jacket this week, like a serious businessman here to discuss confidential tokens and privacy. + +[Read the meeting notes](/meetings/2026/09/03) + + + + + +Moonlight, a compliant privacy layer on Stellar built on UTXOs, with Chad Ostrowski and Gorka of The Aha Company. Plus Protocol 28 and private payments news. + +[Read the meeting notes](/meetings/2026/08/27) + + + + + +This week was a coding session rather than a project spotlight: six wallet infrastructures, one demo app, and a running list of gotchas for each. + +[Read the meeting notes](/meetings/2026/08/20) + + + + + +This week's meeting was a short one, because it had exactly one job: announcing the 12 winners across 6 tracks from last week's Stellar Builder Summit in... + +[Read the meeting notes](/meetings/2026/08/13) + + + + + +This week we streamed from Brazil, where the team is camped out for Stellar House — if you're around, come on down. + +[Read the meeting notes](/meetings/2026/08/06) + + + + + +The twist this week: I wasn't the only developer advocate on the stream. + +[Read the meeting notes](/meetings/2026/07/30) + + + + + +Before the guests, some news from the developer ecosystem — starting with a sentence I haven't been able to say for a while: Stellar Quest is live again. + +[Read the meeting notes](/meetings/2026/07/23) + + + + + +This week's protocol discussion had two parts. + +[Read the meeting notes](/meetings/2026/07/16/protocol) + + + + + +Probably my favorite Stellar Developers meeting so far, and — unusually for me — I spent most of it not talking. + +[Read the meeting notes](/meetings/2026/07/16) + + + + + +This week was a protocol discussion. + +[Read the meeting notes](/meetings/2026/07/09) + + + + + +This week wasn't about AI — it was about your second-favorite subject: privacy. + +[Read the meeting notes](/meetings/2026/07/02) + + + + + +Before the guests, a quick bit of ecosystem context for why this week felt busy. + +[Read the meeting notes](/meetings/2026/06/25) + + + + + +This week was a doozy — not just one exciting guest, but a pile of news and a stack of tools to use and maybe break. + +[Read the meeting notes](/meetings/2026/06/18) + + + + + +We skipped a week — the DevRel team was in Istanbul for the hackathon we threw during Istanbul Blockchain Week, and the side event at the end gathered more... + +[Read the meeting notes](/meetings/2026/06/11) + + + + + +This week splits in half again. + +[Read the meeting notes](/meetings/2026/05/21) + + + + + +This week's meeting splits cleanly in half. + +[Read the meeting notes](/meetings/2026/05/14) + + + + + +This week's meeting is a hands-on walkthrough of the Machine Payments Protocol (MPP) on Stellar — what it is, when to reach for it, and the specific moment... + +[Read the meeting notes](/meetings/2026/05/07) + + + + + +This protocol meeting covered two related authorization changes coming in Protocol 27, presented by Dmytro Kozhevin: a recap of CAP-71's authentication... + +[Read the meeting notes](/meetings/2026/04/30) + + + + + +Messari published their State of Stellar Q1 2026 report ahead of this meeting, and there are numbers in it that every developer building on Stellar should... + +[Read the meeting notes](/meetings/2026/04/23) + + + + + +Protocol 26, codenamed Yardstick, went live on testnet on April 16, 2026 at 17:00 UTC — literally the day of this meeting. + +[Read the meeting notes](/meetings/2026/04/16) + + + + + +In this protocol meeting we had two CAPs to discuss and that was CAP-81 and CAP-82. + +[Read the meeting notes](/meetings/2026/02/26) + + + + + +We have one new CAP to discuss and that is CAP-80. + +[Read the meeting notes](/meetings/2026/01/29) + + + + + +In this year’s first Stellar Developer Meeting, on Thursday, January 22nd at 8am PT on Twitch, we will catch up with Ozgun and Boyan from the OpenZeppelin... + +[Read the meeting notes](/meetings/2026/01/22) + + + + + +In this meeting we do a walkthrough of OpenZeppelin’s Q3 library releases for Smart Account, Vault and RWA. + +[Read the meeting notes](/meetings/2025/11/06) + + + + + +In this meeting we are continuing our mini series about the Stellar-based open source tooling OpenZeppelin is developing. + +[Read the meeting notes](/meetings/2025/10/30) + + + + + +In this meeting we are talking to Dobprotocol to learn more about how they use Stellar to build a unique platform, turning machines into investable assets. + +[Read the meeting notes](/meetings/2025/10/23) + + + + + +In this call the recent state archival issue, introduced by Whisk (Protocol 23), is discussed. + +[Read the meeting notes](/meetings/2025/10/16) + + + + + +We are meeting with the OpenZeppelin team again to catch up on the latest developer tooling work they are doing. + +[Read the meeting notes](/meetings/2025/10/09) + + + + + +In this meeting we will discuss CAP-74, BN254 and Poseidon hash functions. + +[Read the meeting notes](/meetings/2025/10/02) + + + + + +In this week’s Stellar Developer Meeting we discuss new Core Advancement Proposals. + +[Read the meeting notes](/meetings/2025/09/25) + + + + + +In this meeting we talk to Flashback founder Brieuc Berruet, who participated in the DraperU x Stellar incubator program last year, to get an update on his... + +[Read the meeting notes](/meetings/2025/08/07) + + + + + +In this meeting we are talking to Esteban and Francisco from PaltaLabs. + +[Read the meeting notes](/meetings/2025/07/24) + + + + + +In this meeting the Nomyx team will give us an introduction to their advanced smart contract architecture (an implementation of the Diamond Pattern) and the... + +[Read the meeting notes](/meetings/2025/07/17) + + + + + +In this call we are getting an update on the exciting Scaffold Stellar project by Fifo from Aha Labs. + +[Read the meeting notes](/meetings/2025/07/10) + + + + + +At this Stellar Developer Meeting we are having a chat with Bram Hoogenkamp from OpenZeppelin about the OpenZeppelin Monitor - providing monitoring and... + +[Read the meeting notes](/meetings/2025/05/22) + + + + + +We are close to completing the implementation of Whisk, Protocol 23 CAPs, the next step in the CAP lifecycle is voting by the Core CAP team. + +[Read the meeting notes](/meetings/2025/05/01) + + + + + +This week we’ll dive into one of the most overlooked tools - Quickstart. + +[Read the meeting notes](/meetings/2025/04/17) + + + + + +Pamphile (better know as tupui) is a senior software engineer working at Bitpanda. + +[Read the meeting notes](/meetings/2025/04/10) + + + + + +First we take a look at look at Stellar Lab, a lot of features and improvements have been added since we did a Stellar Lab presentation last year. + +[Read the meeting notes](/meetings/2025/04/03) + + + + + +We are meeting with the OpenZeppelin team again to catch up on the latest feature additions, and this time we have invited two of their engineers, Boyan... + +[Read the meeting notes](/meetings/2025/03/27) + + + + + +In this meeting we have a conversation with Christian Santagata from OpenZeppelin about the Stellar x OpenZeppelin multi-year partnership, and talk about... + +[Read the meeting notes](/meetings/2025/03/06) + + + + + +Blend, a universal liquidity protocol build on Stellar/Soroban, is preparing to release V2 and launched the Blend V2 Audit + Certora Formal Verification... + +[Read the meeting notes](/meetings/2025/02/27) + + + + + +SDF Developer Advocate Elliot Voris gives an introduction to the KaleFail project, and cover how it was built, the purpose and future features. + +[Read the meeting notes](/meetings/2025/02/20) + + + + + +OrbitLens will showcase StellarBroker and StellarExpert services. + +[Read the meeting notes](/meetings/2025/02/13) + + + + + +The dev team behind Reflector and Refractor presents their tools for decentralized finance and transaction management on Stellar. + +[Read the meeting notes](/meetings/2025/02/06) + + + + + +RampMeDaddy will be joining us for this Stellar Developer Meeting. + +[Read the meeting notes](/meetings/2025/01/30) + + + + + +In this week's meeting Hoops Finance's founders Bastian and Tim talk about the progress they have made, some design considerations and the future of Hoops... + +[Read the meeting notes](/meetings/2025/01/23) + + + + + +Stellar Development Foundation's Ecosystem DevRel team got together to talk about the past year, and what 2025 brings. + +[Read the meeting notes](/meetings/2025/01/16) + + + + + +In this meeting SDF Core Software Engineer Jay talks about BLS building blocks, and walks through examples and demos. + +[Read the meeting notes](/meetings/2024/12/19) + + + + + +In this meeting, SDF Developer Advocate Chris Anatalio talks about the future stack, including smart contract wallets and Passkeys. + +[Read the meeting notes](/meetings/2024/12/12) + + + + + +In this week's call we talk to Alberto Chaves from Trustless Work about building an escrow service on Stellar, followed by a quick introduction to using... + +[Read the meeting notes](/meetings/2024/12/05) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/11/14) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/10/24) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/09/26) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/09/19) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/09/12) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/09/05) + + + + + +Agenda: Discord thread + +[Read the meeting notes](/meetings/2024/08/29) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/08/22) + + + + + +Note: The hosts microphone audio is not in the video so there is some silence during Q/A. + +[Read the meeting notes](/meetings/2024/08/15) + + + + + +[Read the meeting notes](/meetings/2024/08/08) + + + + + +[Read the meeting notes](/meetings/2024/08/01) + + + + + +A Core Dev, Dima, discussed the proposal to add constructor support to Soroban, Stellar's smart contract system. + +[Read the meeting notes](/meetings/2024/07/25) + + + + + +Note: the first part of the call was lost. + +[Read the meeting notes](/meetings/2024/07/18) + + + + + +[Read the meeting notes](/meetings/2024/07/11) + + + + + +[Read the meeting notes](/meetings/2024/06/27) + + + + + +Follow Meru on X (formerly Twitter) to stay updated: https://x.com/getmeru + +[Read the meeting notes](/meetings/2024/06/20) + + + + + +Join the #passkeys channel on the Discord to continue the discussion + +[Read the meeting notes](/meetings/2024/06/13) + + + + + +[Read the meeting notes](/meetings/2024/05/09) + + + + + +Discord Agenda thread + +[Read the meeting notes](/meetings/2024/05/02) + + + + + +[Read the meeting notes](/meetings/2024/04/25) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/04/18) + + + + + +Piyal from Freighter discussed the proposal to standardize the wallet interface. + +[Read the meeting notes](/meetings/2024/04/11) + + + + + +Today's recording has two parts. + +[Read the meeting notes](/meetings/2024/04/04) + + + + + +Agenda thread + +[Read the meeting notes](/meetings/2024/03/28) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/03/21) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/03/14) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/03/07) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/02/29) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/02/22) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/02/15) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/02/08) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/02/01) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/01/26) + + + + + +Discord agenda thread + +[Read the meeting notes](/meetings/2024/01/18) + + diff --git a/nginx/includes/redirects.conf b/nginx/includes/redirects.conf deleted file mode 100644 index be34dbe95..000000000 --- a/nginx/includes/redirects.conf +++ /dev/null @@ -1,308 +0,0 @@ -## NGINX redirects file. Write carefully; syntax must be precise. Regular -## expressions containing curly braces "{}" must be enclosed in double quotes. - -# Main primitives -rewrite ^/docs/(learn/)?glossary/accounts$ "/docs/learn/fundamentals/stellar-data-structures/accounts" permanent; -rewrite ^/docs/(learn/)?glossary/assets$ "/docs/learn/fundamentals/stellar-data-structures/assets" permanent; -rewrite ^/docs/(learn/)?glossary/channels$ "/docs/learn/encyclopedia/transactions-specialized/channel-accounts" permanent; -rewrite ^/docs/(learn/)?glossary/claimable-balance$ "/docs/learn/encyclopedia/transactions-specialized/claimable-balances" permanent; -rewrite ^/docs/(learn/)?glossary/clawback$ "/docs/learn/encyclopedia/transactions-specialized/clawbacks" permanent; -rewrite ^/docs/(learn/)?glossary/decentralized-exchange$ "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools#sdex" permanent; -rewrite ^/docs/(learn/)?glossary/federation$ "/docs/learn/encyclopedia/network-configurationfederation" permanent; -rewrite ^/docs/(learn/)?glossary/fee-bumps$ "/docs/learn/encyclopedia/transactions-specialized/fee-bump-transactions" permanent; -rewrite ^/docs/(learn/)?glossary/fees$ "/docs/learn/fundamentals/fees-resource-limits-metering" permanent; -rewrite ^/docs/(learn/)?encyclopedia/fees-surge-pricing-fee-strategies$ "/docs/learn/fundamentals/fees-resource-limits-metering" permanent; -rewrite ^/docs/(learn/)?glossary/inflation$ "/docs/learn/encyclopedia/network-configuration/inflation" permanent; -rewrite ^/docs/(learn/)?glossary/ledger$ "/docs/learn/fundamentals/stellar-data-structures/ledgers" permanent; -rewrite ^/docs/(learn/)?glossary/liquidity-pools$ "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools#liquidity-pools" permanent; -rewrite ^/docs/(learn/)?encyclopedia/liquidity-on-stellar-sdex-and-liquidity-pools(.*)$ "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" permanent; -rewrite ^/docs/(learn/)?glossary/lumen-supply$ "/docs/learn/fundamentals/lumens#lumen-supply-metrics" permanent; -rewrite ^/docs/(learn/)?glossary/minimum-balance$ "/docs/learn/fundamentals/lumens#minimum-balance" permanent; -rewrite ^/docs/(learn/)?glossary/multisig$ "/docs/learn/fundamentals/transactions/signatures-multisig" permanent; -rewrite ^/docs/(learn/)?glossary/muxed-accounts$ "/docs/learn/encyclopedia/transactions-specialized/pooled-accounts-muxed-accounts-memos" permanent; -rewrite ^/docs/(learn/)?glossary/network-passphrase$ "/docs/learn/encyclopedia/network-configuration/network-passphrases" permanent; -rewrite ^/docs/(learn/)?glossary/operations$ "/docs/learn/fundamentals/stellar-data-structures/operations-and-transactions#operations" permanent; -rewrite ^/docs/(learn/)?glossary/scp$ "/docs/learn/fundamentals/stellar-consensus-protocol" permanent; -rewrite ^/docs/(learn/)?glossary/sponsored-reserves$ "/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves" permanent; -rewrite ^/docs/(learn/)?glossary/testnet$ "/docs/learn/fundamentals/networks" permanent; -rewrite ^/docs/(learn/)?glossary/transactions$ "/docs/learn/fundamentals/stellar-data-structures/operations-and-transactions" permanent; -rewrite ^/docs/glossary/xdr$ "/docs/learn/encyclopedia/data-format/xdr" permanent; -rewrite ^/docs/tools/sdks/library$ "/docs/tools/sdks" permanent; -rewrite ^/docs/software-and-sdks$ "/docs/tools/sdks" permanent; -rewrite ^/docs/tools-and-sdks(.*)$ "/docs/tools/sdks$1" permanent; -rewrite ^/docs/data/indexers/data-indexers$ "/docs/data/indexers/indexer-providers" permanent; -rewrite ^/docs/tools/developer-tools/data-indexers "/docs/data/indexers/data-indexers" permanent; -rewrite ^/docs/data/indexers/indexer-providers(/indexer-providers)?$ "/docs/data/indexers" permanent; -rewrite ^/docs/start/introduction$ "/docs" permanent; -rewrite ^/docs/start/list-of-operations$ "/docs/learn/fundamentals/list-of-operations" permanent; -rewrite ^/docs/start/stellar-stack$ "/docs/learn/fundamentals/stellar-stack" permanent; -rewrite ^/docs/tutorials/handling-errors$ "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors" permanent; -rewrite ^/docs/tutorials/securing-projects$ "/docs/build/security-docs/securing-web-based-projects" permanent; -rewrite ^/docs/tutorials/moneygram-access-integration-guide$ "/docs/build/apps/moneygram-access-integration-guide" permanent; -rewrite ^/docs/fundamentals-and-concepts/testnet-and-pubnet$ "/docs/learn/fundamentals/networks" permanent; -rewrite ^/api$ "/docs/data/apis/horizon" permanent; -rewrite ^/docs/build/smart-contracts/example-contracts/custom-account$ "/docs/build/smart-contracts/example-contracts/complex-account" permanent; - -# Moving /api/* locations to /api/horizon (leaving /api intact for the "overview page") -rewrite ^/(network|api)/(horizon/)?resources/((cb|get|list|retrieve|submit)-.*)$ "/docs/data/apis/horizon/api-reference/$3" permanent; -rewrite ^/(network|api)/(horizon/)?resources/operations/object(.*)$ "/docs/data/apis/horizon/api-reference/resources/operations/object$3" permanent; -rewrite ^/(network|api)/(horizon/)?(resources|aggregations)(.+)/object$ "/docs/data/apis/horizon/api-reference/$3$4/object" permanent; -rewrite ^/(network|api|docs/data)/(horizon/)?(api-reference/)?aggregations/fee-stats/single(.*)$ "/docs/data/apis/horizon/api-reference/retrieve-fee-stats$4" permanent; -rewrite ^/(network|api|docs/data)/(horizon/)?(api-reference/)?aggregations/order-books/single(.*)$ "/docs/data/apis/horizon/api-reference/retrieve-an-order-book$4" permanent; -rewrite ^/(network|api|docs/data)/(horizon/)?(api-reference/)?aggregations/paths/strict-receive(.*)$ "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths$4" permanent; -rewrite ^/(network|api|docs/data)/(horizon/)?(api-reference/)?aggregations/paths/strict-send(.*)$ "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths$4" permanent; -rewrite ^/(network|api|docs/data)/(horizon/)?(api-reference/)?aggregations/trade-aggregations/list(.*)$ "/docs/data/apis/horizon/api-reference/list-trade-aggregations$4" permanent; -rewrite ^/docs/data/horizon/api-reference/resources/((cb|get|list|retrieve|submit)-.*)$ "/docs/data/apis/horizon/api-reference/$1" permanent; -rewrite ^/api(/(?!horizon|(anchor|stellar-disbursement)-platform).*)$ "/docs/data/apis/horizon$1" permanent; -rewrite ^/network/horizon/(resources|structure|aggregations|errors)(.*)$ "/docs/data/apis/horizon/api-reference/$1$2" permanent; -rewrite ^/(network|api)/horizon(.*)$ "/docs/data/apis/horizon$2" permanent; -rewrite ^/network/anchor-platform/(resources|callbacks|custody-server|rpc)(.*)$ "/docs/platforms/anchor-platform/api-reference/$1$2" permanent; -rewrite ^/network/stellar-disbursement-platform/resources(.*)$ "/docs/platforms/stellar-disbursement-platform/api-reference$1" permanent; -rewrite ^/(network|api)/((anchor|stellar-disbursement)-platform)(.*)$ "/docs/platforms/$2$4" permanent; -rewrite ^/network/soroban-rpc/(methods|json-rpc|pagination)(.*)$ "/docs/data/apis/rpc/api-reference/$1$2" permanent; - -# Moving /ap_api locations to /api/anchor-platform -rewrite ^/ap_api(.*)?$ "/docs/platforms/anchor-platform$1" permanent; -rewrite ^/docs/category/anchor-platform$ "/docs/platforms/anchor-platform/admin-guide" permanent; -rewrite ^/docs/anchoring-assets(/|/overview)?$ "/docs/learn/fundamentals/anchors" permanent; -rewrite ^/docs/anchoring-assets(.*)$ "/docs/learn/fundamentals/anchors" permanent; -rewrite ^/docs/category/use-the-stellar-disbursement-platform$ "/docs/platforms/stellar-disbursement-platform/admin-guide" permanent; -rewrite ^/docs/stellar-disbursement-platform(.*)$ "/docs/platforms/stellar-disbursement-platform/admin-guide$1" permanent; -rewrite ^/docs/run-api-server$ "/docs/data/apis/horizon/admin-guide/overview" permanent; -rewrite ^/docs/run-api-server(.*)$ "/docs/data/apis/horizon/admin-guide$1" permanent; -rewrite ^/docs/run-platform-server/?$ "/docs/data/apis/horizon/admin-guide/overview" permanent; -rewrite ^/docs/run-platform-server(.*)$ "/docs/data/apis/horizon/admin-guide$1" permanent; -rewrite ^/docs/run-core-node/?$ "/docs/validators" permanent; -rewrite ^/docs/run-core-node/tier-1-orgs$ "/docs/validators/tier-1-orgs" permanent; -rewrite ^/network/core-node/admin-guide/tier-1-orgs$ "/docs/validators/tier-1-orgs" permanent; -rewrite ^/docs/run-core-node(.*)$ "/docs/validators/admin-guide$1" permanent; -rewrite ^/docs/category/access(ing)?-historical-data$ "/docs/data/analytics/hubble" permanent; -rewrite ^/docs/accessing-data/overview$ "/docs/data/analytics/hubble" permanent; -rewrite ^/docs/accessing-data(.*)$ "/docs/data/analytics/hubble$1" permanent; -rewrite ^/docs/fundamentals-and-concepts(.*)$ "/docs/learn/fundamentals" permanent; -rewrite ^/docs/category/encyclopedia$ "/docs/learn/encyclopedia" permanent; -rewrite ^/docs/encyclopedia(.*)$ "/docs/learn/encyclopedia$1" permanent; -rewrite ^/docs/glossary(.*)$ "/docs/learn/glossary$1" permanent; - -# Miscellaneous redirects -rewrite ^/docs/learn$ "/docs/learn/fundamentals" permanent; -rewrite ^/docs/data/apis/horizon/api-reference/resources/retrieve-a-transaction$ "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" permanent; -rewrite ^/platforms/anchor-platform/api-reference/resources/get-transaction$ "/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transaction" permanent; -rewrite ^/docs/learn/smart-contract-internals/fees-and-metering$ "/docs/learn/fundamentals/fees-resource-limits-metering" permanent; -rewrite ^/docs/learn/migrate/introduction-to-solidity-and-rust$ "/docs/learn/migrate/evm/introduction-to-solidity-and-rust" permanent; -rewrite ^/docs/learn/smart-contract-internals/state-expiration$ "/docs/learn/fundamentals/contract-development/storage/state-archival" permanent; -rewrite ^/platforms/soroban-rpc/methods(.*)$ "/docs/data/apis/rpc/api-reference/methods$1" permanent; -rewrite ^/network/soroban-rpc/getEvents$ "/docs/data/apis/rpc/api-reference/methods/getEvents" permanent; -rewrite ^/docs/smart-contracts/example-contracts/stellar-asset-contract$ "/docs/tokens/stellar-asset-contract" permanent; -rewrite ^/docs/smart-contracts/faq "/docs/build/smart-contracts/overview#soroban-faqs" permanent; -rewrite ^/docs/learn/smart-contract-internals/faq "/docs/build/smart-contracts/overview#soroban-faqs" permanent; -rewrite ^/docs/learn/smart-contract-internals/high-level-overview(.*)$ "/docs/learn/fundamentals/contract-development" permanent; -rewrite ^/docs/smart-contracts/tokens/token-interface.mdx$ "/docs/tokens/token-interface" permanent; -rewrite ^/network/anchor-platform/anchor$ "/docs/platforms/anchor-platform" permanent; -rewrite ^/docs/examples/auth$ "/docs/build/smart-contracts/example-contracts/auth" permanent; -rewrite ^/docs/reference$ "/docs/networks" permanent; -rewrite ^/docs/reference/futurenet$ "/docs/networks" permanent; -rewrite ^/docs/reference/(.*)$ "/docs/networks/$1" permanent; -rewrite ^/docs/SDKs/rust-auth$ "/docs/tools/sdks/library#soroban-rust-sdk" permanent; -rewrite ^/docs/category/cross-border-payments$ "/docs/platforms/anchor-platform/sep-guide/sep31" permanent; -rewrite ^/docs/category/hosted-deposits-and-withdrawals$ "/docs/platforms/anchor-platform/sep-guide/sep24" permanent; -rewrite ^/docs/category/programmatic-deposits-and-withdrawals$ "/docs/platforms/anchor-platform/sep-guide/sep6" permanent; -rewrite ^/docs/category/stellar-authentication$ "/docs/platforms/anchor-platform/sep-guide/sep10" permanent; -rewrite ^/docs/category/web-authentication-for-contracts$ "/docs/platforms/anchor-platform/sep-guide/sep45" permanent; -rewrite ^/platforms/anchor-platform/admin-guide/sep1(.*)$ "/docs/platforms/anchor-platform/sep-guide/sep1$1" permanent; -rewrite ^/platforms/anchor-platform/admin-guide/sep6(.*)$ "/docs/platforms/anchor-platform/sep-guide/sep6$1" permanent; -rewrite ^/platforms/anchor-platform/admin-guide/sep10(.*)$ "/docs/platforms/anchor-platform/sep-guide/sep10$1" permanent; -rewrite ^/platforms/anchor-platform/admin-guide/sep24(.*)$ "/docs/platforms/anchor-platform/sep-guide/sep24$1" permanent; -rewrite ^/platforms/anchor-platform/admin-guide/sep31(.*)$ "/docs/platforms/anchor-platform/sep-guide/sep31$1" permanent; -rewrite ^/platforms/anchor-platform/admin-guide/sep45(.*)$ "/docs/platforms/anchor-platform/sep-guide/sep45$1" permanent; -rewrite ^/dapps "/docs/learn/interactive" permanent; -rewrite ^/docs/learn/interactive/dapps "/docs/learn/interactive" permanent; -rewrite ^/docs/learn/networks$ "/docs/networks" permanent; -rewrite ^/docs/learn/fundamentals/networks$ "/docs/networks" permanent; - -# Meetings: old slug formats -rewrite ^/meeting-notes/(\d\d\d\d)-(\d\d)-(\d\d)/?$ "/meetings/$1/$2/$3" permanent; -rewrite ^/meeting-notes(.*)$ "/meetings$1" permanent; - -# Move some categories around -rewrite ^/docs/category/build-a-wallet$ "/docs/build/apps/wallet" permanent; -rewrite ^/docs/category/build-a-wallet-with-the-wallet-sdk$ "/docs/build/apps/wallet" permanent; -rewrite ^/docs/category/build-a-payment-app-with-the-js-sdk$ "/docs/build/apps/example-application-tutorial" permanent; -rewrite ^/docs/category/anchor-integration$ "/docs/build/apps/example-application-tutorial/anchor-integration" permanent; -rewrite ^/docs/category/build-custom-network-ingestion-pipeline$ "/docs/build/apps/ingest-sdk" permanent; - -# Categorized Encyclopedia redirects -rewrite ^/docs/learn/smart-contract-internals/authorization(.*)$ "/docs/learn/fundamentals/contract-development/authorization$1" permanent; -rewrite ^/docs/learn/smart-contract-internals/types/built-in-types$ "/docs/learn/fundamentals/contract-development/types/built-in-types" permanent; -rewrite ^/docs/learn/smart-contract-internals/types/custom-types$ "/docs/learn/fundamentals/contract-development/types/custom-types" permanent; -rewrite ^/docs/learn/smart-contract-internals/types/fully-typed-contracts$ "/docs/learn/fundamentals/contract-development/types/fully-typed-contracts" permanent; -rewrite ^/docs/learn/smart-contract-internals/contract-lifecycle$ "/docs/learn/fundamentals/contract-development/contract-lifecycle" permanent; -rewrite ^/docs/learn/smart-contract-internals/rust-dialect$ "/docs/learn/fundamentals/contract-development/rust-dialect" permanent; -rewrite ^/docs/learn/smart-contract-internals/debugging$ "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging" permanent; -rewrite ^/docs/learn/smart-contract-internals/debugging-errors$ "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors" permanent; -rewrite ^/docs/learn/smart-contract-internals/environment-concepts$ "/docs/learn/fundamentals/contract-development/environment-concepts" permanent; -rewrite ^/docs/learn/smart-contract-internals/errors$ "/docs/learn/fundamentals/contract-development/errors-and-debugging/errors" permanent; -rewrite ^/docs/learn/smart-contract-internals/events$ "/docs/learn/fundamentals/contract-development/events" permanent; -rewrite ^/docs/learn/smart-contract-internals/contract-interactions/overview$ "/docs/learn/fundamentals/contract-development/overview" permanent; -rewrite ^/docs/learn/smart-contract-internals/contract-interactions/cross-contract$ "/docs/learn/fundamentals/contract-development/contract-interactions/cross-contract" permanent; -rewrite ^/docs/learn/smart-contract-internals/contract-interactions/tests$ "/docs/learn/fundamentals/contract-development/contract-interactions/tests" permanent; -rewrite ^/docs/learn/smart-contract-internals/contract-interactions/stellar-transaction$ "/docs/learn/fundamentals/contract-development/contract-interactions/stellar-transaction" permanent; -rewrite ^/docs/learn/smart-contract-internals/contract-interactions/transaction-simulation$ "/docs/learn/fundamentals/contract-development/contract-interactions/transaction-simulation" permanent; -rewrite ^/docs/learn/smart-contract-internals/persisting-data$ "/docs/learn/fundamentals/contract-development/storage/persisting-data" permanent; -rewrite ^/docs/learn/smart-contract-internals/state-archival$ "/docs/learn/fundamentals/contract-development/storage/state-archival" permanent; -rewrite ^/docs/learn/encyclopedia/anchors$ "/docs/learn/fundamentals/anchors" permanent; -rewrite ^/docs/learn/encyclopedia/channel-accounts$ "/docs/learn/encyclopedia/transactions-specialized/channel-accounts" permanent; -rewrite ^/docs/learn/encyclopedia/claimable-balances$ "/docs/learn/encyclopedia/transactions-specialized/claimable-balances" permanent; -rewrite ^/docs/learn/encyclopedia/clawbacks$ "/docs/learn/encyclopedia/transactions-specialized/clawbacks" permanent; -rewrite ^/docs/learn/encyclopedia/federation$ "/docs/learn/encyclopedia/network-configuration/federation" permanent; -rewrite ^/docs/learn/encyclopedia/fee-bump-transactions$ "/docs/learn/encyclopedia/transactions-specialized/fee-bump-transactions" permanent; -rewrite ^/docs/learn/encyclopedia/channel-accounts$ "/docs/learn/encyclopedia/transactions-specialized/channel-accounts" permanent; -rewrite ^/docs/learn/encyclopedia/contract-development/fees-and-metering "/docs/learn/fundamentals/fees-resource-limits-metering" permanent; -rewrite ^/docs/learn/encyclopedia/inflation$ "/docs/learn/encyclopedia/network-configuration/inflation" permanent; -rewrite ^/docs/learn/encyclopedia/ledger-headers$ "/docs/learn/encyclopedia/network-configuration/ledger-headers" permanent; -rewrite ^/docs/learn/encyclopedia/liquidity-on-stellar-sdex-liquidity-pools$ "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" permanent; -rewrite ^/docs/learn/encyclopedia/sdex$ "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" permanent; -rewrite ^/docs/learn/encyclopedia/sdex/liquidity-on-stellar-sdex-liquidity-pools$ "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" permanent; -rewrite ^/docs/learn/encyclopedia/lumen-supply-metrics$ "/docs/learn/fundamentals/lumens#lumen-supply-metrics" permanent; -rewrite ^/docs/learn/encyclopedia/memos$ "/docs/learn/encyclopedia/transactions-specialized/memos" permanent; -rewrite ^/docs/learn/encyclopedia/network-passphrases$ "/docs/learn/encyclopedia/network-configuration/network-passphrases" permanent; -rewrite ^/docs/learn/encyclopedia/path-payments$ "/docs/build/guides/transactions/path-payments" permanent; -rewrite ^/docs/learn/encyclopedia/pooled-accounts-muxed-accounts-memos$ "/docs/learn/encyclopedia/transactions-specialized/pooled-accounts-muxed-accounts-memos" permanent; -rewrite ^/docs/learn/encyclopedia/securing-web-based-projects$ "/docs/build/security-docs/securing-web-based-projects" permanent; -rewrite ^/docs/learn/encyclopedia/signatures-multisig$ "/docs/learn/fundamentals/transactions/signatures-multisig" permanent; -rewrite ^/docs/learn/encyclopedia/sponsored-reserves$ "/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves" permanent; -rewrite ^/docs/learn/encyclopedia/xdr$ "/docs/learn/encyclopedia/data-format/xdr" permanent; -rewrite ^/network/core-node(.*)$ "/docs/validators$1" permanent; -rewrite ^/network/hubble/(connecting|optimizing-queries|viewing-metadata)(.*)$ "/docs/data/analytics/hubble/analyst-guide/$1$2" permanent; -rewrite ^/network/hubble(.*)$ "/docs/data/analytics/hubble$1" permanent; -rewrite ^/network/soroban-rpc(.*)$ "/docs/data/apis/rpc$1" permanent; -rewrite ^/network/horizon(.*)$ "/docs/data/apis/horizon$1" permanent; - -# Tokens section -rewrite ^/docs/category/issue-assets$ "/docs/tokens" permanent; -rewrite ^/docs/issuing-assets(.*)$ "/docs/tokens$1" permanent; -rewrite ^/docs/smart-contracts/tokens/wayfinding(.*)$ "/docs/tokens$1" permanent; -rewrite ^/docs/smart-contracts/tokens(.*)$ "/docs/tokens$1" permanent; - -# Build section -rewrite ^/docs/category/basic-tutorials$ "/docs/build/guides/basics" permanent; -rewrite ^/docs/tutorials(.*)$ "/docs/build/guides/basics$1" permanent; -rewrite ^/docs/category/build-applications$ "/docs/build/apps" permanent; -rewrite ^/docs/building-apps(.*)$ "/docs/build/apps$1" permanent; -rewrite ^/docs/smart-contracts$ "/docs/build/smart-contracts/overview" permanent; -rewrite ^/docs/smart-contracts/guides(.*)$ "/docs/build/guides$1" permanent; -rewrite ^/docs/smart-contracts/smart-wallets(.*)$ "/docs/build/guides/contract-accounts$1" permanent; -rewrite ^/docs/build/apps/smart-wallets(.*)$ "/docs/build/guides/contract-accounts$1" permanent; -rewrite ^/docs/smart-contracts/getting-started/create-an-app(.*)$ "/docs/build/apps/dapp-frontend$1" permanent; -rewrite ^/docs/smart-contracts(.*)$ "/docs/build/smart-contracts$1" permanent; -rewrite ^/docs/build/guides/basics/follow-received-payments(.*)$ "/docs/build/guides/transactions/send-and-receive-payments$1" permanent; -rewrite ^/docs/build/guides/transactions/install-wasm-bytecode(.*)$ "/docs/build/guides/transactions/upload-wasm-bytecode$1" permanent; - -# Moving testing docs around -rewrite ^/docs/build/guides/testing/detecting-changes-with-test-snapshots(.*)$ "/docs/build/guides/testing/differential-tests-with-test-snapshots$1" permanent; -rewrite ^/docs/build/guides/testing/integration-tests-with-mainnet-data(.*)$ "/docs/build/guides/testing/fork-testing$1" permanent; - -# Hubble redirects -rewrite ^/docs/data/hubble(.*)$ "/docs/data/analytics/hubble$1" permanent; -rewrite ^/docs/data/hubble/admin-guide(.*)$ "/docs/data/analytics/hubble/developer-guide$1" permanent; -rewrite ^/docs/data/hubble/analytics-platforms(.*)$ "/docs/data/analytics/hubble/analytics-providers$1" permanent; - -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/accounts$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/accounts" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/claimable-balances$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/claimable-balances" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/contract-code$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-code" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/contract-data$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-data" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/liquidity-pools$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/liquidity-pools" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/offers$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/offers" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/trustlines$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/trustlines" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/ttl$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/ttl" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-assets$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-assets" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-contract-events$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-contract-events" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-effects$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-effects" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-ledgers$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-ledgers" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-operations$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-operations" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-trades$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-trades" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/history-transactions$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-transactions" permanent; -rewrite ^/docs/data/analytics/hubble/data-catalog/data-dictionary/enriched-history-operations$ "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations" permanent; - -# RPC redirects -rewrite ^/docs/data/rpc(.*)$ "/docs/data/apis/rpc$1" permanent; -rewrite ^/docs/data/apis/rpc/rpc-providers(.*)$ "/docs/data/apis/rpc/providers$1" permanent; -rewrite ^/docs/data/apis/api-providers(.*)$ "/docs/data/apis/rpc/providers$1" permanent; - -# Horizon redirects -rewrite ^/docs/data/horizon(.*)$ "/docs/data/apis/horizon$1" permanent; -rewrite ^/docs/data/migrate-from-horizon-to-rpc(.*)$ "/docs/data/apis/migrate-from-horizon-to-rpc$1" permanent; -rewrite ^/docs/data/apis/horizon/horizon-providers(.*)$ "/docs/data/apis/horizon/providers$1" permanent; - -# Galexie redirects -rewrite ^/docs/data/galexie(.*)$ "/docs/data/indexers/build-your-own/galexie$1" permanent; - -# Indexer redirects -rewrite ^/docs/data/data-indexers(.*)$ "/docs/data/indexers$1" permanent; - -# Moving tooling docs (https://github.com/stellar/stellar-docs/pull/1444) -rewrite ^/docs/tools/developer-tools/cli(.*)$ "/docs/tools/cli$1" permanent; -rewrite ^/docs/tools/developer-tools/lab(.*)$ "/docs/tools/lab$1" permanent; -rewrite ^/docs/tools/developer-tools/quickstart(.*)$ "/docs/tools/quickstart$1" permanent; -rewrite ^/docs/tools/developer-tools/openzepplin-contracts(.*)$ "/docs/tools/developer-tools/openzeppelin-contracts$1" permanent; -rewrite ^/docs/tools/cli/cookbook/install-(deploy|wasm)(.*)$ "/docs/tools/cli/cookbook/upload-$1$2" permanent; -rewrite ^/docs/build/guides/cli/install-(deploy|wasm)(.*)$ "/docs/tools/cli/cookbook/upload-$1$2" permanent; -rewrite ^/docs/build/guides/cli(.*)$ "/docs/tools/cli/cookbook$1" permanent; - -# MoneyGram -rewrite /docs/build/apps/moneygram-access-integration-guide "https://developer.moneygram.com/moneygram-developer/docs/integrate-moneygram-ramps" permanent; - -# XDR -rewrite ^/docs/learn/encyclopedia/data-format$ "/docs/learn/fundamentals/data-format" permanent; -rewrite ^/docs/learn/encyclopedia/data-format/xdr$ "/docs/learn/fundamentals/data-format/xdr" permanent; -rewrite ^/docs/learn/encyclopedia/data-format/xdr-json$ "/docs/learn/fundamentals/data-format/xdr-json" permanent; - -# Stellar Disbursement Platform -rewrite ^/platforms/stellar-disbursement-platform/admin-guide/anchor-platform-integration-points$ "/docs/platforms/stellar-disbursement-platform/admin-guide" permanent; -rewrite ^/platforms/stellar-disbursement-platform/admin-guide/single-tenant-to-multi-tenant-migration$ "/docs/platforms/stellar-disbursement-platform/admin-guide" permanent; -rewrite ^/platforms/stellar-disbursement-platform/admin-guide/tenant-provisioning$ "/docs/platforms/stellar-disbursement-platform/admin-guide/advanced-configration#provisioning-tenants" permanent; -rewrite ^/platforms/stellar-disbursement-platform/admin-guide/secure-operation-manual$ "/docs/platforms/stellar-disbursement-platform/admin-guide/security" permanent; -rewrite ^/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/wallets$ "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/distribution-accounts" permanent; -# and a blanket "/platforms" redirect -rewrite ^/platforms(.*)$ "/docs/platforms$1" permanent; - -# Moving the contract development section (https://github.com/stellar/stellar-docs/pull/1557) -rewrite ^/docs/learn/encyclopedia/errors-and-debugging(.*)$ "/docs/learn/fundamentals/contract-development/errors-and-debugging$1" permanent; -rewrite ^/docs/learn/encyclopedia/security/authorization(.*)$ "/docs/learn/fundamentals/contract-development/authorization$1" permanent; -rewrite ^/docs/learn/encyclopedia/storage(.*)$ "/docs/learn/fundamentals/contract-development/storage$1" permanent; -rewrite ^/docs/learn/encyclopedia/contract-development(.*)$ "/docs/learn/fundamentals/contract-development$1" permanent; - -# Moving the security section (https://github.com/stellar/stellar-docs/pull/1580) -rewrite ^/docs/learn/encyclopedia/security/signatures-multisig$ "/docs/learn/fundamentals/transactions/signatures-multisig" permanent; -rewrite ^/docs/learn/encyclopedia/security/securing-web-based-projects$ "/docs/build/security-docs/securing-web-based-projects" permanent; -rewrite ^/docs/learn/encyclopedia/security "/docs/learn/fundamentals/transactions/signatures-multisig" permanent; - -# Transactions (specialized) Encyclopedia redirects -rewrite ^/docs/learn/encyclopedia/transactions-specialized/channel-accounts$ "/docs/build/guides/transactions/channel-accounts" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/claimable-balances$ "/docs/build/guides/transactions/claimable-balances" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/clawbacks$ "/docs/build/guides/transactions/clawbacks" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/fee-bump-transactions$ "/docs/build/guides/transactions/fee-bump-transactions" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/memos$ "/docs/learn/fundamentals/transactions/operations-and-transactions#memo" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/path-payments "/docs/build/guides/transactions/path-payments" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/pooled-accounts-muxed-accounts-memos$ "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves$ "/docs/build/guides/transactions/sponsored-reserves" permanent; -rewrite ^/docs/learn/encyclopedia/transactions-specialized$ "/docs/build/guides/transactions" permanent; - -# Move a couple Stellar Basics guides -rewrite ^/docs/build/guides/basics/create-account$ "/docs/build/guides/transactions/create-account" permanent; -rewrite ^/docs/build/guides/basics/send-and-receive-payments$ "/docs/build/guides/transactions/send-and-receive-payments" permanent; - -# Move events -rewrite ^/docs/learn/fundamentals/contract-development/events$ "/docs/learn/fundamentals/stellar-data-structures/events" permanent; - -rewrite ^/docs/learn/encyclopedia$ /docs/learn/fundamentals permanent; - -# x402 moved from build/apps to build/agentic-payments -rewrite ^/docs/build/apps/x402(.*)$ "/docs/build/agentic-payments/x402$1" permanent; - -# Move Building with AI section -rewrite ^/docs/tools/developer-tools/building-with-ai(.*)$ "/docs/build/building-with-ai$1" permanent; - -# Removed OpenZeppelin token example pages (https://github.com/stellar/stellar-docs/issues/2691) -rewrite ^/docs/build/smart-contracts/example-contracts/fungible-token$ "/docs/build/smart-contracts/example-contracts/tokens" permanent; -rewrite ^/docs/build/smart-contracts/example-contracts/non-fungible-token$ "/docs/build/smart-contracts/example-contracts/tokens" permanent; diff --git a/nginx/nginx.conf b/nginx/nginx.conf deleted file mode 100644 index 2700e3007..000000000 --- a/nginx/nginx.conf +++ /dev/null @@ -1,49 +0,0 @@ -events { } - -http { - include mime.types; - - # Serve text responses (notably the raw .md markdown-source copies) with an - # explicit charset; without it browsers fall back to Windows-1252 and render - # UTF-8 punctuation (em dashes, arrows) as mojibake. - charset utf-8; - - server { - root /usr/share/nginx/html; - - listen 80 default_server; - listen [::]:80 default ipv6only=on; - server_name _; - include includes/redirects.conf; - - index index.html; - error_page 404 /404.html; - - location / { - rewrite ^/(.*)/$ /$1 permanent; - try_files $uri $uri.html $uri/index.html =404; - add_header 'Link' '; rel="api-catalog"' always; - } - location /assets/ { - try_files $uri $uri/ =404; - } - location /img/ { - try_files $uri $uri/ =404; - } - location /icons/ { - try_files $uri $uri/ =404; - } - location /index.html { - add_header 'Cache-Control' 'no-store' always; - add_header 'Link' '; rel="api-catalog"' always; - } - location /404.html { - add_header 'Cache-Control' 'no-store' always; - add_header 'Link' '; rel="api-catalog"' always; - } - # RFC 9727 — extension-less file, advertise correct content type - location = /.well-known/api-catalog { - types { } default_type application/linkset+json; - } - } -} diff --git a/openapi/horizon/bundled.yml b/openapi/horizon/bundled.yml index 4691e9def..18ed28ff0 100644 --- a/openapi/horizon/bundled.yml +++ b/openapi/horizon/bundled.yml @@ -19,7 +19,6 @@ info: license: name: Apache 2.0 identifier: Apache-2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://horizon-testnet.stellar.org description: The Testnet Network @@ -1574,6 +1573,9 @@ components: in: query required: false description: An issued asset represented as “Code:IssuerAccountID”. Every account in the response will have a trustline for the given asset. + schema: + type: string + example: USD:GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX SignerParam: name: signer in: query @@ -1587,6 +1589,9 @@ components: in: query required: false description: With this parameter, the results will include only accounts which have trustlines to the specified liquidity pool. + schema: + type: string + example: 33f3c53f53e6d1f1f13d7f9d9b58c2cb5c7e0b0a4d1d3c5b2a6f7e8d9c0b1a2f CursorParam: name: cursor in: query @@ -1636,6 +1641,10 @@ components: in: query required: false description: Set to transactions to include the transactions which created each of the operations in the response. + schema: + type: string + enum: + - transactions DataParam: name: key in: path @@ -1649,16 +1658,25 @@ components: in: query required: false description: The code of the asset you would like to filter by. + schema: + type: string + example: USD AssetIssuerParam: name: asset_issuer in: query required: false description: The Stellar address of the issuer for the asset you would like to filter by. + schema: + type: string + example: GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX ClaimantParam: name: claimant in: query required: false description: Account ID of the destination address. Only include claimable balances which can be claimed by the given account ID. + schema: + type: string + example: GDMQQNJM4UL7QIA66P7R2PZHMQINWZBM77BEBMHLFXD5JEUAHGJ7R4JZ ClaimableBalanceIdParam: name: claimable_balance_id in: path @@ -1679,21 +1697,33 @@ components: in: query required: false description: Comma-separated list of assets in canonical form (Code:IssuerAccountID), to only include liquidity pools which have reserves matching all listed assets. + schema: + type: string + example: USD:GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX,EUR:GAV7W5X4M7FQJ2OAPJVRX5ZQ3D5XJXHFGQ2G6UTW7C6H5N7WJQ4V6Z3R AccountParam: name: account in: query required: false description: A Stellar account ID, to only include liquidity pools in which this account is participating in (i.e. holds pool shares to). + schema: + type: string + example: GDMQQNJM4UL7QIA66P7R2PZHMQINWZBM77BEBMHLFXD5JEUAHGJ7R4JZ LiquidityPoolParamId: name: liquidity_pool_id in: path required: true description: A unique identifier for this liquidity pool. + schema: + type: string + example: 33f3c53f53e6d1f1f13d7f9d9b58c2cb5c7e0b0a4d1d3c5b2a6f7e8d9c0b1a2f SellerParam: name: seller in: query required: false description: The account ID of the offer creator. + schema: + type: string + example: GDMQQNJM4UL7QIA66P7R2PZHMQINWZBM77BEBMHLFXD5JEUAHGJ7R4JZ SellingAssetTypeParam: name: selling_asset_type in: query @@ -1753,6 +1783,9 @@ components: in: path required: true description: A unique identifier for this offer. + schema: + type: string + example: '123456789' IdParam: name: id in: path @@ -1986,6 +2019,9 @@ components: in: query required: false description: The offer ID. Used to filter for trades originating from a specific offer. + schema: + type: string + example: '123456789' BaseAssetTypeParam: name: base_asset_type in: query diff --git a/openapi/horizon/components/parameters.yml b/openapi/horizon/components/parameters.yml index 9fd963db9..992d5a75c 100644 --- a/openapi/horizon/components/parameters.yml +++ b/openapi/horizon/components/parameters.yml @@ -5,6 +5,9 @@ components: in: query required: false description: "A Stellar account ID, to only include liquidity pools in which this account is participating in (i.e. holds pool shares to)." + schema: + type: string + example: GDMQQNJM4UL7QIA66P7R2PZHMQINWZBM77BEBMHLFXD5JEUAHGJ7R4JZ AccountIDParam: name: account_id in: path @@ -18,16 +21,25 @@ components: in: query required: false description: The code of the asset you would like to filter by. + schema: + type: string + example: USD AssetIssuerParam: name: asset_issuer in: query required: false description: The Stellar address of the issuer for the asset you would like to filter by. + schema: + type: string + example: GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX AssetParam: name: asset in: query required: false description: An issued asset represented as “Code:IssuerAccountID”. Every account in the response will have a trustline for the given asset. + schema: + type: string + example: USD:GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX BaseAssetCodeParam: name: base_asset_code in: query @@ -105,6 +117,9 @@ components: in: query required: false description: Account ID of the destination address. Only include claimable balances which can be claimed by the given account ID. + schema: + type: string + example: GDMQQNJM4UL7QIA66P7R2PZHMQINWZBM77BEBMHLFXD5JEUAHGJ7R4JZ CounterAssetCodeParam: name: counter_asset_code in: query @@ -249,6 +264,10 @@ components: in: query required: false description: Set to transactions to include the transactions which created each of the operations in the response. + schema: + type: string + enum: + - transactions LimitParam: name: limit in: query @@ -270,21 +289,33 @@ components: in: query required: false description: With this parameter, the results will include only accounts which have trustlines to the specified liquidity pool. + schema: + type: string + example: 33f3c53f53e6d1f1f13d7f9d9b58c2cb5c7e0b0a4d1d3c5b2a6f7e8d9c0b1a2f LiquidityPoolParamId: name: liquidity_pool_id in: path required: true description: A unique identifier for this liquidity pool. + schema: + type: string + example: 33f3c53f53e6d1f1f13d7f9d9b58c2cb5c7e0b0a4d1d3c5b2a6f7e8d9c0b1a2f OfferIdParam: name: offer_id in: query required: false description: The offer ID. Used to filter for trades originating from a specific offer. + schema: + type: string + example: "123456789" OfferIDParam: name: offer_id in: path required: true description: A unique identifier for this offer. + schema: + type: string + example: "123456789" OffsetParam: name: offset in: query @@ -308,6 +339,9 @@ components: in: query required: false description: Comma-separated list of assets in canonical form (Code:IssuerAccountID), to only include liquidity pools which have reserves matching all listed assets. + schema: + type: string + example: USD:GDUKMGUGDZQK6YHYA5Z6AY2G4XDSZPSZ3SW5UN3ARVMO6QSRDWP5YLEX,EUR:GAV7W5X4M7FQJ2OAPJVRX5ZQ3D5XJXHFGQ2G6UTW7C6H5N7WJQ4V6Z3R ResolutionParam: name: resolution in: query @@ -334,6 +368,9 @@ components: in: query required: false description: The account ID of the offer creator. + schema: + type: string + example: GDMQQNJM4UL7QIA66P7R2PZHMQINWZBM77BEBMHLFXD5JEUAHGJ7R4JZ SellingAssetCodeParam: name: selling_asset_code in: query diff --git a/openapi/horizon/main.yml b/openapi/horizon/main.yml index 259003464..410cd67bf 100644 --- a/openapi/horizon/main.yml +++ b/openapi/horizon/main.yml @@ -19,7 +19,6 @@ info: license: name: Apache 2.0 identifier: Apache-2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://horizon-testnet.stellar.org description: The Testnet Network diff --git a/openrpc/scripts/build.mjs b/openrpc/scripts/build.mjs index ce6bc68e6..dc5d884c7 100644 --- a/openrpc/scripts/build.mjs +++ b/openrpc/scripts/build.mjs @@ -128,7 +128,7 @@ async function buildSpecFile(serviceName) { let data = JSON.stringify(spec, null, 2); fs.writeFileSync(`openrpc/${serviceName}.openrpc.json`, data); - fs.writeFileSync(`${services[serviceName].saveDir ?? 'static'}/${serviceName}.openrpc.json`, data); + fs.writeFileSync(`${services[serviceName].saveDir ?? '.'}/${serviceName}.openrpc.json`, data); console.log(`Built ${serviceName} specfile successfully.`); } diff --git a/os-tab-sync.js b/os-tab-sync.js new file mode 100644 index 000000000..4a93586f5 --- /dev/null +++ b/os-tab-sync.js @@ -0,0 +1,190 @@ + +(function () { + "use strict"; + + if (typeof window === "undefined" || typeof document === "undefined") return; + + var SESSION_OVERRIDE_KEY = "osTabSync:userChose"; + var GROUP_DONE_ATTR = "data-os-tab-defaulted"; + + // Ordered patterns per OS category. Within a category, earlier patterns win, + // so a Windows visitor prefers a "PowerShell" tab over a generic "Windows" + // one only where that ordering is intended — tweak freely. + var OS_LABEL_PATTERNS = { + windows: [/power\s*shell/i, /windows/i, /\bwin(32|64|dows)?\b/i, /\bwsl\b/i], + mac: [/mac\s*os/i, /\bmac\b/i, /os\s*x|osx/i, /darwin/i, /\bzsh\b/i], + linux: [/linux/i, /ubuntu|debian|fedora|arch/i, /\bbash\b/i, /x11/i], + }; + + // Detect the visitor's OS category from UA-CH (preferred) or the UA string. + function detectOS() { + var platform = ""; + try { + if (navigator.userAgentData && navigator.userAgentData.platform) { + platform = navigator.userAgentData.platform; + } + } catch (e) { + /* UA-CH not available — fall through to UA string */ + } + var haystack = ( + platform + + " " + + (navigator.platform || "") + + " " + + (navigator.userAgent || "") + ).toLowerCase(); + + // Order matters: iOS/iPadOS report "like Mac OS X", so check Windows first, + // then Mac, then Linux. Mobile is intentionally treated loosely. + if (/windows|win32|win64|\bwin\b/.test(haystack)) return "windows"; + if (/mac|iphone|ipad|ipod|darwin/.test(haystack)) return "mac"; + if (/linux|x11|cros|android/.test(haystack)) return "linux"; + return null; + } + + function labelOf(tab) { + return (tab.textContent || "").trim(); + } + + // Which OS category does a tab label belong to? Returns the first matching + // category (object key order: windows, mac, linux). Combined labels like + // "macOS/Linux" resolve to the first category that matches (mac). + function categoryOfLabel(label) { + for (var cat in OS_LABEL_PATTERNS) { + if (!Object.prototype.hasOwnProperty.call(OS_LABEL_PATTERNS, cat)) + continue; + var patterns = OS_LABEL_PATTERNS[cat]; + for (var i = 0; i < patterns.length; i++) { + if (patterns[i].test(label)) return cat; + } + } + return null; + } + + // Find the best-matching tab in a group for an OS category, honoring the + // intra-category priority order. + function pickTabForCategory(tabs, category) { + var patterns = OS_LABEL_PATTERNS[category]; + if (!patterns) return null; + for (var p = 0; p < patterns.length; p++) { + for (var t = 0; t < tabs.length; t++) { + if (patterns[p].test(labelOf(tabs[t]))) return tabs[t]; + } + } + return null; + } + + function tabsInGroup(tablist) { + return Array.prototype.slice.call( + tablist.querySelectorAll('[role="tab"]') + ); + } + + function isSelected(tab) { + return tab.getAttribute("aria-selected") === "true"; + } + + var programmaticClick = false; + function selectTab(tab) { + if (!tab || isSelected(tab)) return; + programmaticClick = true; + try { + tab.click(); // real click -> Mintlify's own onClick (sync + persist) runs + } finally { + programmaticClick = false; + } + } + + function userHasOverridden() { + try { + return sessionStorage.getItem(SESSION_OVERRIDE_KEY) === "1"; + } catch (e) { + return false; + } + } + + function markUserOverride() { + try { + sessionStorage.setItem(SESSION_OVERRIDE_KEY, "1"); + } catch (e) { + /* storage blocked — in-memory flag below still protects this page */ + } + } + + // Apply the OS default to any tab groups we have not touched yet. + function applyOsDefaults(os) { + if (!os || userHasOverridden()) return; + // A deep link to a specific tab/section should win over the OS default. + if (window.location.hash && window.location.hash.length > 1) return; + + var tablists = document.querySelectorAll('[role="tablist"]'); + for (var i = 0; i < tablists.length; i++) { + var tablist = tablists[i]; + if (tablist.getAttribute(GROUP_DONE_ATTR) === "1") continue; + var tabs = tabsInGroup(tablist); + if (!tabs.length) continue; + var target = pickTabForCategory(tabs, os); + tablist.setAttribute(GROUP_DONE_ATTR, "1"); // mark regardless of match + if (target) selectTab(target); + } + } + + // Cross-group sync by OS category (looser than Mintlify's exact-label sync). + function syncByCategory(sourceTab) { + var category = categoryOfLabel(labelOf(sourceTab)); + if (!category) return; + var tablists = document.querySelectorAll('[role="tablist"]'); + for (var i = 0; i < tablists.length; i++) { + var tabs = tabsInGroup(tablists[i]); + if (tabs.indexOf(sourceTab) !== -1) continue; // skip the source group + var match = pickTabForCategory(tabs, category); + if (match) selectTab(match); + } + } + + // One delegated listener handles manual clicks for both features. + document.addEventListener( + "click", + function (event) { + var tab = event.target && event.target.closest + ? event.target.closest('[role="tab"]') + : null; + if (!tab) return; + + if (programmaticClick) return; // ignore clicks we dispatched ourselves + + // Genuine user interaction: stop auto-defaulting and propagate by category. + markUserOverride(); + // Let Mintlify's own handler run first, then widen the sync by category. + window.setTimeout(function () { + syncByCategory(tab); + }, 0); + }, + true + ); + + var detectedOS = detectOS(); + + function run() { + applyOsDefaults(detectedOS); + } + + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", run); + } else { + run(); + } + + // Mintlify is a single-page app: route changes swap in without a full + // reload. Watch for newly mounted tab groups and default them too (until the + // user overrides). + var observer = new MutationObserver(function () { + if (userHasOverridden() || !detectedOS) return; + if (window.location.hash && window.location.hash.length > 1) return; + applyOsDefaults(detectedOS); + }); + observer.observe(document.documentElement, { + childList: true, + subtree: true, + }); +})(); diff --git a/package.json b/package.json index 98941a980..0aff134dd 100644 --- a/package.json +++ b/package.json @@ -3,31 +3,22 @@ "version": "0.0.0", "private": true, "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "postbuild": "node scripts/generate_api_markdown.mjs && node scripts/rewrite_md_code_examples.mjs && node scripts/rewrite_md_titles.mjs && node scripts/rewrite_md_links.mjs && node scripts/rewrite_md_admonitions.mjs", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "api:clean": "docusaurus clean-api-docs all", + "start": "mint dev", + "validate": "mint validate", + "check:links": "mint broken-links --check-anchors --check-redirects --check-snippets", + "check:a11y": "mint a11y", + "check": "pnpm check:mdx && pnpm check:pad && pnpm validate", "api:bundle": "pnpm bundle-horizon && pnpm bundle-anchor-platform && pnpm bundle-stellar-disbursement-platform", - "bundle-horizon": "redocly bundle horizon --output openapi/horizon/bundled.yml", "bundle-anchor-platform": "redocly bundle ap-platform --output openapi/anchor-platform/bundled-platform.yaml && redocly bundle ap-callbacks --output openapi/anchor-platform/bundled-callbacks.yaml", + "bundle-horizon": "redocly bundle horizon --output openapi/horizon/bundled.yml", "bundle-stellar-disbursement-platform": "redocly bundle stellar-disbursement-platform --output openapi/stellar-disbursement-platform/bundled.yaml", - "api:gen": "docusaurus gen-api-docs all", - "api": "pnpm api:clean && pnpm api:bundle && pnpm api:gen", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "format:mdx": "prettier --config .prettierrc.js --write \"{docs,src/pages,meetings}/**/*.{md,mdx}\"", - "ci-format:mdx": "prettier --config .prettierrc.js --write --log-level silent \"{docs,src/pages,meetings}/**/*.{md,mdx}\"", - "check:mdx": "prettier --config .prettierrc.js -c \"{docs,src/pages,meetings}/**/*.{md,mdx}\"", - "check:links": "scripts/check-relative-links.sh --range", - "ci:mdx": "prettier --config .prettierrc.js \"{docs,src/pages,meetings}/**/*.{md,mdx}\" -l --no-editorconfig", + "check:mdx": "prettier --config .prettierrc.js -c \"{docs,meetings,snippets}/**/*.{md,mdx}\"", + "ci-format:mdx": "prettier --config .prettierrc.js --write --log-level silent \"{docs,meetings,snippets}/**/*.{md,mdx}\"", + "ci:mdx": "prettier --config .prettierrc.js \"{docs,meetings,snippets}/**/*.{md,mdx}\" -l --no-editorconfig", "diff:mdx": "pnpm ci-format:mdx && git diff -- . ':(exclude)package-lock.json' ':(exclude)package.json' ':(exclude)yarn.lock' ':(exclude)pnpm-lock.yaml' | awk \"/diff --git/ {found=1} found {print}\"", - "lint:fix": "eslint \"src/**/*.{js,jsx,ts,tsx}\" --fix", - "lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\"", + "pad:mdx": "node scripts/pad-component-tags.mjs $(git ls-files 'docs/*.md*' 'meetings/*.md*' 'snippets/*.md*')", + "check:pad": "node scripts/pad-component-tags.mjs --check $(git ls-files 'docs/*.md*' 'meetings/*.md*' 'snippets/*.md*')", + "format:mdx": "pnpm pad:mdx && prettier --config .prettierrc.js --write \"{docs,meetings,snippets}/**/*.{md,mdx}\"", "prepare": "husky", "rpcspec:build": "node openrpc/scripts/build.mjs", "rpcspec:validate": "node openrpc/scripts/build.mjs && node openrpc/scripts/validate.mjs", @@ -35,63 +26,18 @@ "stellar-cli:fix-links": "./scripts/fix_cli_links.sh" }, "dependencies": { - "@docusaurus/core": "3.10.1", - "@docusaurus/faster": "3.10.1", - "@docusaurus/plugin-content-docs": "3.10.1", - "@docusaurus/preset-classic": "3.10.1", - "@docusaurus/remark-plugin-npm2yarn": "3.10.1", - "@docusaurus/theme-common": "3.10.1", - "@docusaurus/theme-mermaid": "3.10.1", "@json-schema-tools/reference-resolver": "1.2.6", - "@mdx-js/react": "3.1.1", - "@open-rpc/meta-schema": "^1.14.9", "@open-rpc/schema-utils-js": "^2.2.1", - "@stellar/open-rpc-docs-react": "^0.2.1", - "ajv": "^8.20.0", - "clsx": "^2.1.1", - "docusaurus-markdown-source-plugin": "^2.2.4", - "docusaurus-plugin-openapi-docs": "5.1.0", - "docusaurus-plugin-sass": "^0.2.6", - "docusaurus-plugin-sentry": "^2.1.0", - "docusaurus-theme-openapi-docs": "5.1.0", "fs-extra": "^11.3.6", - "prism-react-renderer": "^2.4.1", - "react": "^19.2.7", - "react-dom": "^19.2.7", - "rehype-katex": "^7.0.1", - "remark-math": "^6.0.0", - "sass": "^1.101.0", "json-schema-merge-allof": "^0.8.1", "yargs": "^18.0.0" }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, "devDependencies": { - "@docusaurus/eslint-plugin": "3.10.1", - "@docusaurus/module-type-aliases": "3.10.1", - "@docusaurus/tsconfig": "3.10.1", - "@docusaurus/types": "3.10.1", - "@eslint/eslintrc": "^3.3.5", - "@eslint/js": "^10.0.1", "@redocly/cli": "^2.38.0", "@stellar/prettier-config": "^1.2.0", - "@types/react": "^19.2.17", - "docusaurus-plugin-llms": "^0.4.0", - "eslint": "^10.6.0", - "glob": "^13.0.6", "husky": "^9.1.7", - "prettier": "^3.9.4", - "typescript": "^6.0.3" + "mint": "^4.2.1062", + "prettier": "^3.9.4" }, "engines": { "node": ">=24" diff --git a/patches/@stoplight__json-schema-viewer.patch b/patches/@stoplight__json-schema-viewer.patch deleted file mode 100644 index 7dd274d28..000000000 --- a/patches/@stoplight__json-schema-viewer.patch +++ /dev/null @@ -1,124 +0,0 @@ -diff --git a/index.esm.js b/index.esm.js -index 26cb6e0a5a4141e6438e165a8ef602709c29b39a..caaf68b31ce233fe38f47b46b76bb2b50f968ea5 100644 ---- a/index.esm.js -+++ b/index.esm.js -@@ -2,8 +2,8 @@ import { isRegularNode, SchemaNodeKind, isReferenceNode, isRootNode, isBooleanis - import { Box, HStack, Flex, Icon, Text, Link, Tooltip, NodeAnnotation, VStack, Select, Menu, Pressable, Provider } from '@stoplight/mosaic'; - import { withErrorBoundary } from '@stoplight/react-error-boundary'; - import cn from 'classnames'; --import { atom, useAtom, Provider as Provider$1 } from 'jotai'; --import { atomFamily, useUpdateAtom, useAtomValue } from 'jotai/utils'; -+import { atom, useAtom, Provider as Provider$1, useAtomValue, useSetAtom } from 'jotai'; -+import { atomFamily } from 'jotai/utils'; - import * as React from 'react'; - import { useState, useEffect } from 'react'; - import { isPlainObject, getLastPathSegment, extractPointerFromRef, pointerToPath } from '@stoplight/json'; -@@ -706,7 +706,7 @@ const shouldShowChildSelector = (schemaNode) => { var _a, _b; return isNonEmptyP - const SchemaRow = React.memo(({ schemaNode, nestingLevel, pl, parentNodeId, parentChangeType }) => { - var _a, _b, _c; - const { defaultExpandedDepth, renderRowAddon, renderExtensionAddon, onGoToRef, hideExamples, renderRootTreeLines, nodeHasChanged, viewMode, } = useJSVOptionsContext(); -- const setHoveredNode = useUpdateAtom(hoveredNodeAtom); -+ const setHoveredNode = useSetAtom(hoveredNodeAtom); - const nodeId = getNodeId(schemaNode, parentNodeId); - const originalNodeId = ((_a = schemaNode.originalFragment) === null || _a === void 0 ? void 0 : _a.$ref) ? getOriginalNodeId(schemaNode, parentNodeId) : nodeId; - const mode = viewMode === 'standalone' ? undefined : viewMode; -@@ -876,7 +876,7 @@ const TopLevelSchemaRow = ({ schemaNode, skipDescription, }) => { - function ScrollCheck() { - const elementRef = React.useRef(null); - const isOnScreen = useIsOnScreen(elementRef); -- const setShowPathCrumbs = useUpdateAtom(showPathCrumbsAtom); -+ const setShowPathCrumbs = useSetAtom(showPathCrumbsAtom); - React.useEffect(() => { - setShowPathCrumbs(!isOnScreen); - }, [isOnScreen, setShowPathCrumbs]); -@@ -916,7 +916,7 @@ const JsonSchemaViewerComponent = (_a) => { - React.createElement(JsonSchemaViewerInner, Object.assign({ viewMode: viewMode, skipTopLevelDescription: skipTopLevelDescription }, rest)))))); - }; - const JsonSchemaViewerInner = ({ schema, viewMode, className, resolveRef, maxRefDepth, emptyText = 'No schema defined', onTreePopulated, maxHeight, parentCrumbs, skipTopLevelDescription, }) => { -- const setHoveredNode = useUpdateAtom(hoveredNodeAtom); -+ const setHoveredNode = useSetAtom(hoveredNodeAtom); - const onMouseLeave = React.useCallback(() => { - setHoveredNode(null); - }, [setHoveredNode]); -diff --git a/index.js b/index.js -index 55fcf60910660b14c8902e36bf1561005abf9d74..60799c7a8b9aa65feddb15c924771938b8a1e3b6 100644 ---- a/index.js -+++ b/index.js -@@ -727,7 +727,7 @@ const shouldShowChildSelector = (schemaNode) => { var _a, _b; return isNonEmptyP - const SchemaRow = React__namespace.memo(({ schemaNode, nestingLevel, pl, parentNodeId, parentChangeType }) => { - var _a, _b, _c; - const { defaultExpandedDepth, renderRowAddon, renderExtensionAddon, onGoToRef, hideExamples, renderRootTreeLines, nodeHasChanged, viewMode, } = useJSVOptionsContext(); -- const setHoveredNode = utils.useUpdateAtom(hoveredNodeAtom); -+ const setHoveredNode = jotai.useSetAtom(hoveredNodeAtom); - const nodeId = getNodeId(schemaNode, parentNodeId); - const originalNodeId = ((_a = schemaNode.originalFragment) === null || _a === void 0 ? void 0 : _a.$ref) ? getOriginalNodeId(schemaNode, parentNodeId) : nodeId; - const mode = viewMode === 'standalone' ? undefined : viewMode; -@@ -797,7 +797,7 @@ const SchemaRow = React__namespace.memo(({ schemaNode, nestingLevel, pl, parentN - isCollapsible && isExpanded ? (React__namespace.createElement(ChildStack, { schemaNode: schemaNode, childNodes: childNodes, currentNestingLevel: nestingLevel, parentNodeId: nodeId, parentChangeType: parentChangeType ? parentChangeType : hasChanged ? hasChanged === null || hasChanged === void 0 ? void 0 : hasChanged.type : undefined })) : null)); - }); - const Divider = ({ atom }) => { -- const isHovering = utils.useAtomValue(atom); -+ const isHovering = jotai.useAtomValue(atom); - return React__namespace.createElement(mosaic.Box, { bg: isHovering ? 'canvas-200' : undefined, h: "px", flex: 1, mx: 3 }); - }; - function shouldShowPropertyName(schemaNode) { -@@ -897,7 +897,7 @@ const TopLevelSchemaRow = ({ schemaNode, skipDescription, }) => { - function ScrollCheck() { - const elementRef = React__namespace.useRef(null); - const isOnScreen = useIsOnScreen(elementRef); -- const setShowPathCrumbs = utils.useUpdateAtom(showPathCrumbsAtom); -+ const setShowPathCrumbs = jotai.useSetAtom(showPathCrumbsAtom); - React__namespace.useEffect(() => { - setShowPathCrumbs(!isOnScreen); - }, [isOnScreen, setShowPathCrumbs]); -@@ -937,7 +937,7 @@ const JsonSchemaViewerComponent = (_a) => { - React__namespace.createElement(JsonSchemaViewerInner, Object.assign({ viewMode: viewMode, skipTopLevelDescription: skipTopLevelDescription }, rest)))))); - }; - const JsonSchemaViewerInner = ({ schema, viewMode, className, resolveRef, maxRefDepth, emptyText = 'No schema defined', onTreePopulated, maxHeight, parentCrumbs, skipTopLevelDescription, }) => { -- const setHoveredNode = utils.useUpdateAtom(hoveredNodeAtom); -+ const setHoveredNode = jotai.useSetAtom(hoveredNodeAtom); - const onMouseLeave = React__namespace.useCallback(() => { - setHoveredNode(null); - }, [setHoveredNode]); -diff --git a/index.mjs b/index.mjs -index 26cb6e0a5a4141e6438e165a8ef602709c29b39a..caaf68b31ce233fe38f47b46b76bb2b50f968ea5 100644 ---- a/index.mjs -+++ b/index.mjs -@@ -2,8 +2,8 @@ import { isRegularNode, SchemaNodeKind, isReferenceNode, isRootNode, isBooleanis - import { Box, HStack, Flex, Icon, Text, Link, Tooltip, NodeAnnotation, VStack, Select, Menu, Pressable, Provider } from '@stoplight/mosaic'; - import { withErrorBoundary } from '@stoplight/react-error-boundary'; - import cn from 'classnames'; --import { atom, useAtom, Provider as Provider$1 } from 'jotai'; --import { atomFamily, useUpdateAtom, useAtomValue } from 'jotai/utils'; -+import { atom, useAtom, Provider as Provider$1, useAtomValue, useSetAtom } from 'jotai'; -+import { atomFamily } from 'jotai/utils'; - import * as React from 'react'; - import { useState, useEffect } from 'react'; - import { isPlainObject, getLastPathSegment, extractPointerFromRef, pointerToPath } from '@stoplight/json'; -@@ -706,7 +706,7 @@ const shouldShowChildSelector = (schemaNode) => { var _a, _b; return isNonEmptyP - const SchemaRow = React.memo(({ schemaNode, nestingLevel, pl, parentNodeId, parentChangeType }) => { - var _a, _b, _c; - const { defaultExpandedDepth, renderRowAddon, renderExtensionAddon, onGoToRef, hideExamples, renderRootTreeLines, nodeHasChanged, viewMode, } = useJSVOptionsContext(); -- const setHoveredNode = useUpdateAtom(hoveredNodeAtom); -+ const setHoveredNode = useSetAtom(hoveredNodeAtom); - const nodeId = getNodeId(schemaNode, parentNodeId); - const originalNodeId = ((_a = schemaNode.originalFragment) === null || _a === void 0 ? void 0 : _a.$ref) ? getOriginalNodeId(schemaNode, parentNodeId) : nodeId; - const mode = viewMode === 'standalone' ? undefined : viewMode; -@@ -876,7 +876,7 @@ const TopLevelSchemaRow = ({ schemaNode, skipDescription, }) => { - function ScrollCheck() { - const elementRef = React.useRef(null); - const isOnScreen = useIsOnScreen(elementRef); -- const setShowPathCrumbs = useUpdateAtom(showPathCrumbsAtom); -+ const setShowPathCrumbs = useSetAtom(showPathCrumbsAtom); - React.useEffect(() => { - setShowPathCrumbs(!isOnScreen); - }, [isOnScreen, setShowPathCrumbs]); -@@ -916,7 +916,7 @@ const JsonSchemaViewerComponent = (_a) => { - React.createElement(JsonSchemaViewerInner, Object.assign({ viewMode: viewMode, skipTopLevelDescription: skipTopLevelDescription }, rest)))))); - }; - const JsonSchemaViewerInner = ({ schema, viewMode, className, resolveRef, maxRefDepth, emptyText = 'No schema defined', onTreePopulated, maxHeight, parentCrumbs, skipTopLevelDescription, }) => { -- const setHoveredNode = useUpdateAtom(hoveredNodeAtom); -+ const setHoveredNode = useSetAtom(hoveredNodeAtom); - const onMouseLeave = React.useCallback(() => { - setHoveredNode(null); - }, [setHoveredNode]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3ec49a24..e4af7964c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,16831 +4,7269 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -patchedDependencies: - '@stoplight/json-schema-viewer@4.16.4': 5a7a1068966aaefd9a8a44d9974257213a8072c19733ed2785768c81e87b32c2 - importers: .: dependencies: - '@docusaurus/core': - specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/faster': - specifier: 3.10.1 - version: 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15) - '@docusaurus/plugin-content-docs': - specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/preset-classic': - specifier: 3.10.1 - version: 3.10.1(@algolia/client-search@5.53.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/react@19.2.17)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(search-insights@2.17.3)(typescript@6.0.3) - '@docusaurus/remark-plugin-npm2yarn': - specifier: 3.10.1 - version: 3.10.1 - '@docusaurus/theme-common': - specifier: 3.10.1 - version: 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/theme-mermaid': - specifier: 3.10.1 - version: 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) '@json-schema-tools/reference-resolver': specifier: 1.2.6 version: 1.2.6 - '@mdx-js/react': - specifier: 3.1.1 - version: 3.1.1(@types/react@19.2.17)(react@19.2.7) - '@open-rpc/meta-schema': - specifier: ^1.14.9 - version: 1.14.9 '@open-rpc/schema-utils-js': specifier: ^2.2.1 version: 2.2.1 - '@stellar/open-rpc-docs-react': - specifier: ^0.2.1 - version: 0.2.1(@babel/core@7.29.7)(@babel/template@7.29.7)(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.17)(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3))(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ajv: - specifier: ^8.20.0 - version: 8.20.0 - clsx: - specifier: ^2.1.1 - version: 2.1.1 - docusaurus-markdown-source-plugin: - specifier: ^2.2.4 - version: 2.2.5(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - docusaurus-plugin-openapi-docs: - specifier: 5.1.0 - version: 5.1.0(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@docusaurus/utils-validation@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@docusaurus/utils@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/json-schema@7.0.15)(react@19.2.7) - docusaurus-plugin-sass: - specifier: ^0.2.6 - version: 0.2.6(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(sass@1.101.0)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - docusaurus-plugin-sentry: - specifier: ^2.1.0 - version: 2.1.0(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - docusaurus-theme-openapi-docs: - specifier: 5.1.0 - version: 5.1.0(722036656f7e1999e1a6989345bc7722) fs-extra: specifier: ^11.3.6 version: 11.3.6 json-schema-merge-allof: specifier: ^0.8.1 version: 0.8.1 - prism-react-renderer: - specifier: ^2.4.1 - version: 2.4.1(react@19.2.7) - react: - specifier: ^19.2.7 - version: 19.2.7 - react-dom: - specifier: ^19.2.7 - version: 19.2.7(react@19.2.7) - rehype-katex: - specifier: ^7.0.1 - version: 7.0.1 - remark-math: - specifier: ^6.0.0 - version: 6.0.0 - sass: - specifier: ^1.101.0 - version: 1.101.0 yargs: specifier: ^18.0.0 version: 18.0.0 devDependencies: - '@docusaurus/eslint-plugin': - specifier: 3.10.1 - version: 3.10.1(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - '@docusaurus/module-type-aliases': - specifier: 3.10.1 - version: 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/tsconfig': - specifier: 3.10.1 - version: 3.10.1 - '@docusaurus/types': - specifier: 3.10.1 - version: 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@eslint/eslintrc': - specifier: ^3.3.5 - version: 3.3.5 - '@eslint/js': - specifier: ^10.0.1 - version: 10.0.1(eslint@10.6.0(jiti@1.21.7)) '@redocly/cli': specifier: ^2.38.0 version: 2.38.0 '@stellar/prettier-config': specifier: ^1.2.0 version: 1.2.0(prettier@3.9.4) - '@types/react': - specifier: ^19.2.17 - version: 19.2.17 - docusaurus-plugin-llms: - specifier: ^0.4.0 - version: 0.4.0(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)) - eslint: - specifier: ^10.6.0 - version: 10.6.0(jiti@1.21.7) - glob: - specifier: ^13.0.6 - version: 13.0.6 husky: specifier: ^9.1.7 version: 9.1.7 + mint: + specifier: ^4.2.1062 + version: 4.2.1062(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/node@26.6.5)(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3) prettier: specifier: ^3.9.4 version: 3.9.4 - typescript: - specifier: ^6.0.3 - version: 6.0.3 packages: - '@adobe/react-spectrum-ui@1.2.1': - resolution: {integrity: sha512-wcrbEE2O/9WnEn6avBnaVRRx88S5PLFsPLr4wffzlbMfXeQsy+RMQwaJd3cbzrn18/j04Isit7f7Emfn0dhrJA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@alcalzone/ansi-tokenize@0.2.5': + resolution: {integrity: sha512-3NX/MpTdroi0aKz134A6RC2Gb2iXVECN4QaAXnvCIxxIm3C3AVB1mkUe8NaaiyvOpDfsrqWhYtj+Q6a62RrTsw==} + engines: {node: '>=18'} - '@adobe/react-spectrum-workflow@2.3.5': - resolution: {integrity: sha512-b53VIPwPWKb/T5gzE3qs+QlGP5gVrw/LnWV3xMksDU+CRl3rzOKUwxIGiZO8ICyYh1WiyqY4myGlPU/nAynBUg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@alloc/quick-lru@5.3.0': + resolution: {integrity: sha512-U4+70Pc5ZS9osnCBCE5Jha/ciHM+Yp+CNMNC/7HvYbNRk1Ldd+f7qO65W5qfhu/TCv+/ozljlXXe9Nj8419DMA==} + engines: {node: '>=10'} - '@adobe/react-spectrum@3.47.1': - resolution: {integrity: sha512-mijNyd8XmA6KoBMbqKc4Rp+S2voKdZkPydJFjQbG0SkOjOKcgqVpJdKGsKdLMZBn9Jk5SgEuklyrhc7Uvot2tA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@ark/schema@0.56.7': + resolution: {integrity: sha512-jmoOJlYIc4k1uv8oYBDNOFnAsKk2a2D9t/D6npF2JUfW4ecPB0v6ce6lruKg7lkBxIBA8Z7UtxfmvephYbhUGQ==} - '@adobe/react-spectrum@3.47.3': - resolution: {integrity: sha512-tWZG59+xTbXIqeZB4uyuo2qljk3nRK66IkdBmMgbl2p6peApkKbrtJ/YOM8rW4gemdmv7qoJlbIHvy8aJkYsCQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@ark/util@0.56.7': + resolution: {integrity: sha512-z8pVnrPk/x9GC18yOp5wCe8rR2+Z6us4CTSg7dvxdsDLuA2xXYq+QETD1fO6f3fMuXe+PCjpvtCnhTW9RHLgEw==} - '@algolia/abtesting@1.19.0': - resolution: {integrity: sha512-Lhnez3hhXHk25lfxLAMxvkP4fmN3+1RgADhD2ssMDBYuAsDVReeyP+3SGRx+ntq8ijMrLqUyfvO72TB6jsTteQ==} - engines: {node: '>= 14.0.0'} + '@asyncapi/parser@3.4.0': + resolution: {integrity: sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ==} - '@algolia/autocomplete-core@1.19.2': - resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} + '@asyncapi/specs@6.11.1': + resolution: {integrity: sha512-A3WBLqAKGoJ2+6FWFtpjBlCQ1oFCcs4GxF7zsIGvNqp/klGUHjlA3aAcZ9XMMpLGE8zPeYDz2x9FmO6DSuKraQ==} - '@algolia/autocomplete-plugin-algolia-insights@1.19.2': - resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} - peerDependencies: - search-insights: '>= 1 < 3' + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} - '@algolia/autocomplete-shared@1.19.2': - resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} + '@babel/runtime@8.0.7': + resolution: {integrity: sha512-k0hagDDq/6w4v+0Sp4wFvIz/yswH5O7Va6aRTnD7N62Tnborp4X+YB+H3XUcWVSR4aE47WPEXiIIZchBs0GmYg==} + + '@base-ui/react@1.9.0': + resolution: {integrity: sha512-S8CSYosASBKtpL8SWUfS78rFElfLijiCgA7oHOK22jCJ95FULsYyKwBNFOgudt0RA+/7yNc7F81bOvQnRgbBiQ==} + engines: {node: '>=14.0.0'} peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' + '@date-fns/tz': ^1.2.0 + '@types/react': ^17 || ^18 || ^19 + date-fns: ^4.0.0 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@date-fns/tz': + optional: true + '@types/react': + optional: true + date-fns: + optional: true - '@algolia/client-abtesting@5.53.0': - resolution: {integrity: sha512-0ZjA5Hcmaoz5Lj6OG0zhfIyeqzJZnLW2CRJA1W17UwMFGRtZAJ9yJKRvPEDA6gkpsIoQxORTSW6sWFiuYncPNQ==} - engines: {node: '>= 14.0.0'} + '@base-ui/utils@0.5.0': + resolution: {integrity: sha512-dYGGcEttjkYiMoa5nHm8vLaJ2UcuTWxo3BFAwOYXeRg/q7UVVvA6cacEIXEs3FgBfK1CGtW1ptElqs7wsx+t9A==} + peerDependencies: + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true - '@algolia/client-analytics@5.53.0': - resolution: {integrity: sha512-kWNodP75iiEaOtemC9F/hlxNBG5E2QUjN1BusnE6m2b4l7Qh/BUO3fGCVsmKJI65VO4VKGGmT43ICvHtTcJ2JQ==} - engines: {node: '>= 14.0.0'} + '@canvas/image-data@1.1.0': + resolution: {integrity: sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA==} - '@algolia/client-common@5.53.0': - resolution: {integrity: sha512-YPN45TXD9Wrse185t/Ta7nktZsqpv97oOjCzp2sblHnCL6rBc9TDeJAg1IGl2UpdwnSD05Zu/5wLB4watOUMyg==} - engines: {node: '>= 14.0.0'} + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@algolia/client-insights@5.53.0': - resolution: {integrity: sha512-qAcYTDJE6m924FDDUQvdD6vh7DYaqOeSpFS74IP37/JRV0v4cGBauyxTF2WzDnokUylQDbqreoFIJZfg0Fitmw==} - engines: {node: '>= 14.0.0'} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@algolia/client-personalization@5.53.0': - resolution: {integrity: sha512-fQaY+DkSJOpuUVUe8MQTwrdiKAqkJGhpDarB08duBn/sUv7Bkib6MDRQauCcWTWTe4HIW+EbwQP9R4kci1V/Yw==} - engines: {node: '>= 14.0.0'} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] - '@algolia/client-query-suggestions@5.53.0': - resolution: {integrity: sha512-o72tsiEZGfeS/dxL9IADfzcZWGEwKDEe5CvtrBuT//3JR+SHuTtHRI2ZTf7D7bcKagcbojvO8hnkHdfoakSlYg==} - engines: {node: '>= 14.0.0'} + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] - '@algolia/client-search@5.53.0': - resolution: {integrity: sha512-Ds16IyPm/dNJPCU8OzApo2gwGrgWT5BYHhE3NFwZbpCveqyvPDB9sZDDkJ5DsdOGT2aC+R3i0/M1OVXF2qdgPg==} - engines: {node: '>= 14.0.0'} + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] - '@algolia/events@4.0.1': - resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] - '@algolia/ingestion@1.53.0': - resolution: {integrity: sha512-oNbT6z4NwD8Pou9VPINGlN/tlG1afESh2EbxqnP6rwl95xKVD/Zlciis1PpNeO/9U/rrajc1+7DcfKi03tX1KQ==} - engines: {node: '>= 14.0.0'} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@algolia/monitoring@1.53.0': - resolution: {integrity: sha512-G+KZb/yd+qAOFn/cEvTGeLxQm8aP3a0od50l3z/ylccY+/o4YG3TNcjU1tFQHW4mXC137GPyR7W70R0kRQDLnA==} - engines: {node: '>= 14.0.0'} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - '@algolia/recommend@5.53.0': - resolution: {integrity: sha512-6aVfYd55Un6IUgPLbo84WfgFZlS3L0vA1ttzXL5vahHewUJ8jYgd89TzlWRTeej7w70mb9RWsVlFYGmJ/diQww==} - engines: {node: '>= 14.0.0'} + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - '@algolia/requester-browser-xhr@5.53.0': - resolution: {integrity: sha512-ke27DqgzCOlt+RbeEdCxtXxMQOnAOi8ujr2wid0DmDKzR95Kw/f9sBsuhBxtjevCqJRJszfRTLY0B1pbO6IhkA==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - '@algolia/requester-fetch@5.53.0': - resolution: {integrity: sha512-GngiOqt2Gq4oLno6yXQVj9om+qSO9SWAoduoTOEg79dKZ62brB8OOIvSJG/vDNoanYi6a7Al9uDZwXvi+bcVTg==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - '@algolia/requester-node-http@5.53.0': - resolution: {integrity: sha512-6mF9LZMUk0QqWvrnxkxBqhswwz6Xfiwy6/gmTzL5HrlhdVG3ITAqGV2k3XmVThP1h0Ulc3VQwiNCD7/Nr4JNlQ==} - engines: {node: '>= 14.0.0'} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - '@apidevtools/json-schema-ref-parser@15.4.0': - resolution: {integrity: sha512-QbMJJlMZd27fZmi7Q+twCqwABlfaO4Qdc1YvbbwkqN2lILfELnfWfw9xFFl6CeF5jAeGQpokUVhvCkhz+rvEGg==} - engines: {node: '>=20'} - peerDependencies: - '@types/json-schema': ^7.0.15 + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - '@babel/code-frame@7.29.7': - resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - '@babel/compat-data@7.29.7': - resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - '@babel/core@7.29.7': - resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] - '@babel/generator@7.29.7': - resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@babel/helper-annotate-as-pure@7.29.7': - resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} - engines: {node: '>=6.9.0'} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - '@babel/helper-compilation-targets@7.29.7': - resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} - engines: {node: '>=6.9.0'} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - '@babel/helper-create-class-features-plugin@7.29.7': - resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] - '@babel/helper-create-regexp-features-plugin@7.29.7': - resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] - '@babel/helper-define-polyfill-provider@0.6.8': - resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] - '@babel/helper-globals@7.29.7': - resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} - engines: {node: '>=6.9.0'} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - '@babel/helper-member-expression-to-functions@7.29.7': - resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} - engines: {node: '>=6.9.0'} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - '@babel/helper-module-imports@7.29.7': - resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} - engines: {node: '>=6.9.0'} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - '@babel/helper-module-transforms@7.29.7': - resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - '@babel/helper-optimise-call-expression@7.29.7': - resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} - engines: {node: '>=6.9.0'} + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} - '@babel/helper-plugin-utils@7.29.7': - resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} - engines: {node: '>=6.9.0'} + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} - '@babel/helper-remap-async-to-generator@7.29.7': - resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} - engines: {node: '>=6.9.0'} + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: - '@babel/core': ^7.0.0 + react: '>=16.8.0' + react-dom: '>=16.8.0' - '@babel/helper-replace-supers@7.29.7': - resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} - engines: {node: '>=6.9.0'} + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] - '@babel/helper-string-parser@7.29.7': - resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} - engines: {node: '>=6.9.0'} + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] - '@babel/helper-validator-identifier@7.29.7': - resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} - engines: {node: '>=6.9.0'} + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] - '@babel/helper-validator-option@7.29.7': - resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} - engines: {node: '>=6.9.0'} + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] - '@babel/helper-wrap-function@7.29.7': - resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} - engines: {node: '>=6.9.0'} + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} - engines: {node: '>=6.9.0'} + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + libc: [glibc] - '@babel/parser@7.29.7': - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} - engines: {node: '>=6.0.0'} - hasBin: true + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': - resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': - resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + libc: [musl] - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': - resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + libc: [musl] - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': - resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': - resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + libc: [glibc] - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': - resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [glibc] - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + libc: [musl] - '@babel/plugin-syntax-import-assertions@7.29.7': - resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + libc: [musl] - '@babel/plugin-syntax-import-attributes@7.29.7': - resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] - '@babel/plugin-syntax-jsx@7.29.7': - resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] - '@babel/plugin-syntax-typescript@7.29.7': - resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} - '@babel/plugin-transform-arrow-functions@7.29.7': - resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} - engines: {node: '>=6.9.0'} + '@inquirer/checkbox@4.3.2': + resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-async-generator-functions@7.29.7': - resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} - engines: {node: '>=6.9.0'} + '@inquirer/confirm@5.1.21': + resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-async-to-generator@7.29.7': - resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} - engines: {node: '>=6.9.0'} + '@inquirer/core@10.3.2': + resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-block-scoped-functions@7.29.7': - resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} - engines: {node: '>=6.9.0'} + '@inquirer/editor@4.2.23': + resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-block-scoping@7.29.7': - resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} - engines: {node: '>=6.9.0'} + '@inquirer/expand@4.0.23': + resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-class-properties@7.29.7': - resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} - engines: {node: '>=6.9.0'} + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-class-static-block@7.29.7': - resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} - '@babel/plugin-transform-classes@7.29.7': - resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} - engines: {node: '>=6.9.0'} + '@inquirer/input@4.3.1': + resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-computed-properties@7.29.7': - resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} - engines: {node: '>=6.9.0'} + '@inquirer/number@3.0.23': + resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-destructuring@7.29.7': - resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} - engines: {node: '>=6.9.0'} + '@inquirer/password@4.0.23': + resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-dotall-regex@7.29.7': - resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} - engines: {node: '>=6.9.0'} + '@inquirer/prompts@7.9.0': + resolution: {integrity: sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-duplicate-keys@7.29.7': - resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} - engines: {node: '>=6.9.0'} + '@inquirer/rawlist@4.1.11': + resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.29.7': - resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} - engines: {node: '>=6.9.0'} + '@inquirer/search@3.2.2': + resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-explicit-resource-management@7.29.7': - resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} - engines: {node: '>=6.9.0'} + '@inquirer/select@4.4.2': + resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-exponentiation-operator@7.29.7': - resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} - engines: {node: '>=6.9.0'} + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@babel/plugin-transform-export-namespace-from@7.29.7': - resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} - '@babel/plugin-transform-for-of@7.29.7': - resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@babel/plugin-transform-function-name@7.29.7': - resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - '@babel/plugin-transform-json-strings@7.29.7': - resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} - '@babel/plugin-transform-literals@7.29.7': - resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@babel/plugin-transform-logical-assignment-operators@7.29.7': - resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} - engines: {node: '>=6.9.0'} + '@jsep-plugin/assignment@1.4.0': + resolution: {integrity: sha512-nw2Px23Eirx0PFTVoPrb3FEq9Wkmg6vxcDtt38MtBCf1G0tjLCB9cK+3seOXyiw+6+aalgYhvJabQbWwMVKlEQ==} + engines: {node: '>= 10.16.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + jsep: ^0.4.0||^1.0.0 - '@babel/plugin-transform-member-expression-literals@7.29.7': - resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} - engines: {node: '>=6.9.0'} + '@jsep-plugin/regex@1.1.0': + resolution: {integrity: sha512-2Vkbda+XRjK6VTI6Lrh0sNBuMT8mZ51EhqMvO+V2rSdmqjs7NAGssxPZfkL23EFzYfSrvxyd1ZjOdqPQMM50og==} + engines: {node: '>= 10.16.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + jsep: ^0.4.0||^1.0.0 - '@babel/plugin-transform-modules-amd@7.29.7': - resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} - engines: {node: '>=6.9.0'} + '@jsep-plugin/ternary@1.2.0': + resolution: {integrity: sha512-S8Gtq3MWi6dbM/LMwaOd+JPpTcMezLe8cX2YXIQ7HqCLg4JT3rhEFRU6WqDR1I8Nal5R3sOzXhVB/W53ovz2Yg==} + engines: {node: '>= 10.16.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + jsep: ^0.4.0||^1.0.0 - '@babel/plugin-transform-modules-commonjs@7.29.7': - resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@json-schema-spec/json-pointer@0.1.2': + resolution: {integrity: sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==} - '@babel/plugin-transform-modules-systemjs@7.29.7': - resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@json-schema-tools/dereferencer@1.6.3': + resolution: {integrity: sha512-NoQkj6hx9Joqbd/GZAOHSGtE6R+OzlnOcDfyidmx8e/CUv1Q+Z6/fmZo2wwCQWiwP1pnGYc95iKwp8M7XlV7wQ==} - '@babel/plugin-transform-modules-umd@7.29.7': - resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@json-schema-tools/meta-schema@1.8.0': + resolution: {integrity: sha512-pbRAbHidPTf96LhmHXA6bl4D4tz4HrwjZ7A5ConcLFPdCj+93GhsCCFsq+AWti4VOs+9QTezX5l0zLNA+TZv1g==} - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@json-schema-tools/reference-resolver@1.2.6': + resolution: {integrity: sha512-4QZu5ROb5EpLSvV+buzk8WR30W+dffSNaKqD3VGFYJ3y0BLDi2OHoSz5e6NKcLYTyUYXV8IKxocNOszeVBJI4Q==} - '@babel/plugin-transform-new-target@7.29.7': - resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@json-schema-tools/traverse@1.11.0': + resolution: {integrity: sha512-GWQRiXXsbt5ZuewItpW2nqB/D0x4pKWi6XXOwoh1wvmsU/tQSq/rKzpgGvOHTe6v30TYDwZYxuwnRnArIsUzLQ==} - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': - resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@babel/plugin-transform-numeric-separator@7.29.7': - resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@babel/plugin-transform-object-rest-spread@7.29.7': - resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} - engines: {node: '>=6.9.0'} + '@mdx-js/react@3.1.1': + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': '>=16' + react: '>=16' - '@babel/plugin-transform-object-super@7.29.7': - resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/cli@4.0.1665': + resolution: {integrity: sha512-EzLyvyXNSL1kwHFj9JyIjN3VrWcT6T5EqjzZ2wwhzlv/+9oXpCyd/uC9lum6ofNYLX8Oj/g/WpU4y84EHDjcDg==} + engines: {node: '>=18.0.0'} + hasBin: true - '@babel/plugin-transform-optional-catch-binding@7.29.7': - resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/common@1.0.1260': + resolution: {integrity: sha512-6Ukl2rbLdIWqau62SVAN+yPZ2p36vte5wbA3UQuHhxCCstlOvHrppyK6Zf+PLGvRNpzwhrqkhKBG3BuMXu3HZw==} - '@babel/plugin-transform-optional-chaining@7.29.7': - resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/link-rot@3.0.1481': + resolution: {integrity: sha512-++BFEYWvXzBTL76I2m+AnfqDqKL3y7Q4iiEcYabheDn3Si/5wRE4ywOf2KyNH9AQqtfnRatH9TLLG1Va7TZbsg==} + engines: {node: '>=18.0.0'} - '@babel/plugin-transform-parameters@7.29.7': - resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} - engines: {node: '>=6.9.0'} + '@mintlify/mdx@4.0.7': + resolution: {integrity: sha512-/kOnIHvjM4jwF7WoXjPRp1nDLjgW8YFyApw5JQiXU6cEdXJdqpWH1xW+0rgGD4adi6yXY+Re9cfNRMftJzCo5A==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@base-ui/react': ^1.6.0 + react: ^19.2.1 + react-dom: ^19.2.1 - '@babel/plugin-transform-private-methods@7.29.7': - resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/models@0.0.375': + resolution: {integrity: sha512-vD0TpCnt61AR1v2ObD1Y8xyXlMf+RFH1/lKX/gePePh7TKkY5vtWg4o1nxTse1TXuRinbJRCmyz3SAguO5z86A==} + engines: {node: '>=18.0.0'} - '@babel/plugin-transform-private-property-in-object@7.29.7': - resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/og@0.0.58': + resolution: {integrity: sha512-AghNYTPNoVT6HkuYFLM1B2Q94WoGIhL5b87vd7mxnW25o0bKzZqTBUJrvTf6qaqXh6WF6ofOEa0i5yYu3yJanQ==} + engines: {node: '>=18.0.0'} - '@babel/plugin-transform-property-literals@7.29.7': - resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/openapi-parser@0.0.9': + resolution: {integrity: sha512-PHNRY+K6c5lsEqxfLHH1NghO34PTmhtBSFSw5KOx8DyUYe5LTn7k4U3hp7i1qvJuUTC+x0bU4unFmkM1Hc4OGw==} + engines: {node: '>=18'} - '@babel/plugin-transform-react-constant-elements@7.29.7': - resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/package-builder@0.0.48': + resolution: {integrity: sha512-MkuT41HDmud5DmtOl0tW30bnALIyCWDCKA0t2FG4ZnoBcvVujTrelIm+a1A4XFqZywMAXbdT0BIoUf9t6Qvg9w==} + engines: {node: '>=18.0.0'} + hasBin: true - '@babel/plugin-transform-react-display-name@7.29.7': - resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/prebuild@1.0.1425': + resolution: {integrity: sha512-244RggxgQ2VljFzgT8Bdwg+tUJZCND9sTBUfUW/4+D9FxULNks8TU+D+k2llYXAWGILMoSKKFGVn6t8JjilV6w==} - '@babel/plugin-transform-react-jsx-development@7.29.7': - resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/previewing@4.0.1501': + resolution: {integrity: sha512-UH0MOpKxlEX7NHMsTIOUvhFBMxetKW83z6lJB/S8ZntYA1L1kW6H/hagRfLoPQDnh/Xw/HCCet4iBiPkS2i3Bg==} + engines: {node: '>=18.0.0'} - '@babel/plugin-transform-react-jsx@7.29.7': - resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} - engines: {node: '>=6.9.0'} + '@mintlify/scraping@4.0.1133': + resolution: {integrity: sha512-0yQ/yjJsGtxwfMkw1rtkvGDg8w1vnjmvWzLy38+r2p4rWTcwj8YIsDRlDZjKTJetZb4n/SohDrZTNIfv9GA8ow==} + engines: {node: '>=18.0.0'} + hasBin: true peerDependencies: - '@babel/core': ^7.0.0-0 + puppeteer: 24.3.1 + peerDependenciesMeta: + puppeteer: + optional: true - '@babel/plugin-transform-react-pure-annotations@7.29.7': - resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mintlify/validation@0.1.923': + resolution: {integrity: sha512-RH3HBqD5WcLUfOEqbf2tjtiQvsRgWuIDflnxo1RlGuPxSC+CNswOGt4xFq7mpRpWh1ZOkmxbIQaWBwQ8cqeqeQ==} - '@babel/plugin-transform-regenerator@7.29.7': - resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@nodable/entities@2.2.0': + resolution: {integrity: sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==} - '@babel/plugin-transform-regexp-modifiers@7.29.7': - resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - '@babel/plugin-transform-reserved-words@7.29.7': - resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - '@babel/plugin-transform-runtime@7.29.7': - resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} - '@babel/plugin-transform-shorthand-properties@7.29.7': - resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@open-rpc/schema-utils-js@2.2.1': + resolution: {integrity: sha512-lXsJrkViY08eoqD9X/3Gq0QiN4/jaPEiNdQCB3eZDv4vp26JaIWQ/r2WwYlA8rJZb4lYGIvKr3zM/rTcu7yMuw==} - '@babel/plugin-transform-spread@7.29.7': - resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@open-rpc/spec-types@0.0.2': + resolution: {integrity: sha512-4FbovmeH3XVcf7loRpaqxqCAFbX9jDfp85cbvdeNYumL/BWOWA1a6CwScfZWBvIH/eXmrmzhu8nUW4eJTuD3ZQ==} - '@babel/plugin-transform-sticky-regex@7.29.7': - resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@open-rpc/spec@1.4.1': + resolution: {integrity: sha512-XoCq9X7FDv2kXz7nK8JZMDtUrGPRyDwbt7HsZRuBtvqzxAyma/c6t33vlCyxEePxMb4aGfX3MJbI2gz9JIqNvg==} - '@babel/plugin-transform-template-literals@7.29.7': - resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@open-rpc/specification-extension-spec@1.0.2': + resolution: {integrity: sha512-EPVI1Mgp5vDSN2Xn+eWjd2t30WU+R0nFeNoP/dp3ox5/qUhNdqlNcwGJDNoJlqK56rk09FYXWJXKLHae4eBE8w==} + engines: {node: '>=18.0.0'} - '@babel/plugin-transform-typeof-symbol@7.29.7': - resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@openapi-contrib/openapi-schema-to-json-schema@3.2.0': + resolution: {integrity: sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==} - '@babel/plugin-transform-typescript@7.29.7': - resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@posthog/core@1.7.1': + resolution: {integrity: sha512-kjK0eFMIpKo9GXIbts8VtAknsoZ18oZorANdtuTj1CbgS28t4ZVq//HAWhnxEuXRTrtkd+SUJ6Ux3j2Af8NCuA==} - '@babel/plugin-transform-unicode-escapes@7.29.7': - resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@redocly/cli@2.38.0': + resolution: {integrity: sha512-zYwQiDJTqoiscB6pFwd80FwI065gA13lp8hg2tgjDDu4p8gotVdCD/EOCaPTalIHskiIa1UFxEPRErPOgkWqJw==} + engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} + hasBin: true - '@babel/plugin-transform-unicode-property-regex@7.29.7': - resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@resvg/resvg-wasm@2.6.2': + resolution: {integrity: sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==} + engines: {node: '>= 10'} - '@babel/plugin-transform-unicode-regex@7.29.7': - resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@scarf/scarf@1.4.0': + resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} - '@babel/plugin-transform-unicode-sets-regex@7.29.7': - resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@shikijs/core@3.23.0': + resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} - '@babel/preset-env@7.29.7': - resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@shikijs/engine-javascript@3.23.0': + resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==} - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} - '@babel/preset-react@7.29.7': - resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} - '@babel/preset-typescript@7.29.7': - resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} - '@babel/runtime@7.29.7': - resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} - engines: {node: '>=6.9.0'} + '@shikijs/transformers@3.23.0': + resolution: {integrity: sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==} - '@babel/template@7.29.7': - resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} - engines: {node: '>=6.9.0'} + '@shikijs/twoslash@3.23.0': + resolution: {integrity: sha512-pNaLJWMA3LU7PhT8tm9OQBZ1epy0jmdgeJzntBtr1EVXLbHxGzTj3mnf9vOdcl84l96qnlJXkJ/NGXZYBpXl5g==} + peerDependencies: + typescript: '>=5.5.0' - '@babel/traverse@7.29.7': - resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} - engines: {node: '>=6.9.0'} + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} - '@babel/types@7.29.7': - resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} - engines: {node: '>=6.9.0'} + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@braintree/sanitize-url@7.1.2': - resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} + '@shuding/opentype.js@1.4.0-beta.0': + resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} + engines: {node: '>= 8.0.0'} + hasBin: true - '@chevrotain/types@11.1.2': - resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} + '@sindresorhus/slugify@2.2.0': + resolution: {integrity: sha512-9Vybc/qX8Kj6pxJaapjkFbiUJPk7MAkCh/GFCxIBnnsuYCFPIXKvnLidG8xlepht3i24L5XemUmGtrJ3UWrl6w==} + engines: {node: '>=12'} - '@csstools/cascade-layer-name-parser@2.0.5': - resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@sindresorhus/transliterate@1.6.0': + resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} + engines: {node: '>=12'} - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} + '@stellar/prettier-config@1.2.0': + resolution: {integrity: sha512-oL9qJ7+7aWnImpbcldroQrvtMCZ9yx4JL/tmDZ860RpBQd2ahkc8bX6/k2ehFK8gpb9ltYu4mtU49wufUuYhGg==} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + prettier: ^3.2.5 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} + '@stoplight/better-ajv-errors@1.0.3': + resolution: {integrity: sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==} + engines: {node: ^12.20 || >= 14.13} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + ajv: '>=8' - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + '@stoplight/json-ref-readers@1.2.2': + resolution: {integrity: sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==} + engines: {node: '>=8.3.0'} - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} + '@stoplight/json-ref-resolver@3.1.6': + resolution: {integrity: sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==} + engines: {node: '>=8.3.0'} - '@csstools/media-query-list-parser@4.0.3': - resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@stoplight/json@3.21.0': + resolution: {integrity: sha512-5O0apqJ/t4sIevXCO3SBN9AHCEKKR/Zb4gaj7wYe5863jme9g02Q0n/GhM7ZCALkL+vGPTe4ZzTETP8TFtsw3g==} + engines: {node: '>=8.3.0'} - '@csstools/postcss-alpha-function@1.0.1': - resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/ordered-object-literal@1.0.5': + resolution: {integrity: sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==} + engines: {node: '>=8'} - '@csstools/postcss-cascade-layers@5.0.2': - resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/path@1.3.2': + resolution: {integrity: sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==} + engines: {node: '>=8'} - '@csstools/postcss-color-function-display-p3-linear@1.0.1': - resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/spectral-core@1.24.0': + resolution: {integrity: sha512-abKt++GFFaqwKiGTfPZ5O3nIv8s+1V7J5awCjWPBtCXn7ZKTEPzEF8tBYsM3ne+RMrQ8ORkHzKFu9QZhenmkPw==} + engines: {node: ^16.20 || ^18.18 || >= 20.17} - '@csstools/postcss-color-function@4.0.12': - resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/spectral-formats@1.9.0': + resolution: {integrity: sha512-OmHZpeBdlWbDxAI43HR08vyVXY2D++YHBx9AWMQ6S2DH8aWWCvk64BJOJk161XsHJQuy/vnC8tRBIIKwSQPAsA==} + engines: {node: ^16.20 || ^18.18 || >= 20.17} - '@csstools/postcss-color-mix-function@3.0.12': - resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/spectral-functions@1.11.0': + resolution: {integrity: sha512-HFlFhI+q13GqG8pphY4nNGYq9+5L14dhR9xLqx+/H2/FmAouHTfNaqE4SygIhSmtMxfNDJ8G4qnjxiQRv1kPWA==} + engines: {node: ^16.20 || ^18.18 || >= 20.17} - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': - resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/spectral-parsers@1.0.5': + resolution: {integrity: sha512-ANDTp2IHWGvsQDAY85/jQi9ZrF4mRrA5bciNHX+PUxPr4DwS6iv4h+FVWJMVwcEYdpyoIdyL+SRmHdJfQEPmwQ==} + engines: {node: ^16.20 || ^18.18 || >= 20.17} - '@csstools/postcss-content-alt-text@2.0.8': - resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/spectral-ref-resolver@1.0.5': + resolution: {integrity: sha512-gj3TieX5a9zMW29z3mBlAtDOCgN3GEc1VgZnCVlr5irmR4Qi5LuECuFItAq4pTn5Zu+sW5bqutsCH7D4PkpyAA==} + engines: {node: ^16.20 || ^18.18 || >= 20.17} - '@csstools/postcss-contrast-color-function@2.0.12': - resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/spectral-runtime@1.1.6': + resolution: {integrity: sha512-Y8rEDyMN4bSMJCrDs2shdcVHYyCnH3FvXRP4dBhha4Z8iJv+JPp7KqOV/hwVB/hWFC209upiwj2oDmLfR0qCDg==} + engines: {node: ^16.20 || ^18.18 || >= 20.17} - '@csstools/postcss-exponential-functions@2.0.9': - resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/types@13.20.0': + resolution: {integrity: sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==} + engines: {node: ^12.20 || >=14.13} - '@csstools/postcss-font-format-keywords@4.0.0': - resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/types@13.6.0': + resolution: {integrity: sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==} + engines: {node: ^12.20 || >=14.13} - '@csstools/postcss-gamut-mapping@2.0.11': - resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/types@14.1.1': + resolution: {integrity: sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==} + engines: {node: ^12.20 || >=14.13} - '@csstools/postcss-gradients-interpolation-method@5.0.12': - resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/yaml-ast-parser@0.0.50': + resolution: {integrity: sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==} - '@csstools/postcss-hwb-function@4.0.12': - resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@stoplight/yaml@4.3.0': + resolution: {integrity: sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==} + engines: {node: '>=10.8'} - '@csstools/postcss-ic-unit@4.0.4': - resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} - '@csstools/postcss-initial@2.0.1': - resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/cors@2.8.19': + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} - '@csstools/postcss-is-pseudo-class@5.0.3': - resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} - '@csstools/postcss-light-dark-function@2.0.11': - resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/es-aggregate-error@1.0.6': + resolution: {integrity: sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==} - '@csstools/postcss-logical-float-and-clear@3.0.0': - resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@csstools/postcss-logical-overflow@2.0.0': - resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@csstools/postcss-logical-overscroll-behavior@2.0.0': - resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} - '@csstools/postcss-logical-resize@3.0.0': - resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-logical-viewport-units@3.0.4': - resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-media-minmax@2.0.9': - resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': - resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@csstools/postcss-nested-calc@4.0.0': - resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/katex@0.16.8': + resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} - '@csstools/postcss-normalize-display-values@4.0.1': - resolution: {integrity: sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@csstools/postcss-oklab-function@4.0.12': - resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} - '@csstools/postcss-position-area-property@1.0.0': - resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@csstools/postcss-progressive-custom-properties@4.2.1': - resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} - '@csstools/postcss-property-rule-prelude-list@1.0.0': - resolution: {integrity: sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/node@26.6.5': + resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} - '@csstools/postcss-random-function@2.0.1': - resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} - '@csstools/postcss-relative-color-syntax@3.0.12': - resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@csstools/postcss-scope-pseudo-class@4.0.1': - resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@csstools/postcss-sign-functions@1.1.4': - resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/urijs@1.19.26': + resolution: {integrity: sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg==} - '@csstools/postcss-stepped-value-functions@4.0.9': - resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@types/ws@8.18.2': + resolution: {integrity: sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==} - '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1': - resolution: {integrity: sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==} - engines: {node: '>=18'} + '@typescript/vfs@1.6.5': + resolution: {integrity: sha512-gobLHQLmvQGJInFk31NvgMd1uYzRXsd8qgnOssyLD055R2QPnw1ubRbBQ4+T+5qC7IQVuYXdvNDE2G7tMDVHgw==} peerDependencies: - postcss: ^8.4 + typescript: '*' - '@csstools/postcss-system-ui-font-family@1.0.0': - resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@ungap/structured-clone@1.4.0': + resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} - '@csstools/postcss-text-decoration-shorthand@4.0.3': - resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} - '@csstools/postcss-trigonometric-functions@4.0.9': - resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} - engines: {node: '>=18'} + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: - postcss: ^8.4 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@csstools/postcss-unset-value@4.0.0': - resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true - '@csstools/selector-resolve-nested@3.1.0': - resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} - '@csstools/selector-specificity@5.0.0': - resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 + adm-zip@0.6.0: + resolution: {integrity: sha512-XleryMhbuksdKtofnWZ9Sk+4CUTbms4Mb/EU32SZwToAyZ5RgVos/ki8n+yr0LWHOGKuakbXTuuYNHLQjhddgg==} + engines: {node: '>=14.0'} - '@csstools/utilities@2.0.0': - resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} + aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} - '@docsearch/core@4.6.3': - resolution: {integrity: sha512-rUOujwIpxJRgD7+kicVsI3D5sqBvdiRTquzWBpTEXZs8ZXfGbfzpus5HqumaNYTppN2HvH8E2yNuRwYdHJeOlA==} + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' + ajv: ^8.5.0 peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: + ajv: optional: true - '@docsearch/css@4.6.3': - resolution: {integrity: sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==} - - '@docsearch/react@4.6.3': - resolution: {integrity: sha512-Bg2wdDsoQVlNCcEKuEJAU04tvHCqgx8rIu+uIoM4pRtcx3TBKJuXutJik3LTA8LRc9YEyHkrYUrmcC0D7BYf+g==} + ajv-errors@3.0.0: + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - - '@docusaurus/babel@3.10.1': - resolution: {integrity: sha512-DZzFO1K3v/GoEt1fx1DiYHF4en+PuhtQf1AkQJa5zu3CoeKSpr5cpQRUlz3jr0m44wyzmSXu9bVpfir+N4+8bg==} - engines: {node: '>=20.0'} + ajv: ^8.0.1 - '@docusaurus/bundler@3.10.1': - resolution: {integrity: sha512-HIqQPvbqnnQRe4NsBd1774KRarjXqS6wHsWELtyuSs1gCfvixJO2jUGH/OEBtr1Gvzpw+ze5CjGMvSJ8UE1KUw==} - engines: {node: '>=20.0'} + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: - '@docusaurus/faster': '*' + ajv: ^8.0.0 peerDependenciesMeta: - '@docusaurus/faster': + ajv: optional: true - '@docusaurus/core@3.10.1': - resolution: {integrity: sha512-3pf2fXXw0eVk8WnC3T4LIigRDupcpvngpKo9Vy7mYyBhuddc0klDUuZAIfzMoK6z05pdlk6EFC/vBSX43+1O5w==} - engines: {node: '>=20.0'} - hasBin: true + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: - '@docusaurus/faster': '*' - '@mdx-js/react': ^3.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + ajv: ^8.0.0 peerDependenciesMeta: - '@docusaurus/faster': + ajv: optional: true - '@docusaurus/cssnano-preset@3.10.1': - resolution: {integrity: sha512-eNfHGcTKCSq6xmcavAkX3RRclHaE2xRCMParlDXLdXVP01/a2e/jKXMj/0ULnLFQSNwwuI62L0Ge8J+nZsR7UQ==} - engines: {node: '>=20.0'} + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} - '@docusaurus/eslint-plugin@3.10.1': - resolution: {integrity: sha512-GS0zphpvFMCHUWalNrklew1gJo/44YzCrHPNFoka0asJnjfgnQDLl+KxCjWUXvw3U34NaVhwlJQaieClez8o/A==} - engines: {node: '>=20.0'} - peerDependencies: - eslint: '>=6' + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - '@docusaurus/faster@3.10.1': - resolution: {integrity: sha512-XTZhE5C1gZ/DaYYMlSk02dwP5vhpQON5QHVz1s3892mSESAywgWanURpXEDAvt4GvGuq7s+XP8rTWHZvfaJmdQ==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/types': '*' + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} - '@docusaurus/logger@3.10.1': - resolution: {integrity: sha512-oPjNFnfJsRCkePVjkGrxWGq4MvJKRQT0r9jOP0eRBTZ7Wr9FAbzdP/Gjs0I2Ss6YRkPoEgygKG112OkE6skvJw==} - engines: {node: '>=20.0'} + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} + engines: {node: '>=18'} - '@docusaurus/mdx-loader@3.10.1': - resolution: {integrity: sha512-GRmeb/wQ+iXRrFwcHBfgQhrJxGElgCsoTWZYDhccjsZVne1p8MK/EpQVIloXttz76TCe78kKD5AEG9n1xc1oxQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} - '@docusaurus/module-type-aliases@3.10.1': - resolution: {integrity: sha512-YoOZKUdGlp8xSYhuAkGdSo5Ydkbq4V4eK3sD8v0a2hloxCWdQbNBhkc+Ko9QyjpESc0BYcIGM5iHVAy5hdFV6w==} - peerDependencies: - react: '*' - react-dom: '*' + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} - '@docusaurus/plugin-content-blog@3.10.1': - resolution: {integrity: sha512-mmkgE6Q2+K74tnkou7tXlpDLvoCU/qkSa2GSQ3XUiHWvcebCoDQzS670RR3tO8PmaWlIyWWISYWzZLuMfxunRA==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} - '@docusaurus/plugin-content-docs@3.10.1': - resolution: {integrity: sha512-2jRVrtzjf8LClGTHQlwlwuD3wQXRx3WEoF7XUarJ8Ou+0onV+SLtejsyfY9JLpfUh9hPhXM4pbBGkyAY4Bi3HQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} - '@docusaurus/plugin-content-pages@3.10.1': - resolution: {integrity: sha512-huJpaRPMl42nsFwuCXvV8bVDj2MazuwRJIUylI/RSlmZeJssVoZXeCjVf1y+1Drtpa9SKcdGn8yoJ76IRJijtw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - '@docusaurus/plugin-css-cascade-layers@3.10.1': - resolution: {integrity: sha512-r//fn+MNHkE1wCof8T29VAQezt1enGCpsFxoziBbvLgBM4JfXN2P3rxrBaavHmvLvm7lYkpJeitcDthwnmWCTw==} - engines: {node: '>=20.0'} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} - '@docusaurus/plugin-debug@3.10.1': - resolution: {integrity: sha512-9KqOpKNfAyqGZykRb9LhIT/vyRF6sm/ykhjj/39JvaJahDS+jZJE0Z1Wfz9q3DUNDTMNN0Q7u/kk4rKKU+IJuA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + anynum@1.0.1: + resolution: {integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==} - '@docusaurus/plugin-google-analytics@3.10.1': - resolution: {integrity: sha512-8o0P1KtmgdYQHH+oInitPpRWI0Of5XednAX4+DMhQNSmGSRNrsEEHg1ebv35m9AgRClfAytCJ5jA9KvcASTyuA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - '@docusaurus/plugin-google-gtag@3.10.1': - resolution: {integrity: sha512-pu3xIUo5o/zCMLfUY9BO5KOwSH0zIsAGyFRPvXHayFSA5XIhCU/SFuB0g0ZNjFn9niZLCaNvoeAuOGFJZq0fdw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - '@docusaurus/plugin-google-tag-manager@3.10.1': - resolution: {integrity: sha512-f6fyGHiCm7kJHBtAisGQS5oNBnpnMTYQZxDXeVrnw/3zWU+LMA22pr6UHGYkBKDbN+qPC5QHG3NuOfzQLq3+Lw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - '@docusaurus/plugin-sitemap@3.10.1': - resolution: {integrity: sha512-C26MbmmqgdjkDq1htaZ3aD7LzEDKFWXfpyQpt0EOUThuq5nV77zDaedV20yHcVo9p+3ey9aZ4pbHA0D3QcZTzg==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + arkregex@0.0.13: + resolution: {integrity: sha512-c17sqCqiiZauxyoU1KZ2zbzCgeghGmc8dR2CrdQnlEtpq3bLhRLoLrxTL52M/8yQD8e/i1/IBRpRCNAuqJa7xQ==} - '@docusaurus/plugin-svgr@3.10.1': - resolution: {integrity: sha512-6SFxsmjWFkVLDmBUvFK6i72QjUwqyQFe4Ovz+SUJophJjOyVG3ZZG5IQpBC/kX/Gfv1yWeU9nWauH6F6Q7QX/Q==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + arktype@2.2.8: + resolution: {integrity: sha512-tZyLza7kO2vN8BXBKcj4t43IVMe8/ZyqlITH0chZv7FfEw+edLovpY922tqcK4mCjTpf4oNo2xV6np7tquP1ww==} - '@docusaurus/preset-classic@3.10.1': - resolution: {integrity: sha512-YO/FL8v1zmbxoTso6mjMz/RDjhaTJxb1UpFFTDdY5847LLDCeyYiYlrhyTbgN1RIN3xnkLKZ9Lj1x8hUzI4JOg==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} - '@docusaurus/react-loadable@6.0.0': - resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} - peerDependencies: - react: '*' + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - '@docusaurus/remark-plugin-npm2yarn@3.10.1': - resolution: {integrity: sha512-HNxVv5Y9yx934/WLZBHJC7dYua7DVAHvhMl3hbQuzYGOghClP30Rt3hjZ0tqj/K7KqbSbVN0T4M1rBGk+e3t9A==} - engines: {node: '>=20.0'} + array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - '@docusaurus/theme-classic@3.10.1': - resolution: {integrity: sha512-VU1RK0qb2pab0si4r7HFK37cYco8VzqLj3u1PspVipSr/z/GPVKHO4/HXbnePqHoWDk8urjyGSeatH0NIMBM1A==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} - '@docusaurus/theme-common@3.10.1': - resolution: {integrity: sha512-0YtmIeoNo1fIw65LO8+/1dPgmDV86UmhMkow37gzjytuiCSQm9xob6PJy0L4kuQEMTLfUOGvkXvZr7GPrHquMA==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true - '@docusaurus/theme-mermaid@3.10.1': - resolution: {integrity: sha512-2gxpmln8Pc4EN1oWzshQEx2HTs67jk14v7MmgqGs8ZU7Nm8oihg+fTouof2u4vN8DtB3Fln4cDJu4UprSX1S3Q==} - engines: {node: '>=20.0'} - peerDependencies: - '@mermaid-js/layout-elk': ^0.1.9 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@mermaid-js/layout-elk': - optional: true + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} - '@docusaurus/theme-search-algolia@3.10.1': - resolution: {integrity: sha512-OTaARARVZj2GvkJQjB+1jOIxntRaXea+G+fMsNqrZBAU1O1vJKDW22R7kECOHW27oJCLFN9HKaZeRrfAUyviug==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - '@docusaurus/theme-translations@3.10.1': - resolution: {integrity: sha512-cLMyaKivjBVWKMJuWqyFVVgtqe8DPJNPkog0bn8W1MDVAKcPdxRFycBfC1We1RaNp7Rdk513bmtW78RR6OBxBw==} - engines: {node: '>=20.0'} + auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@docusaurus/tsconfig@3.10.1': - resolution: {integrity: sha512-rYvB7yqkdqWIpAbDzQljGfM4cDBkLTbhmagZBEcsyj6oPUsz47lmW2pYdN1j+7sGFgltbAmQH62xfbrij4Eh6Q==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} - '@docusaurus/types@3.10.1': - resolution: {integrity: sha512-XYMK8k1szDCFMw2V+Xyen0g7Kee1sP3dtFnl7vkGkZOkeAJ/oPDQPL8iz4HBKOo/cwU8QeV6onVjMqtP+tFzsw==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + avsc@5.7.9: + resolution: {integrity: sha512-yOA4wFeI7ET3v32Di/sUybQ+ttP20JHSW3mxLuNGeO0uD6PPcvLrIQXSvy/rhJOWU5JrYh7U4OHplWMmtAtjMg==} + engines: {node: '>=0.11'} - '@docusaurus/utils-common@3.10.1': - resolution: {integrity: sha512-5mFSgEADtnFxFH7RLw02QA5MpU5JVUCj0MPeIvi/aF4Fi45tQRIuTwXoXDqJ+1VfQJuYJGz3SI63wmGz4HvXzA==} - engines: {node: '>=20.0'} + axios@1.18.0: + resolution: {integrity: sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==} - '@docusaurus/utils-validation@3.10.1': - resolution: {integrity: sha512-cRv1X69jwaWv47waglllgZVWzeBFLhl53XT/XED/83BerVBTC5FTP8WTcVl8Z6sZOegDSwitu/wpCSPCDOT6lg==} - engines: {node: '>=20.0'} + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - '@docusaurus/utils@3.10.1': - resolution: {integrity: sha512-3ojeJry9xBYdJO6qoyyzqeJFSJBVx2mXhyDzSdjwL2+URFQMf+h25gG38iswGImicK0ELjTd1EL2xzk8hf3QPw==} - engines: {node: '>=20.0'} + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - '@emnapi/core@1.11.0': - resolution: {integrity: sha512-l9Oo58x0HOP5znGzVhYW9U3e5wVuA4LAZU2AGezTmkhO1CgQRFDhDg4nneHsu/t3WniXg9QrG2nIXL/ZS8ln8Q==} + base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} - '@emnapi/runtime@1.11.0': - resolution: {integrity: sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==} + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - '@emnapi/wasi-threads@1.2.2': - resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} - '@eslint-community/eslint-utils@4.10.1': - resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - '@eslint/config-array@0.23.5': - resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + body-parser@1.20.8: + resolution: {integrity: sha512-JNcyFQ64OiijEkPzUBTCe+hyPXUD/3LEldGQ6iF5LR1w00mx9o7xtDWHXBY2iItjdCFGoilOLNQbH943ut7pHA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - '@eslint/config-helpers@0.6.0': - resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + brace-expansion@1.1.21: + resolution: {integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==} - '@eslint/core@1.2.1': - resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} - '@eslint/eslintrc@3.3.5': - resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - '@eslint/js@10.0.1': - resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^10.0.0 - peerDependenciesMeta: - eslint: - optional: true + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} - '@eslint/object-schema@3.0.5': - resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} - '@eslint/plugin-kit@0.7.2': - resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} - '@exodus/schemasafe@1.3.0': - resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} - '@faker-js/faker@5.5.3': - resolution: {integrity: sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==} - deprecated: Please update to a newer version. + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} - '@fortawesome/fontawesome-common-types@6.7.2': - resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==} - engines: {node: '>=6'} + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} - '@fortawesome/fontawesome-svg-core@6.7.2': - resolution: {integrity: sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==} - engines: {node: '>=6'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} - '@fortawesome/react-fontawesome@0.2.6': - resolution: {integrity: sha512-mtBFIi1UsYQo7rYonYFkjgYKGoL8T+fEH6NGUpvuqtY3ytMsAoDaPo5rk25KuMtKDipY4bGYM/CkmCHA1N3FUg==} - deprecated: v0.2.x is no longer supported. Unless you are still using FontAwesome 5, please update to v3.1.1 or greater. - peerDependencies: - '@fortawesome/fontawesome-svg-core': ~1 || ~6 || ~7 - react: ^16.3 || ^17.0.0 || ^18.0.0 || ^19.0.0 + camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + chalk@5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - '@hookform/error-message@2.0.1': - resolution: {integrity: sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - react-hook-form: ^7.0.0 + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - '@humanfs/core@0.19.2': - resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} - engines: {node: '>=18.18.0'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - '@humanfs/node@0.16.8': - resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} - engines: {node: '>=18.18.0'} + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - '@humanfs/types@0.15.0': - resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} - engines: {node: '>=18.18.0'} + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} - engines: {node: '>=18.18'} + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + chardet@2.2.0: + resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} - '@iconify/utils@3.1.3': - resolution: {integrity: sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==} + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} - '@internationalized/date@3.12.2': - resolution: {integrity: sha512-FY1Y+H64NDs+HAF6omlnWxm3mEpfgaCSWtL5l551ZZfImA+kGjPFgrnJrGjH6lfmLL0g8Z/mBu1R3kufeCp6Jw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} - '@internationalized/date@3.12.3': - resolution: {integrity: sha512-fuLX+3ZKLsxI73y8b01EG/WjHb6gE6weCqlfawPO27kBWGMh9G1yH6Csv1uU7/cac9H2GHmOMt6CjmuQ1aia4Q==} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - '@internationalized/number@3.6.7': - resolution: {integrity: sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} - '@internationalized/string@3.2.10': - resolution: {integrity: sha512-PDx6//vHSpRnHfxqMqto11zQvhsaU74O3mKv2F/0eicGZcl9NLjQmGlbHz/LsJh5tLKp4A4L7ZVTzN1/MmMTvA==} + clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} - '@internationalized/string@3.2.9': - resolution: {integrity: sha512-kzP/M/mbQxODlmOt4bIQZ2SBVUWUSqMLXooXixnX7noche8WHaQcA+nwFN1K2KCF/cp+LDUhcJsCicwkvhD1pg==} + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} - '@jridgewell/source-map@0.3.11': - resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - '@json-schema-spec/json-pointer@0.1.2': - resolution: {integrity: sha512-BYY7IavBjwsWWSmVcMz2A9mKiDD9RvacnsItgmy1xV8cmgbtxFfKmKMtkVpD7pYtkx4mIW4800yZBXueVFIWPw==} + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} - '@json-schema-tools/dereferencer@1.6.3': - resolution: {integrity: sha512-NoQkj6hx9Joqbd/GZAOHSGtE6R+OzlnOcDfyidmx8e/CUv1Q+Z6/fmZo2wwCQWiwP1pnGYc95iKwp8M7XlV7wQ==} + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - '@json-schema-tools/meta-schema@1.8.0': - resolution: {integrity: sha512-pbRAbHidPTf96LhmHXA6bl4D4tz4HrwjZ7A5ConcLFPdCj+93GhsCCFsq+AWti4VOs+9QTezX5l0zLNA+TZv1g==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - '@json-schema-tools/reference-resolver@1.2.6': - resolution: {integrity: sha512-4QZu5ROb5EpLSvV+buzk8WR30W+dffSNaKqD3VGFYJ3y0BLDi2OHoSz5e6NKcLYTyUYXV8IKxocNOszeVBJI4Q==} + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} - '@json-schema-tools/traverse@1.11.0': - resolution: {integrity: sha512-GWQRiXXsbt5ZuewItpW2nqB/D0x4pKWi6XXOwoh1wvmsU/tQSq/rKzpgGvOHTe6v30TYDwZYxuwnRnArIsUzLQ==} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} - '@jsonjoy.com/base64@1.1.2': - resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - '@jsonjoy.com/base64@17.67.0': - resolution: {integrity: sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - '@jsonjoy.com/buffers@1.2.1': - resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} - '@jsonjoy.com/buffers@17.67.0': - resolution: {integrity: sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} - '@jsonjoy.com/codegen@1.0.0': - resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + compute-gcd@1.2.1: + resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} - '@jsonjoy.com/codegen@17.67.0': - resolution: {integrity: sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + compute-lcm@1.1.2: + resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==} - '@jsonjoy.com/fs-core@4.57.6': - resolution: {integrity: sha512-uI++Wx6VkBJqVmkb4ZeExwAVpZiA2Do5NrEtXoDk0Pdvce3ytFXJoviT1sLOj16+qDIMnD5nWPfOhVpnDmRJKg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - '@jsonjoy.com/fs-fsa@4.57.6': - resolution: {integrity: sha512-pKkw/yC5CzSZKhIIUIsH1przOa+K5jGmZIg1sWaSF24JojyrUFbjcQv7QrcGAudriei6HQ6R0BFj+V8NbQinJw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} - '@jsonjoy.com/fs-node-builtins@4.57.6': - resolution: {integrity: sha512-V4DgEFT3Cg5S9fCMOZSCVdTxdJWWLBO0WnAazV7hnCM96u5zXHyW/ubDAfcSVwqjkMJ50W1Y44IXtxRoIwaCVg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} - '@jsonjoy.com/fs-node-to-fsa@4.57.6': - resolution: {integrity: sha512-+JptNw3iifihxH2rEXrninDzX4FFVW8JD/wPR8GbJPAeL9CQUSblrlumOPB5gZuS7tYRX+PJPLtT7XzKoRhv/Q==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@jsonjoy.com/fs-node-utils@4.57.6': - resolution: {integrity: sha512-foyUrfS7WmYEUzqYXSNxmJBcSj04TABrkpFabwO9SCDCpVCfJ+qG+2sk5FjfiflG2n0SDFZDCJ6vYlJAEpxJFg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} - '@jsonjoy.com/fs-node@4.57.6': - resolution: {integrity: sha512-Kbn1jdkvDN4F2+BhoB6mMu7NCbhP0bgA5NcI1aJj/Q5UcU+I1JLLW+dEQean33iV4tXv35AzBVKPICnDltBpxw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} - '@jsonjoy.com/fs-print@4.57.6': - resolution: {integrity: sha512-96eAn4Dudtt67LTeuU47yUD+pg9/G/oKpI10zei9ljk3X3WK4lYKc+n3cpaPCAbKPzoyfxl0mXm8f8Y7BOSFXw==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} - '@jsonjoy.com/fs-snapshot@4.57.6': - resolution: {integrity: sha512-V57CMzbOgTzUWGOWQ8GzHQdpJP6JnrYVNCtTBNxVYEnlVRvo4uEJqHhtAT8vhDFrIuJOXLrTL1Fki4h5oI7xxg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} - '@jsonjoy.com/json-pack@1.21.0': - resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + css-background-parser@0.1.0: + resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} - '@jsonjoy.com/json-pack@17.67.0': - resolution: {integrity: sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + css-box-shadow@1.0.0-3: + resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} - '@jsonjoy.com/json-pointer@1.0.2': - resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} - '@jsonjoy.com/json-pointer@17.67.0': - resolution: {integrity: sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + css-gradient-parser@0.0.17: + resolution: {integrity: sha512-w2Xy9UMMwlKtou0vlRnXvWglPAceXCTtcmVSo8ZBUvqCV5aXEFP/PC6d+I464810I9FT++UACwTD5511bmGPUg==} + engines: {node: '>=16'} - '@jsonjoy.com/util@1.9.0': - resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} - '@jsonjoy.com/util@17.67.0': - resolution: {integrity: sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true - '@juggle/resize-observer@3.4.0': - resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + cssfilter@0.0.10: + resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} - '@leichtgewicht/ip-codec@2.0.5': - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - '@mdx-js/mdx@3.1.1': - resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} - '@mdx-js/react@3.1.1': - resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} - '@mermaid-js/parser@1.1.1': - resolution: {integrity: sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==} + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} - '@module-federation/error-codes@0.22.0': - resolution: {integrity: sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==} + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - '@module-federation/runtime-core@0.22.0': - resolution: {integrity: sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - '@module-federation/runtime-tools@0.22.0': - resolution: {integrity: sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - '@module-federation/runtime@0.22.0': - resolution: {integrity: sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==} + decode-bmp@0.2.1: + resolution: {integrity: sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA==} + engines: {node: '>=8.6.0'} - '@module-federation/sdk@0.22.0': - resolution: {integrity: sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==} + decode-ico@0.4.1: + resolution: {integrity: sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA==} + engines: {node: '>=8.6'} - '@module-federation/webpack-bundler-runtime@0.22.0': - resolution: {integrity: sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==} + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} - '@napi-rs/wasm-runtime@1.0.7': - resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} - '@open-rpc/examples@1.7.2': - resolution: {integrity: sha512-wEvviOPc+gyBVmxvGQVl/hqYslEacxLe0UETupyp1JjXUAZxW27da+F1IxbP6NYdx6jt4RyLg+V0GBVTsN6RRA==} + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} - '@open-rpc/meta-schema@1.14.9': - resolution: {integrity: sha512-2/CbDzOVpcaSnMs28TsRv8MKJwJi0TTYFlQ6q6qobAH26oIuhYgcZooKf4l71emgntU6MMcFQCA0h4mJ4dBCdA==} + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} - '@open-rpc/schema-utils-js@2.2.1': - resolution: {integrity: sha512-lXsJrkViY08eoqD9X/3Gq0QiN4/jaPEiNdQCB3eZDv4vp26JaIWQ/r2WwYlA8rJZb4lYGIvKr3zM/rTcu7yMuw==} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} - '@open-rpc/spec-types@0.0.2': - resolution: {integrity: sha512-4FbovmeH3XVcf7loRpaqxqCAFbX9jDfp85cbvdeNYumL/BWOWA1a6CwScfZWBvIH/eXmrmzhu8nUW4eJTuD3ZQ==} + dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} - '@open-rpc/spec@1.4.1': - resolution: {integrity: sha512-XoCq9X7FDv2kXz7nK8JZMDtUrGPRyDwbt7HsZRuBtvqzxAyma/c6t33vlCyxEePxMb4aGfX3MJbI2gz9JIqNvg==} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - '@open-rpc/specification-extension-spec@1.0.2': - resolution: {integrity: sha512-EPVI1Mgp5vDSN2Xn+eWjd2t30WU+R0nFeNoP/dp3ox5/qUhNdqlNcwGJDNoJlqK56rk09FYXWJXKLHae4eBE8w==} - engines: {node: '>=18.0.0'} + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - '@parcel/watcher-android-arm64@2.5.6': - resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} - '@parcel/watcher-darwin-arm64@2.5.6': - resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - '@parcel/watcher-darwin-x64@2.5.6': - resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] + detect-port@1.5.1: + resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} + hasBin: true - '@parcel/watcher-freebsd-x64@2.5.6': - resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - '@parcel/watcher-linux-arm-glibc@2.5.6': - resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - libc: [glibc] + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - '@parcel/watcher-linux-arm-musl@2.5.6': - resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - libc: [musl] + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - '@parcel/watcher-linux-arm64-glibc@2.5.6': - resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} - '@parcel/watcher-linux-arm64-musl@2.5.6': - resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] + dns-socket@4.2.2: + resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==} + engines: {node: '>=6'} - '@parcel/watcher-linux-x64-glibc@2.5.6': - resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} - '@parcel/watcher-linux-x64-musl@2.5.6': - resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - '@parcel/watcher-win32-arm64@2.5.6': - resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] + emoji-regex-xs@2.0.1: + resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==} + engines: {node: '>=10.0.0'} - '@parcel/watcher-win32-ia32@2.5.6': - resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} - '@parcel/watcher-win32-x64@2.5.6': - resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - '@parcel/watcher@2.5.6': - resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} - engines: {node: '>= 10.0.0'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} - '@peculiar/asn1-cms@2.7.0': - resolution: {integrity: sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - '@peculiar/asn1-csr@2.7.0': - resolution: {integrity: sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA==} + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} - '@peculiar/asn1-ecc@2.7.0': - resolution: {integrity: sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw==} + engine.io@6.6.11: + resolution: {integrity: sha512-z34mGpLoY/82ZbkX1LqGMIaf3wjVMPL6gVC681QDqnmzJ26synI8qAE32P+a7UazmpJZ8UGrFIeAavgRfXzYrg==} + engines: {node: '>=10.2.0'} - '@peculiar/asn1-pfx@2.7.0': - resolution: {integrity: sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA==} + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} - '@peculiar/asn1-pkcs8@2.7.0': - resolution: {integrity: sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw==} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} - '@peculiar/asn1-pkcs9@2.7.0': - resolution: {integrity: sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew==} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} - '@peculiar/asn1-rsa@2.7.0': - resolution: {integrity: sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ==} + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} - '@peculiar/asn1-schema@2.7.0': - resolution: {integrity: sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg==} + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} - '@peculiar/asn1-x509-attr@2.7.0': - resolution: {integrity: sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w==} + es-aggregate-error@1.0.14: + resolution: {integrity: sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA==} + engines: {node: '>= 0.4'} - '@peculiar/asn1-x509@2.7.0': - resolution: {integrity: sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g==} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} - '@peculiar/utils@2.0.3': - resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} - '@peculiar/x509@1.14.3': - resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} - engines: {node: '>=20.0.0'} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} - '@pnpm/config.env-replace@1.1.0': - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} - '@pnpm/network.ca-file@1.0.2': - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} + engines: {node: '>= 0.4'} - '@pnpm/npm-conf@3.0.2': - resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} - engines: {node: '>=12'} + es-toolkit@1.52.0: + resolution: {integrity: sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==} - '@polka/url@1.0.0-next.29': - resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} - '@react-aria/checkbox@3.17.1': - resolution: {integrity: sha512-742B+UhH87TK02SYsFJZOgQ9VZpFEythH5LXRnwxt/xShoKOp+eqXPaVah79s/+B9sxY1mF0wNORQ2RVAQFSKw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - '@react-aria/toggle@3.13.1': - resolution: {integrity: sha512-1SPMBSrbT94Jsy7Wuv9SH2uPv7szGP7KgO4QGIAcF3e5kHwvGQJdMHY6+xR17slk8ICXfFojBqUKgpJjyY2+KQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true - '@react-hook/debounce@3.0.0': - resolution: {integrity: sha512-ir/kPrSfAzY12Gre0sOHkZ2rkEmM4fS5M5zFxCi4BnCeXh2nvx9Ujd+U4IGpKCuPA+EQD0pg1eK2NGLvfWejag==} - peerDependencies: - react: '>=16.8' + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} - '@react-hook/event@1.2.6': - resolution: {integrity: sha512-JUL5IluaOdn5w5Afpe/puPa1rj8X6udMlQ9dt4hvMuKmTrBS1Ya6sb4sVgvfe2eU4yDuOfAhik8xhbcCekbg9Q==} - peerDependencies: - react: '>=16.8' + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - '@react-hook/latest@1.0.3': - resolution: {integrity: sha512-dy6duzl+JnAZcDbNTfmaP3xHiKtbXYOaz3G51MGVljh548Y8MWzTr+PHLOfvpypEVW9zwvl+VyKjbWKEVbV1Rg==} - peerDependencies: - react: '>=16.8' + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} - '@react-hook/passive-layout-effect@1.2.1': - resolution: {integrity: sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg==} - peerDependencies: - react: '>=16.8' + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} - '@react-hook/resize-observer@1.2.6': - resolution: {integrity: sha512-DlBXtLSW0DqYYTW3Ft1/GQFZlTdKY5VAFIC4+km6IK5NiPPDFchGbEJm1j6pSgMqPRHbUQgHJX7RaR76ic1LWA==} - peerDependencies: - react: '>=16.8' + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true - '@react-hook/size@2.1.2': - resolution: {integrity: sha512-BmE5asyRDxSuQ9p14FUKJ0iBRgV9cROjqNG9jT/EjCM+xHha1HVqbPoT+14FQg1K7xIydabClCibUY4+1tw/iw==} - peerDependencies: - react: '>=16.8' + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - '@react-hook/throttle@2.2.0': - resolution: {integrity: sha512-LJ5eg+yMV8lXtqK3lR+OtOZ2WH/EfWvuiEEu0M3bhR7dZRfTyEJKxH1oK9uyBxiXPtWXiQggWbZirMCXam51tg==} - peerDependencies: - react: '>=16.8' + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - '@react-hook/window-size@3.1.1': - resolution: {integrity: sha512-yWnVS5LKnOUIrEsI44oz3bIIUYqflamPL27n+k/PC//PsX/YeWBky09oPeAoc9As6jSH16Wgo8plI+ECZaHk3g==} - peerDependencies: - react: '>=16.8' + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - '@react-spectrum/checkbox@3.11.1': - resolution: {integrity: sha512-SkiKMYA5VMiIC+Zsob7YnGfT+hpuWsolzi+jS/Qd78h4nMIMj/kwPN17bqsYMqb5D3IM1F4YAkNpWUFFGaAeAA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + estree-util-scope@1.0.1: + resolution: {integrity: sha512-B0np3dcdxqILX5e9nEi5/Fr4K7gL4oYFVPV1zRa2e9wRCbQoZZNWOZFYyoInvXUPJXBXjss+QXlWLJChDEHDkA==} - '@react-spectrum/provider@3.11.1': - resolution: {integrity: sha512-TsoNdVdmlQ7L+75ILq5Yb3+wp/I1AtIeat0o+Y+ZBxP+TtWpwT1ZtCB5l3cplFVzHzOpZlzO0VaDrDP9ElGYDw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - '@react-stately/checkbox@3.8.1': - resolution: {integrity: sha512-jNYNOkro8cgLkeeea24UQdE+PWpsBz/6hGPPM9CrHBvC7x2Egh3iHy1not61Oqp7BI7Rq1K1+Q4q8J37bOTr6w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - '@react-stately/toggle@3.10.1': - resolution: {integrity: sha512-oj4goolQJWdeQxRp8a1nZdsUjC779nvAU7pyT3oyWMWrxxrk0heW96TLWhdPjksvre8pLvjbRBbI2kgs8RxmOQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - '@react-types/button@3.4.1': - resolution: {integrity: sha512-B54M84LxdEppwjXNlkBEJyMfe9fd+bvFV7R6+NJvupGrZm/LuFNYjFcHk7yjMKWTdWm6DbpIuQz54n5qTW7Vlg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} - '@react-types/checkbox@3.11.0': - resolution: {integrity: sha512-VXacLw/pKBcxgwejr2p4uPZtG/XXBnTb6pJCdFtUL6OuFIIOFt/9eTHD+8x2HRPLxWkmo1DD3bFBOinQ7vfu2g==} - peerDependencies: - '@react-spectrum/provider': ^3.0.0 - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} - '@react-types/radio@3.1.2': - resolution: {integrity: sha512-vkIic8abrVUyl/YjKU3yTVwn8QgebzuadfV89PsaKc3hdmSiHhDsln5wYsfWOEotqMwPrG1aEv9yRMYO78OQXQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 + expr-eval-fork@3.0.3: + resolution: {integrity: sha512-BhC+hbc5lIVjygr840n5DEkW3MQq7H9o+mc1/N7Z5uIiCFVyESLL5DIE7LNq4CYUNxy+XjA+3jRrL/h0Kt2xcg==} + engines: {node: '>=16.9.0'} - '@react-types/shared@3.35.0': - resolution: {integrity: sha512-iNWvuzEwANttpQpdlu8nPBtdHb0mcCMj1ZTH//iRB5E/14IAnyRlR25rxH7pNLyzHINsPGEKnWvpwDMCT6vziQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + express@4.22.0: + resolution: {integrity: sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==} + engines: {node: '>= 0.10.0'} - '@react-types/shared@3.36.1': - resolution: {integrity: sha512-AzsuD9OfxTOZMMvTRhlN3oHBwOmFN7tDh27LzqmHt4+uOgPhJT7ZM7/kVs/8/o0WxayMUIk3hBmCFRHv1FUoag==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - '@react-types/shared@3.9.0': - resolution: {integrity: sha512-YYksINfR6q92P10AhPEGo47Hd7oz1hrnZ6Vx8Gsrq62IbqDdv1XOTzPBaj17Z1ymNY2pitLUSEXsLmozt4wxxQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - '@react-types/switch@3.1.2': - resolution: {integrity: sha512-EaYWoLvUCpOnt//Ov8VBxOjbs4hBpYE/rBAzzIknXaFvKOu867iZBFL7FJbcemOgC8/dwyaj6GUZ1Gw3Z1g59w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} - '@react-types/textfield@3.3.0': - resolution: {integrity: sha512-lOf0tx3c3dVaomH/uvKpOKFVTXQ232kLnMhOJTtj97JDX7fTr3SNhDUV0G8Zf4M0vr+l+xkTrJkywYE23rzliw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - '@redocly/ajv@8.18.1': - resolution: {integrity: sha512-Ifm/pP/tul1qmAecpbVxCBluVE32rKfjf8gYXH4xI2gCv9mRWFhJMHzkPDM4TXlxwPQYIFegymlsy8lXz7optA==} + fast-memoize@2.5.2: + resolution: {integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - '@redocly/ajv@8.18.3': - resolution: {integrity: sha512-l42u0of3hY98sN2A+M4qTX1O/KrpgGH32Hu9kP2GtHyD5Dfqq86PKFLe5dwaD8DEnNmlOlll2BAmeEtf0DaySg==} + fast-uri@3.1.8: + resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==} - '@redocly/cli@2.38.0': - resolution: {integrity: sha512-zYwQiDJTqoiscB6pFwd80FwI065gA13lp8hg2tgjDDu4p8gotVdCD/EOCaPTalIHskiIa1UFxEPRErPOgkWqJw==} - engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} + fast-xml-builder@1.3.1: + resolution: {integrity: sha512-pIM/1n3ntFXKYrUZwW7QCK0gAW7XY+wzj1YMIV3tLDvPj/V+zTGJK5e3/4WJfwj0qWw2ElNXiTixda/R+3YSug==} + + fast-xml-parser@5.7.3: + resolution: {integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==} hasBin: true - '@redocly/config@0.49.1': - resolution: {integrity: sha512-Eid8/bDcsf2bpTJ2qZhULflf6Y/TtoUFZt0+a5XZzjZj0uA8L8EQiY/nEdBd6lZQlZsnu8/cAUhTyBebnLi0gA==} + fastq@1.20.3: + resolution: {integrity: sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==} - '@redocly/openapi-core@2.36.0': - resolution: {integrity: sha512-u44e3yn0Zj2d59+SzMrHVj0DQZfQJm8C8uaf4MhJDAiHLHyd7adcAoRiqDD+LzkfLvgBepp20Jo6gDEIGl1mDg==} - engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - '@reduxjs/toolkit@2.12.0': - resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} + favicons@7.2.0: + resolution: {integrity: sha512-k/2rVBRIRzOeom3wI9jBPaSEvoTSQEW4iM0EveBmBBKFxO8mSyyRWtDlfC3VnEfu0avmjrMzy8/ZFPSe6F71Hw==} + engines: {node: '>=14.0.0'} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: - react: ^16.9.0 || ^17.0.0 || ^18 || ^19 - react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + picomatch: ^3 || ^4 peerDependenciesMeta: - react: - optional: true - react-redux: + picomatch: optional: true - '@rehooks/component-size@1.0.3': - resolution: {integrity: sha512-pnYld+8SSF2vXwdLOqBGUyOrv/SjzwLjIUcs/4c1JJgR0q4E9eBtBfuZMD6zUD51fvSehSsbnlQMzotSmPTXPg==} - peerDependencies: - react: '>=16.8.0' + fflate@0.7.3: + resolution: {integrity: sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==} - '@rjsf/core@5.24.13': - resolution: {integrity: sha512-ONTr14s7LFIjx2VRFLuOpagL76sM/HPy6/OhdBfq6UukINmTIs6+aFN0GgcR0aXQHFDXQ7f/fel0o/SO05Htdg==} - engines: {node: '>=14'} - peerDependencies: - '@rjsf/utils': ^5.24.x - react: ^16.14.0 || >=17 + fflate@0.7.5: + resolution: {integrity: sha512-QieYf//cis6ywHNi5qW1+PXPQ4bC+XVJAtS4AXIML8P76GroEiOxm/oQtn1f02UkJY1+KsXMJcC+R2v/Eg4G3g==} - '@rjsf/utils@5.24.13': - resolution: {integrity: sha512-rNF8tDxIwTtXzz5O/U23QU73nlhgQNYJ+Sv5BAwQOIyhIE2Z3S5tUiSVMwZHt0julkv/Ryfwi+qsD4FiE5rOuw==} - engines: {node: '>=14'} - peerDependencies: - react: ^16.14.0 || >=17 + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - '@rjsf/validator-ajv8@5.24.13': - resolution: {integrity: sha512-oWHP7YK581M8I5cF1t+UXFavnv+bhcqjtL1a7MG/Kaffi0EwhgcYjODrD8SsnrhncsEYMqSECr4ZOEoirnEUWw==} - engines: {node: '>=14'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + follow-redirects@1.16.1: + resolution: {integrity: sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==} + engines: {node: '>=4.0'} peerDependencies: - '@rjsf/utils': ^5.24.x + debug: '*' + peerDependenciesMeta: + debug: + optional: true - '@rspack/binding-darwin-arm64@1.7.11': - resolution: {integrity: sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==} - cpu: [arm64] - os: [darwin] + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} - '@rspack/binding-darwin-x64@1.7.11': - resolution: {integrity: sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==} - cpu: [x64] - os: [darwin] + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} - '@rspack/binding-linux-arm64-gnu@1.7.11': - resolution: {integrity: sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==} - cpu: [arm64] - os: [linux] - libc: [glibc] + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} - '@rspack/binding-linux-arm64-musl@1.7.11': - resolution: {integrity: sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==} - cpu: [arm64] - os: [linux] - libc: [musl] + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} - '@rspack/binding-linux-x64-gnu@1.7.11': - resolution: {integrity: sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==} - cpu: [x64] - os: [linux] - libc: [glibc] + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} - '@rspack/binding-linux-x64-musl@1.7.11': - resolution: {integrity: sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==} - cpu: [x64] - os: [linux] - libc: [musl] + fractional-indexing@3.2.0: + resolution: {integrity: sha512-PcOxmqwYCW7O2ovKRU8OoQQj2yqTfEB/yeTYk4gPid6dN5ODRfU1hXd9tTVZzax/0NkO7AxpHykvZnT1aYp/BQ==} + engines: {node: ^14.13.1 || >=16.0.0} - '@rspack/binding-wasm32-wasi@1.7.11': - resolution: {integrity: sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==} - cpu: [wasm32] + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} - '@rspack/binding-win32-arm64-msvc@1.7.11': - resolution: {integrity: sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==} - cpu: [arm64] - os: [win32] + front-matter@4.0.2: + resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} - '@rspack/binding-win32-ia32-msvc@1.7.11': - resolution: {integrity: sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==} - cpu: [ia32] - os: [win32] + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - '@rspack/binding-win32-x64-msvc@1.7.11': - resolution: {integrity: sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==} - cpu: [x64] - os: [win32] + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} - '@rspack/binding@1.7.11': - resolution: {integrity: sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==} + fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} - '@rspack/core@1.7.11': - resolution: {integrity: sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==} - engines: {node: '>=18.12.0'} - peerDependencies: - '@swc/helpers': '>=0.5.1' - peerDependenciesMeta: - '@swc/helpers': - optional: true + fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} - '@rspack/lite-tapable@1.1.0': - resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} - '@sentry/browser@6.19.7': - resolution: {integrity: sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA==} - engines: {node: '>=6'} + fs-extra@11.3.6: + resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} + engines: {node: '>=14.14'} - '@sentry/core@6.19.7': - resolution: {integrity: sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==} - engines: {node: '>=6'} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - '@sentry/hub@6.19.7': - resolution: {integrity: sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==} - engines: {node: '>=6'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] - '@sentry/minimal@6.19.7': - resolution: {integrity: sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ==} - engines: {node: '>=6'} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - '@sentry/react@6.19.7': - resolution: {integrity: sha512-VzJeBg/v41jfxUYPkH2WYrKjWc4YiMLzDX0f4Zf6WkJ4v3IlDDSkX6DfmWekjTKBho6wiMkSNy2hJ1dHfGZ9jA==} - engines: {node: '>=6'} - peerDependencies: - react: 15.x || 16.x || 17.x || 18.x + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} + engines: {node: '>= 0.4'} - '@sentry/types@6.19.7': - resolution: {integrity: sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==} - engines: {node: '>=6'} + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - '@sentry/utils@6.19.7': - resolution: {integrity: sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==} - engines: {node: '>=6'} + gcd@0.0.1: + resolution: {integrity: sha512-VNx3UEGr+ILJTiMs1+xc5SX1cMgJCrXezKPa003APUWNqQqaF6n25W8VcR7nHN6yRWbvvUTwCpZCFJeWC2kXlw==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} - '@sinclair/typebox@0.27.10': - resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - '@sindresorhus/is@5.6.0': - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} - '@slorber/react-helmet-async@1.3.0': - resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - '@slorber/remark-comment@1.0.0': - resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} - '@spectrum-icons/ui@3.7.1': - resolution: {integrity: sha512-veQymocUYo5OciXQajSailOdbWe+k6+2ehfF8D4d0V923D4xOUadtT253xXZ5vEQjPat6Kyp2WDKeQNjd7kL1w==} - peerDependencies: - '@adobe/react-spectrum': ^3.47.0 - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} - '@spectrum-icons/workflow@4.3.1': - resolution: {integrity: sha512-kDF+/EbFVyLGytotqqdYt4uSij4j/PQmDQO5km/C6DyzKjyuic3FnSBFinR+mA6oFv1OjMcLvrrDBqK3wbqRlA==} - peerDependencies: - '@adobe/react-spectrum': ^3.47.0 - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} - '@standard-schema/utils@0.3.0': - resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} - '@stellar/open-rpc-docs-react@0.2.1': - resolution: {integrity: sha512-2UYOBbaQ8FBB3nd6StV9wfbiKmMlBXuptQOwww4kKzvZRgOaVXzZ41KDtFozqjrsCYoXHaCUjMY8t9GtDXdFlw==} - engines: {node: '>=20.0.0'} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^7.0.0 - postcss: ^8.4.0 - react: ^18.0.0 - react-dom: ^18.0.0 + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} - '@stellar/prettier-config@1.2.0': - resolution: {integrity: sha512-oL9qJ7+7aWnImpbcldroQrvtMCZ9yx4JL/tmDZ860RpBQd2ahkc8bX6/k2ehFK8gpb9ltYu4mtU49wufUuYhGg==} - peerDependencies: - prettier: ^3.2.5 + got@13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} - '@stoplight/json-schema-merge-allof@0.8.0': - resolution: {integrity: sha512-g8e0s43v96Xbzvd8d6KKUuJTO16CS2oJglJrviUi8ASIUxzFvAJqTHWLtGmpTryisQopqg1evXGJfi0+164+Qw==} + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - '@stoplight/json-schema-tree@4.0.0': - resolution: {integrity: sha512-SAGtof+ihIdPqETR+7XXOaqZJcrbSih/xEahaw5t1nXk5sVW6ss2l5A1WCIuvtvnQiUKnBfanmZU4eoM1ZvItg==} - engines: {node: '>=10.18'} + graphql@16.11.0: + resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - '@stoplight/json-schema-viewer@4.16.4': - resolution: {integrity: sha512-5+2mQIhoFFPzk1Gxb1khrVk2Y5BzEIGcNnY74Ky0mo1ipkSNLBWX5ALU8Kn1rTjVjgO8KHacqR4rw/ZaNhxwhQ==} - engines: {node: '>=16'} - peerDependencies: - '@stoplight/markdown-viewer': ^5 - '@stoplight/mosaic': ^1.32 - '@stoplight/mosaic-code-viewer': ^1.32 - react: '>=16.8' - react-dom: '>=16.8' - - '@stoplight/json@3.21.7': - resolution: {integrity: sha512-xcJXgKFqv/uCEgtGlPxy3tPA+4I+ZI4vAuMJ885+ThkTHFVkC+0Fm58lA9NlsyjnkpxFh4YiQWpH+KefHdbA0A==} - engines: {node: '>=8.3.0'} + harfbuzzjs@0.10.0: + resolution: {integrity: sha512-SN8LVwCOzvTq3OPNd0+EAghgXugItz56wst567D1vs7LnnKGWprhi3EG58aVOBwhN8HEbQxL4I9NDWkcXUutRw==} - '@stoplight/lifecycle@2.3.3': - resolution: {integrity: sha512-JbPRTIzPZabeYPAk5+gdsnfwAxqW35G9e0ZjOG3toUmNViLOsEzuK4vpWd+Prv2Mw8HRmu+haiYizteZp6mk0w==} - engines: {node: '>=8.3.0'} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} - '@stoplight/markdown-viewer@5.7.1': - resolution: {integrity: sha512-EiJC0w/l+Juc49fVCBOEOOg/NdCWDC8o1lS7d6P5skHS5G+hw1c3GNlCZ2BSqs8z8kkmSzSDWo5XY1S16NVJbQ==} - engines: {node: '>=12'} - peerDependencies: - '@stoplight/mosaic': ^1.24.4 - '@stoplight/mosaic-code-viewer': ^1.24.4 - react: '>=16.14' - react-dom: '>=16.14' + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - '@stoplight/markdown@3.2.0': - resolution: {integrity: sha512-Hhnrj7xb+f4iMQQeZBKLgfst3OJyV8T4BKr8BSYnKpp070B6fE63V/lkPuKqrpvidcv6kz3INDBU/GE7K2Q0uw==} - engines: {node: '>=12'} + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} - '@stoplight/mosaic-code-viewer@1.53.5': - resolution: {integrity: sha512-UrYyzagh1XgjjjjyifctyT6u8Urrqtp/rPVVE9IL/YA0xkVqMAMlyT13AuvTxohdV6SdgHt4h/oDsgRptuscnw==} - peerDependencies: - react: '>= 16.14' + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} - '@stoplight/mosaic@1.53.5': - resolution: {integrity: sha512-2wyzp69mVKbwxxJ9XmOh2gmt8GPmJnYt223YUihKJSUTV2Ark9sfAwaDhg6myha4cGwjHGT0u9+KD7pC9oroAg==} - peerDependencies: - react: '>= 16.14' + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} - '@stoplight/ordered-object-literal@1.0.5': - resolution: {integrity: sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==} - engines: {node: '>=8'} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} - '@stoplight/path@1.3.2': - resolution: {integrity: sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==} - engines: {node: '>=8'} + hast-util-embedded@3.0.0: + resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} - '@stoplight/react-error-boundary@2.0.0': - resolution: {integrity: sha512-r9cyaaH2h0kFe5c0aP+yJuY9CyXgfbBaMO6660M/wRQXqM49K5Ul7kexE4ei2cqYgo+Cd6ALl6RXSZFYwf2kCA==} - engines: {node: '>=10'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + hast-util-from-dom@5.0.1: + resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} - '@stoplight/types@12.5.0': - resolution: {integrity: sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==} - engines: {node: '>=8'} + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} - '@stoplight/types@13.20.0': - resolution: {integrity: sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==} - engines: {node: ^12.20 || >=14.13} + hast-util-from-html@2.0.3: + resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} - '@stoplight/types@14.1.1': - resolution: {integrity: sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==} - engines: {node: ^12.20 || >=14.13} + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - '@stoplight/yaml-ast-parser@0.0.50': - resolution: {integrity: sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==} + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} - '@stoplight/yaml@4.3.0': - resolution: {integrity: sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==} - engines: {node: '>=10.8'} + hast-util-is-body-ok-link@3.0.1: + resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': - resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-minify-whitespace@1.0.1: + resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==} - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': - resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-phrasing@3.0.1: + resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} - '@svgr/babel-plugin-svg-dynamic-title@8.0.0': - resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} - '@svgr/babel-plugin-svg-em-dimensions@8.0.0': - resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} - '@svgr/babel-plugin-transform-react-native-svg@8.1.0': - resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} - '@svgr/babel-plugin-transform-svg-component@8.0.0': - resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} - '@svgr/babel-preset@8.1.0': - resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 + hast-util-to-mdast@10.1.0: + resolution: {integrity: sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw==} - '@svgr/core@8.1.0': - resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} - engines: {node: '>=14'} + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - '@svgr/hast-util-to-babel-ast@8.0.0': - resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} - engines: {node: '>=14'} + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} - '@svgr/plugin-jsx@8.1.0': - resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - '@svgr/plugin-svgo@8.1.0': - resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - '@svgr/webpack@8.1.0': - resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} - engines: {node: '>=14'} + hex-rgb@4.3.0: + resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} + engines: {node: '>=6'} - '@swc/core-darwin-arm64@1.15.41': - resolution: {integrity: sha512-kREh6J5paQFvP3i7f/4FbqRNOJREutVFVOkder4GVyCBQ39YmER55cW/y1NNjwrchzFqgYswFn0mMDCqbqKzrw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - '@swc/core-darwin-x64@1.15.41': - resolution: {integrity: sha512-N8B56ESFazZAWZyIkecADSPCwlLEinW7QLMEeotCpv4J7VXwfH+OLkmRL8o96UZ+1355fwHxDTS6/wK7yucvkA==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] + http-cache-semantics@4.3.0: + resolution: {integrity: sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==} - '@swc/core-linux-arm-gnueabihf@1.15.41': - resolution: {integrity: sha512-6XrId2fyle0mS5xxON8rU84mPd2Cq1kDJRj+4BnQKTd7u+2kSA6Ww+JkOP0iTNqOqt9OXhPOEAjBHAuonWcdCg==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} - '@swc/core-linux-arm64-gnu@1.15.41': - resolution: {integrity: sha512-ynLIarxlkVnqHn1D0fKOVht6mNU5ks6lrH+MY3kkS+XFaGGgDxFZVjWKJlkYTKm3RCvBTfA8Ng5fLufXheMRKQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [glibc] + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} - '@swc/core-linux-arm64-musl@1.15.41': - resolution: {integrity: sha512-dXu/5vd4gh8symyhRF+4G7gOPkjmb4pONhh7sl+6GSiW0LOKZlfu5kXmyFbTz9smOT7jgr002qY9b1nujjXt2A==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [musl] + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} - '@swc/core-linux-ppc64-gnu@1.15.41': - resolution: {integrity: sha512-XGO6zVPXoPE0gf/XnI4jBbafNT13AYgoh6ns0JCSdOetI/kqVf0vhpz7NuNgAzZrMVCsmieqjPoTwViDgh4mOQ==} - engines: {node: '>=10'} - cpu: [ppc64] - os: [linux] - libc: [glibc] + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true - '@swc/core-linux-s390x-gnu@1.15.41': - resolution: {integrity: sha512-0WUglRwyZtW+iMi7J3iFdrCxreZZIKf4egTwEQfIYRsqFax69A0OrFj+NIoFSE03xBT/IFRrg+S8K6f9Ky+4hA==} - engines: {node: '>=10'} - cpu: [s390x] - os: [linux] - libc: [glibc] + ico-endec@0.1.6: + resolution: {integrity: sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ==} - '@swc/core-linux-x64-gnu@1.15.41': - resolution: {integrity: sha512-VxkuQK59c0tHm6uJZCUrS3cyA2JhGGfdU6e41SZz0x/JS+4Sm7C1mIc97In14vkZJopEt7yXA2TouCqZDSygEA==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [glibc] + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} - '@swc/core-linux-x64-musl@1.15.41': - resolution: {integrity: sha512-/0qXIu1ZxggLuovLb22vFfKHq2AA4n6Whw5UwmVCHk4pkw7KWnPIQpMCEqUMPsNkFJig7PPp/TSYFu8ZEb2rtQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [musl] + iconv-lite@0.7.3: + resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} + engines: {node: '>=0.10.0'} - '@swc/core-win32-arm64-msvc@1.15.41': - resolution: {integrity: sha512-Y481sMNZM6rECh9VO4+y26N1lWEDAyxnBZskUf37fl90uHE946VHfmiVQWT0uMFOhyJJFovGTRuF4W82dwewUg==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - '@swc/core-win32-ia32-msvc@1.15.41': - resolution: {integrity: sha512-BAchBD5qeUzy3hiPSLJtaaoSm4blCLyYffOF1bGE4ETcV+OisqjUAwDQMJj++4bTpvMCDzwC+Bj3PmQyBCtscw==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} - '@swc/core-win32-x64-msvc@1.15.41': - resolution: {integrity: sha512-WOkA+fJ/ViVBQDsSV9JC52NACTe5PhlurA6viASDZGb7HR3KS01ZG7RZ+Bg6SVQFIoq3gSbTsskQVe6EbHFAYw==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true - '@swc/core@1.15.41': - resolution: {integrity: sha512-03nQq/082QRJJiOvp3FGbgxTGyyxMxohPTjhk/W9bD2J0tk4ukITI7goOhOO2WbaHn/lsPmo/zf8+DIXhwpgYQ==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '>=0.5.17' - peerDependenciesMeta: - '@swc/helpers': - optional: true + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} - '@swc/helpers@0.5.23': - resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - '@swc/html-darwin-arm64@1.15.40': - resolution: {integrity: sha512-A9oxSh60pMEsX/4VBpn3e6s8DfGWsHzAeG+Vd9mXgkTqt/ouX12owP6RyqfqK8v0WuEsBKkGY0+MbwLvlOG8NQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - '@swc/html-darwin-x64@1.15.40': - resolution: {integrity: sha512-GZ5KxJ/1pqnpOAjaa9hnkSk3M1LHjc5ci5GCt5/llAgDKFLDHzydIflHXTOIaS4nRCtfVMmD0joKX+ZWruSkJw==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - '@swc/html-linux-arm-gnueabihf@1.15.40': - resolution: {integrity: sha512-Bbwtl0G6vYcWlDQmjeuyFx8YIvqi1StlQWjRNB1ZtvrRNL3JadFARhijBONiUIyTK9MgUbWtTV3QU69qzjNENQ==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] + ink-spinner@5.0.0: + resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} + engines: {node: '>=14.16'} + peerDependencies: + ink: '>=4.0.0' + react: '>=18.0.0' - '@swc/html-linux-arm64-gnu@1.15.40': - resolution: {integrity: sha512-buu4fGyCIhkwmCetI4CfWOPn7cphJHwQ9ksK685hlL0R0PUaDCNdIxo+JAz0mK2JgPhoGqnKsVEmV6gLIL5GBw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [glibc] + ink@6.3.0: + resolution: {integrity: sha512-2CbJAa7XeziZYe6pDS5RVLirRY28iSGMQuEV8jRU5NQsONQNfcR/BZHHc9vkMg2lGYTHTM2pskxC1YmY28p6bQ==} + engines: {node: '>=20'} + peerDependencies: + '@types/react': '>=19.0.0' + react: '>=19.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true - '@swc/html-linux-arm64-musl@1.15.40': - resolution: {integrity: sha512-BwWtpAGEHIP1QwKExWqBIjGpAHMahjT26ORZv3+TbwW4IuEl2QP5FrcYc30O8abCG5J1lWRl1vXKYDpzbIDz1A==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [musl] + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - '@swc/html-linux-ppc64-gnu@1.15.40': - resolution: {integrity: sha512-wLtHgwmZu5K7PvuTROklgWJO6D+KwywpYR1geI8dSWX/AYnx/KCGVK9ncPzWVfnLXWhXbkgua3Ujdrfoxf+qSw==} - engines: {node: '>=10'} - cpu: [ppc64] - os: [linux] - libc: [glibc] + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - '@swc/html-linux-s390x-gnu@1.15.40': - resolution: {integrity: sha512-WbWzQBCmvECZG6ep9D5SMMZTFCbFmRSCc7lPD3YhhaK16BNqr1AybvybZYOgxX9Ot5tq7gTWCgjFZXLDOn6Y/g==} - engines: {node: '>=10'} - cpu: [s390x] - os: [linux] - libc: [glibc] + inquirer@12.3.0: + resolution: {integrity: sha512-3NixUXq+hM8ezj2wc7wC37b32/rHq1MwNZDYdvx+d6jokOD+r+i8Q4Pkylh9tISYP114A128LCX8RKhopC5RfQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' - '@swc/html-linux-x64-gnu@1.15.40': - resolution: {integrity: sha512-i+/JqL5j9mTGMcVshWLMzciqyE3Np+gN5+UqMyO1D5zSmniJD5MHRlGXCtLaWx/MIKX0Q4Xkre33o56fmxp+uA==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [glibc] + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} - '@swc/html-linux-x64-musl@1.15.40': - resolution: {integrity: sha512-mroZnb5omFc4iE01UsJgta+Nm0sIFWpGfTPk+BHfH165MZAM4wNndeczX5RpGZbQSF1nNpCoNgqJyT7l3hITMg==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [musl] + ip-regex@4.3.0: + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} - '@swc/html-win32-arm64-msvc@1.15.40': - resolution: {integrity: sha512-qg1LXRrsY9FXy0S7vouSF0kkn1vdkTD//FW66iuezH7HMm5/DJGwEj7oc1zTKPWU0HnwOINOUbl6rUHrRuXHAQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} - '@swc/html-win32-ia32-msvc@1.15.40': - resolution: {integrity: sha512-5NwMmgt9A70LQzcYOl4OiIJk5AhsGP69fNRfkmXXop+iIcAGUmYy+d6F2/Gc0u05j9G0R04NPWcHBQrHQhr0Gw==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] + iregexp-check@0.1.2: + resolution: {integrity: sha512-RCcV2SFO5JKh+DdmWiY7yVyiZzzk6XZiHEJvTKbzVs8Z0u404gnoSqDtFqg6C5qJBEG4QseWBQz9zhI68zskEQ==} - '@swc/html-win32-x64-msvc@1.15.40': - resolution: {integrity: sha512-WUNZqCZ+8WY1pr8t3X3fq4gI5+FL/tCCzlrJ2lLn0s+TyA2SLm/RPfXxQIr94EnjJWcIV21G//6/uXeBN8cPzw==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - '@swc/html@1.15.40': - resolution: {integrity: sha512-YVWNrh3wZWH2oXz7uL+s1WZbFIsnAp9cCl/b+C7ufDJqhsOvbr0un9IOYZ/CxRIRdnHGfhVD199n8baD/kRQew==} - engines: {node: '>=14'} + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - '@swc/types@0.1.26': - resolution: {integrity: sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} - '@szmarczak/http-timer@5.0.1': - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + is-arrayish@0.3.4: + resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} - '@types/body-parser@1.19.6': - resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} - '@types/bonjour@3.5.13': - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} - '@types/connect-history-api-fallback@1.5.4': - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + is-core-module@2.17.0: + resolution: {integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==} + engines: {node: '>= 0.4'} - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} - '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} + engines: {node: '>=18'} - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + is-in-ci@2.0.0: + resolution: {integrity: sha512-cFeerHriAnhrQSbpAxL37W1wcJKUUX07HyLWZCW1URJT/ra3GyUTzBgUnh24TMVfNTV2Hij2HLxkPHFZfOZy5w==} + engines: {node: '>=20'} + hasBin: true - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + is-ip@3.1.0: + resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} + engines: {node: '>=8'} - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + is-online@10.0.0: + resolution: {integrity: sha512-WCPdKwNDjXJJmUubf2VHLMDBkUZEtuOvpXUfUnUFbEnM6In9ByiScL4f4jKACz/fsb2qDkesFerW3snf/AYz3A==} + engines: {node: '>=14.16'} - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} - '@types/d3-selection@3.0.11': - resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} - '@types/d3-shape@3.1.8': - resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} - '@types/d3-transition@3.0.9': - resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} - '@types/debug@4.1.13': - resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} - '@types/esrecurse@4.3.1': - resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - '@types/estree@1.0.9': - resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - '@types/express-serve-static-core@4.19.8': - resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} + isomorphic-fetch@3.0.0: + resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} - '@types/express@4.17.25': - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + jose@6.2.12: + resolution: {integrity: sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==} - '@types/gtag.js@0.0.20': - resolution: {integrity: sha512-wwAbk3SA2QeU67unN7zPxjEHmPmlXwZXZvQEpbEUQuMCRGgKyE1m6XDuTUA9b6pCGb/GqJmdfMOY5LuDjJSbbg==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - '@types/hast@2.3.10': - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + js-yaml@3.15.2: + resolution: {integrity: sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==} + hasBin: true - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} + hasBin: true - '@types/history@4.7.11': - resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + jsep@1.6.0: + resolution: {integrity: sha512-Y8Tr54CX7B5YGAwo7/n8eumidEX3Opx98RyyQVnlHqUaZcPA8uUzL2v1rshr9ypW9Q6hNjfJtg3sL+8kaNE7TA==} + engines: {node: '>= 20.16.0'} - '@types/html-minifier-terser@6.1.0': - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - '@types/http-cache-semantics@4.2.0': - resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + json-p3@2.2.2: + resolution: {integrity: sha512-TmTgkx+C1ne8Wdm9dFQ4/jCeYYbSoeYJAkRpvTz6O+zWN1Dc3cKW8Mt52sa8mSRXy/+JykA5I6rmM+k8h+JRRg==} - '@types/http-errors@2.0.5': - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + json-schema-compare@0.2.2: + resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} - '@types/http-proxy@1.17.17': - resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + json-schema-merge-allof@0.8.1: + resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==} + engines: {node: '>=12.0.0'} - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + jsonc-parser@2.2.1: + resolution: {integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==} - '@types/js-cookie@2.2.7': - resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + jsonpath-plus@10.4.0: + resolution: {integrity: sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==} + engines: {node: '>=18.0.0'} + hasBin: true - '@types/katex@0.16.8': - resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} + hasBin: true - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + keytar@7.9.0: + resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==} - '@types/mdurl@1.0.5': - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - '@types/mdx@2.0.14': - resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} + lcm@0.0.3: + resolution: {integrity: sha512-TB+ZjoillV6B26Vspf9l2L/vKaRY/4ep3hahcyVkCGFgsTNRUQdc24bQeNFiZeoxH0vr5+7SfNRMQuPHv/1IrQ==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + leven@4.1.0: + resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@types/node@17.0.45': - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + lilconfig@3.1.4: + resolution: {integrity: sha512-zJZyBmQhArDRefuWTypZxwDpFDIYmrj8ypSBvwGD5P13Y95s6DjzKgu4DVdGbeQa5PDEsAOCAPNk4X+QOR006w==} + engines: {node: '>=14'} - '@types/node@25.9.2': - resolution: {integrity: sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw==} + linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} - '@types/parse5@6.0.3': - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - '@types/prismjs@1.26.6': - resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} + lodash.topath@4.5.2: + resolution: {integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - '@types/qs@6.15.1': - resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - '@types/react-dom@17.0.26': - resolution: {integrity: sha512-Z+2VcYXJwOqQ79HreLU/1fyQ88eXSSFh6I3JdrEHQIfYSI0kCQpTGvOrbE6jFGGYXKsHuwY9tBa/w5Uo6KzrEg==} - peerDependencies: - '@types/react': ^17.0.0 + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} - '@types/react-router-config@5.0.11': - resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - '@types/react-router-dom@5.3.3': - resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} - '@types/react-router@5.1.20': - resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + mdast-util-find-and-replace@3.0.3: + resolution: {integrity: sha512-xPgpDNl0/OXHsI7TlaIs22lWnH3KlpvZdXG1ET/m/YT2Hhdkx8lJV4kLphE6l9simyM4KPDFBwas08BgEob6Jw==} - '@types/react@17.0.93': - resolution: {integrity: sha512-KM4Ty/ZTLZupiYxZVAlP+InNJS3De6uBMdq0ePa6/04+eG9Y7ftnWfst1xTLQ5rwAhgHwQ4momt/O4KepdGBTw==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - '@types/react@19.2.17': - resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + mdast-util-from-markdown@2.1.0: + resolution: {integrity: sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==} - '@types/retry@0.12.2': - resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - '@types/sax@1.2.7': - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - '@types/scheduler@0.16.8': - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - '@types/semver@7.7.1': - resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} + mdast-util-gfm-strikethrough@2.0.1: + resolution: {integrity: sha512-OuJHqvr455pwu2OaOrir7dbzqs4jlWKOtlu9L6GjcIjjQwNyw02VntQsr/Ek6/A13vgnXfUhBekWRUP1OkNivw==} - '@types/send@0.17.6': - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - '@types/send@1.2.1': - resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - '@types/serve-index@1.9.4': - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - '@types/serve-static@1.15.10': - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - '@types/sockjs@0.3.36': - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} - '@types/use-sync-external-store@0.0.6': - resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - '@types/yargs@17.0.35': - resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - '@typescript-eslint/eslint-plugin@7.18.0': - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + mdast-util-to-markdown@2.2.0: + resolution: {integrity: sha512-2Jn/ADrHFFyyniBMi0bncTbJqU78K3/TEYvzvwrWWzD9MYPUa/Gm4r3nOeKFQg/PDM5BsbDYdc8ackW4NTY6NA==} - '@typescript-eslint/parser@7.18.0': - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} - '@typescript-eslint/scope-manager@7.18.0': - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - '@typescript-eslint/type-utils@7.18.0': - resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} - '@typescript-eslint/types@7.18.0': - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} + micromark-core-commonmark@2.0.4: + resolution: {integrity: sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==} - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - '@typescript-eslint/typescript-estree@7.18.0': - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - '@typescript-eslint/utils@7.18.0': - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + micromark-extension-gfm-table@2.1.2: + resolution: {integrity: sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==} - '@typescript-eslint/visitor-keys@7.18.0': - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - '@ungap/structured-clone@1.3.2': - resolution: {integrity: sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==} + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - '@upsetjs/venn.js@2.0.0': - resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + micromark-extension-math@3.1.0: + resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + micromark-factory-space@2.1.0: + resolution: {integrity: sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==} - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - '@xobotyi/scrollbar-width@1.9.5': - resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + micromark-util-edit-map@1.0.0: + resolution: {integrity: sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==} - acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - acorn: ^8.14.0 + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} - acorn-walk@8.3.5: - resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} - engines: {node: '>=0.4.0'} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} - hasBin: true + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - acorn@8.17.0: - resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} - engines: {node: '>=0.4.0'} - hasBin: true + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - ajv-draft-04@1.0.0: - resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} - peerDependencies: - ajv: ^8.5.0 - peerDependenciesMeta: - ajv: - optional: true + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true + micromark-util-types@2.0.3: + resolution: {integrity: sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==} - ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true + micromark@4.0.3: + resolution: {integrity: sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==} - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - ajv@6.15.0: - resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} - ajv@8.20.0: - resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true - algoliasearch-helper@3.29.1: - resolution: {integrity: sha512-6ck2YFudF2Pje7szQoPBiRFTGfd+1I+0I/WfLPGn0bj1kvrFoOQmNyedNiDxTk3/r4IfSLDYk+RA4G7u8H6+yA==} - peerDependencies: - algoliasearch: '>= 3.1 < 6' + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} - algoliasearch@5.53.0: - resolution: {integrity: sha512-OGW1q6b91CRSSeiOnM8LxuR5NYJ2esvw66jUZ4IIvdv+ItNkx3pwLuyR+jaCdbGee4ov5WgUnyPryyh11xvByQ==} - engines: {node: '>= 14.0.0'} + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} - allof-merge@0.6.8: - resolution: {integrity: sha512-RJrHVDqITsU1kjE2L7s1hy4AYZSTlO1m9jTleYhVCEOfOpbbygRGfcEgrp+bW3oX/PcMUwVkt6MSJyXoyI6lRA==} + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} - ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + mint@4.2.1062: + resolution: {integrity: sha512-UuwWzWe6aYirBUZwRRylQULThPDShTVnMUtstOWkjlKEf84nYg0GJ3C6qgrHq/Q8ZWW+WhhMC4CswaETSEpCUQ==} + engines: {node: '>=18.0.0'} + hasBin: true - ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - ansis@3.17.0: - resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} - engines: {node: '>=14'} + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - aria-hidden@1.2.6: - resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} - engines: {node: '>=10'} + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + neotraverse@0.6.18: + resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} + engines: {node: '>= 10'} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + next-mdx-remote-client@2.1.12: + resolution: {integrity: sha512-KDfhIk5aEM0kkZ0xQ8XBkmo4O5xmJeGWUomm40Ac/xhkt5sIDOTmTU/QFfmJGLJUJipD5o0BAHqVSIZKuXgNEw==} + engines: {node: '>=20.9.0'} + peerDependencies: + react: '>= 19.1.0' + react-dom: '>= 19.1.0' - asn1js@3.0.10: - resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} - engines: {node: '>=12.0.0'} + nimma@0.2.3: + resolution: {integrity: sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA==} + engines: {node: ^12.20 || >=14.13} - astring@1.9.0: - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} - hasBin: true + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + + node-abi@3.99.0: + resolution: {integrity: sha512-lLdwkeg2XUVPTHqWjPltTxH81zbQNbUWC+AEb9ni50KjxkUzAAx1HGtMT21sbntzfUGfIphhcklvs3imJeqDXw==} + engines: {node: '>=10'} - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + node-addon-api@4.3.0: + resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} - autoprefixer@10.5.0: - resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true + node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} peerDependencies: - postcss: ^8.1.0 + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true - babel-loader@9.2.1: - resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} - engines: {node: '>= 14.15.0'} + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true - babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + non-error@0.1.0: + resolution: {integrity: sha512-TMB1uHiGsHRGv1uYclfhivcnf0/PdFp2pNqRxXjncaAsjYMoisaQJI+SSZCqRq+VliwRTC8tsMQfmrWjDMhkPQ==} + engines: {node: '>=20'} - babel-plugin-polyfill-corejs2@0.4.17: - resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} - babel-plugin-polyfill-corejs3@0.13.0: - resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + normalize-url@8.1.1: + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} + engines: {node: '>=14.16'} - babel-plugin-polyfill-corejs3@0.14.2: - resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + oauth4webapi@3.8.8: + resolution: {integrity: sha512-8N28E+a/oxfXWBgOMt+ZP/JUf/XR+IFbvkAEPP3gznXOMv9BpAAwiIj0TFNz3tGTPc0ZQ8zmWBNgN1nAys0gng==} - babel-plugin-polyfill-regenerator@0.6.8: - resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} - bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} - balanced-match@4.0.4: - resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} - engines: {node: 18 || 20 || >=22} + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} - baseline-browser-mapping@2.10.35: - resolution: {integrity: sha512-honAfLBde0HAFLdNyBEfuuENkF6zR+ozxqxa/2zJKHBe1qzLqyTSeRKpdPEHAP03rlDGyQOPnCSxnVpVqQo9Mg==} - engines: {node: '>=6.0.0'} - hasBin: true + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} - big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + oniguruma-parser@0.12.2: + resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + oniguruma-to-es@4.3.6: + resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} - body-parser@1.20.5: - resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} - bonjour-service@1.4.0: - resolution: {integrity: sha512-fGQtj1qdR9vIKjFiWPQd52qIqwjaYqhcI40JEiDuvlZ86E7ZBPBwY9fPgHy9r2rYGIjiRfctNPYz6OQU73ww2w==} + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + openid-client@6.8.2: + resolution: {integrity: sha512-uOvTCndr4udZsKihJ68H9bUICrriHdUVJ6Az+4Ns6cW55rwM5h0bjVIzDz2SxgOI84LKjFyjOFvERLzdTUROGA==} - boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + orderedmap@2.1.1: + resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} - boxen@7.1.1: - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} - engines: {node: '>=14.16'} + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} + engines: {node: '>= 0.4'} - brace-expansion@1.1.15: - resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + p-any@4.0.0: + resolution: {integrity: sha512-S/B50s+pAVe0wmEZHmBs/9yJXeZ5KhHzOsgKzt0hRdgkoR3DxW9ts46fcsWi/r3VnzsnkKS7q4uimze+zjdryw==} + engines: {node: '>=12.20'} - brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} - brace-expansion@5.0.7: - resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} - engines: {node: 18 || 20 || >=22} + p-some@6.0.0: + resolution: {integrity: sha512-CJbQCKdfSX3fIh8/QKgS+9rjm7OBNUTmwWswAFQAhc8j1NR1dsEDETUEuVUtQHZpV+J03LqWBEwvu0g1Yn+TYg==} + engines: {node: '>=12.20'} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + p-timeout@5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + parse-css-color@0.2.1: + resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==} - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - bytestreamjs@2.0.1: - resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} - engines: {node: '>=6.0.0'} + patch-console@2.0.0: + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} + path-expression-matcher@1.6.2: + resolution: {integrity: sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==} + engines: {node: '>=14.0.0'} - cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - call-bind@1.0.9: - resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} - engines: {node: '>= 0.4'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} - camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} + pony-cause@1.1.1: + resolution: {integrity: sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==} + engines: {node: '>=12.0.0'} - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} - caniuse-lite@1.0.30001797: - resolution: {integrity: sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 - ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + postcss-js@4.1.0: + resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} + engines: {node: '>=4'} - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} + engines: {node: ^10 || ^12 || >=14} - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + posthog-node@5.17.2: + resolution: {integrity: sha512-lz3YJOr0Nmiz0yHASaINEDHqoV+0bC3eD8aZAG+Ky292dAnVYul+ga/dMX8KCBXg8hHfKdxw0SztYD5j6dgUqQ==} + engines: {node: '>=20'} - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. + hasBin: true - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + prettier@3.9.4: + resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==} + engines: {node: '>=14'} + hasBin: true - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} - character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + prosemirror-model@1.25.4: + resolution: {integrity: sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==} - charset@1.0.1: - resolution: {integrity: sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==} - engines: {node: '>=4.0.0'} + proxy-addr@2.0.8: + resolution: {integrity: sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==} + engines: {node: '>= 0.10'} - cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + public-ip@5.0.0: + resolution: {integrity: sha512-xaH3pZMni/R2BG7ZXXaWS9Wc9wFlhyDVJF47IJ+3ali0TGv+2PsckKxbmo+rnx3ZxiV2wblVhtdS3bohAP6GGw==} + engines: {node: ^14.13.1 || >=16.0.0} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} - chokidar@5.0.0: - resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} - engines: {node: '>= 20.19.0'} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} + qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} + engines: {node: '>=0.6'} - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - - clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} + qs@6.16.1: + resolution: {integrity: sha512-5Px6J7rfHBAGUhNQ3es4YzcOdBBw0SDcVtThJml4RdnKw4tKs2epA0kPZ+K8X+WiHktT93RHVcQ/3ym5aTCgtg==} + engines: {node: '>=0.6'} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} - cliui@9.0.1: - resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} - engines: {node: '>=20'} + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true - clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} - engines: {node: '>=6'} + re2js@2.8.6: + resolution: {integrity: sha512-xLgQil4kIUCrAzVk9fRSkxkFNwmygLFjVxXrLc65aE1F0+Zsb8rxumFBy4XKyvgMCTL6kilDq3EZ0piE2dP/Dg==} + engines: {node: '>=18.0.0'} - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} + react-dom@19.3.1: + resolution: {integrity: sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==} + peerDependencies: + react: ^19.3.1 - collapse-white-space@2.1.0: - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + react-reconciler@0.32.0: + resolution: {integrity: sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^19.1.0 - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + read-cache@1.0.2: + resolution: {integrity: sha512-/peqiBB/n07gQGLsWaHho3WfvUyRscw0gYTsEFMhrIe/nWLkYaf5SbKYjGYqtRV3aPwykJgF2VEMo1ac4bnsGA==} - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} - colorette@1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - combine-promises@1.2.0: - resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} - engines: {node: '>=10'} + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} + rehype-katex@7.0.1: + resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + rehype-minify-whitespace@6.0.2: + resolution: {integrity: sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + rehype-parse@9.0.1: + resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - compute-gcd@1.2.1: - resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} + rehype-stringify@10.0.1: + resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} - compute-lcm@1.1.2: - resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==} + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - configstore@6.0.0: - resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} - engines: {node: '>=12'} + remark-math@6.0.0: + resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} - connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} + remark-mdx-remove-esm@1.3.3: + resolution: {integrity: sha512-KgGfD4JV3lKse0n/m8UxW4jK6H/9ffkCVxVAJ60aGY4uiPX/+SQCT5/lQcRGcjyQuRLDq2Df2krv6pD/qWJRVw==} + peerDependencies: + unified: ^11 - consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} - content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} - cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + remark-smartypants@3.0.2: + resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} + engines: {node: '>=16.0.0'} - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - copy-text-to-clipboard@3.2.2: - resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} - engines: {node: '>=12'} + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} - copy-webpack-plugin@11.0.0: - resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - webpack: ^5.1.0 + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} - core-js-compat@3.49.0: - resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} + reselect@5.3.0: + resolution: {integrity: sha512-XGoLeRAVzUTcJ1qkxPQhDJyIZ5d6zzZD9nT7AEZOaaU9UbWclhycElmhO+VD5bFeLuzhPBaOV2oXC8uG35ZSpg==} - core-js@3.49.0: - resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolve@1.22.13: + resolution: {integrity: sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==} + engines: {node: '>= 0.4'} + hasBin: true - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + retext-smartypants@6.2.0: + resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==} - crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} - crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} - css-blank-pseudo@7.0.1: - resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - css-declaration-sorter@7.4.0: - resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} - css-has-pseudo@7.0.3: - resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - css-in-js-utils@3.1.0: - resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - css-loader@6.11.0: - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} - css-minimizer-webpack-plugin@5.0.1: - resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@parcel/css': '*' - '@swc/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - lightningcss: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - '@swc/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - lightningcss: - optional: true + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - css-prefers-color-scheme@10.0.0: - resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + safe-stable-stringify@1.1.1: + resolution: {integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==} - css-selector-parser@1.4.1: - resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + satori@0.33.5: + resolution: {integrity: sha512-PNW6ktrQ8SM6kk7u4aOuTkkUewkzyTOrj+QeEzXSsnNMAdff4ire9CAqIz8+4C3rCiBtK8QTELv52AZEd1PbRw==} + engines: {node: '>=16'} - 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'} + sax@1.6.1: + resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==} + engines: {node: '>=11.0.0'} - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} - css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} - cssdb@8.9.0: - resolution: {integrity: sha512-J8jOU/hLjaXcO1LldOLraJSQpfLXRKof0I7mtbRyOy2AAXgqst0x9rlgi2qXeD6d0ou3ZLqcPAMqYVbpCbrxEw==} + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} hasBin: true - cssnano-preset-advanced@6.1.2: - resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} - cssnano-preset-default@6.1.2: - resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + serialize-error@13.0.2: + resolution: {integrity: sha512-G+YKwp9I6IvWMe5RlwqxdmTPIcq/G8HK/sU51gdV1XAJznYkRSTB0ph+zB9AfSxG0fx6xrqYA6i9HeIcHFTXow==} + engines: {node: '>=20'} - cssnano-utils@4.0.2: - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} - cssnano@6.1.2: - resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} - 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'} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 + sharp-ico@0.1.5: + resolution: {integrity: sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q==} - cytoscape@3.34.0: - resolution: {integrity: sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==} - engines: {node: '>=0.10'} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} + shiki@3.23.0: + resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==} - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} + simple-swizzle@0.2.4: + resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} + slice-ansi@7.1.2: + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} + engines: {node: '>=18'} - d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} - engines: {node: '>=12'} + socket.io-adapter@2.5.8: + resolution: {integrity: sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==} - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} + socket.io-parser@4.2.7: + resolution: {integrity: sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==} + engines: {node: '>=10.0.0'} - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} + socket.io@4.8.0: + resolution: {integrity: sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==} + engines: {node: '>=10.2.0'} - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + source-map-js@1.2.2: + resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} + engines: {node: '>=0.10.0'} - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} + string.prototype.codepointat@0.2.1: + resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} + engines: {node: '>= 0.4'} - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} + engines: {node: '>= 0.4'} - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} - dagre-d3-es@7.0.14: - resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} + strnum@2.5.1: + resolution: {integrity: sha512-UM4nTLWzQiDBseVxUGxN0wJzIk0UU89Qi7pKXz9qISo+lhviJikTuikBsK/oFRlpvYHvSdz0TVoLyQ+sEpYwxA==} - dayjs@1.11.21: - resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true - decode-named-character-reference@1.3.0: - resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + sucrase@3.35.1: + resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + tar-fs@2.1.5: + resolution: {integrity: sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==} - default-browser-id@5.0.1: - resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} - engines: {node: '>=18'} + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} - default-browser@5.5.0: - resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + tar@7.5.21: + resolution: {integrity: sha512-XdhtCvlMywwxpCW8YEq3lOXBJpUPTR2OHHcwLPO3HwsJqOHa2Ok/oJ7ruGzp+JrKoRPVCzJwAdEjqLW/vNRPHA==} engines: {node: '>=18'} - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} - define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + to-data-view@1.1.0: + resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==} - delaunator@5.1.0: - resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + trim-trailing-lines@2.1.0: + resolution: {integrity: sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==} - detect-libc@2.1.2: - resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} - engines: {node: '>=8'} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - detect-package-manager@3.0.2: - resolution: {integrity: sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==} - engines: {node: '>=12'} + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} - hasBin: true + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - diff@5.2.2: - resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} - engines: {node: '>=0.3.1'} + twoslash-protocol@0.3.9: + resolution: {integrity: sha512-9/iwp+CXOnjFMPQuPL5PkuRbZnDoNpBvtJCLs9t8kDYkL3YHujbvnHfZA1i5fApDftVEdBw+T/4F+dH5kIzpYQ==} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + twoslash@0.3.9: + resolution: {integrity: sha512-rDclk+OtzuTX+tnea7DYLCkqGQ3eP0IyfD+kzUJ7t46X/NzlaxwrhecmEBNuSCuEn3V+n1PhcjUUQQ7gUJzX5Q==} + peerDependencies: + typescript: ^5.5.0 || ^6.0.0 - dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} - docusaurus-markdown-source-plugin@2.2.5: - resolution: {integrity: sha512-UP/ilYJ66Yyt+8wjFzRK7xYLm6z4QxZy6fo6myvjtV5MNi1SKhbaPTBMD/sZjn2icCtsFlpwL+rf9JEpaw3VSA==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@docusaurus/core': ^3.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} - docusaurus-plugin-llms@0.4.0: - resolution: {integrity: sha512-jYlj2HJ5+gu7oJZuJ83Hk8KlB65YlZZ/7UpHXiL7Qr+qpNBkVocmt2Molc6F3HNr5RqcfhWD/98CvgyNztg/ow==} - engines: {node: '>=18.0'} - peerDependencies: - '@docusaurus/core': ^3.0.0 + type-fest@5.10.0: + resolution: {integrity: sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==} + engines: {node: '>=20'} - docusaurus-plugin-openapi-docs@5.1.0: - resolution: {integrity: sha512-ocRemE3KmdhhPKaow5hja1m1NLIPfNlfRYFt7pja+nG26Wlp0MEC9ERS99gSWEWaxU+txDFBpUXsxo7nGlk8ZA==} - engines: {node: '>=14'} - peerDependencies: - '@docusaurus/plugin-content-docs': ^3.10.0 - '@docusaurus/utils': ^3.10.0 - '@docusaurus/utils-validation': ^3.10.0 - react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} - docusaurus-plugin-sass@0.2.6: - resolution: {integrity: sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==} - peerDependencies: - '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha - sass: ^1.30.0 + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} - docusaurus-plugin-sentry@2.1.0: - resolution: {integrity: sha512-tBDPEF4AukkKiJx/J/Ur+CSDen1MXzqoSWCSnMFN+xyHJBUgM3ghEe5w2JjBiAcWPai3Wyt4Y8rxahhMhKEmnQ==} - engines: {node: '>=18'} - peerDependencies: - '@docusaurus/core': '>=3' - react: '>=18' - react-dom: '>=18' + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} - docusaurus-theme-openapi-docs@5.1.0: - resolution: {integrity: sha512-SLHg1lodIM5AEGo0EJx4pJ+9szDDrN8Q+hNk5qqTVJ60k/zKjHAnwGCzVDT25K1CCMDPaUzuuruj43d7TRoQKw==} - engines: {node: '>=14'} - peerDependencies: - '@docusaurus/theme-common': ^3.10.0 - docusaurus-plugin-openapi-docs: ^5.0.0 - docusaurus-plugin-sass: ^0.2.3 - react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 + typed-array-byte-offset@1.0.5: + resolution: {integrity: sha512-0FHJvLPqZ7KJzp17O13jfsAjsqazgrxBu2zEK95PmUz8lv2+GjRuxUInCr2Rk9Dms3ihN21zJ929ZO43yJ95QQ==} + engines: {node: '>= 0.4'} - dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} + engines: {node: '>= 0.4'} - dom-helpers@3.4.0: - resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true - dom-helpers@5.2.1: - resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + undici-types@8.9.0: + resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + unist-builder@4.0.0: + resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==} - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - dompurify@3.4.8: - resolution: {integrity: sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==} + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + unist-util-map@4.0.0: + resolution: {integrity: sha512-HJs1tpkSmRJUzj6fskQrS5oYhBYlmtcvy4SepdDEEsL04FjBrgF0Mgggvxc1/qGBGgW7hRh9+UBK1aqTEnBpIA==} - dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - electron-to-chromium@1.5.370: - resolution: {integrity: sha512-D5tSHJReAb/Kf3Hu9F/GO4lJuSWzEWHwvQ/kKSUP7pimNgvxkSKj+gUQhHpKKACwrin7rS3byU7IxreF56rl5g==} + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} - emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - emoticon@4.1.0: - resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - enhanced-resolve@5.23.0: - resolution: {integrity: sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==} - engines: {node: '>=10.13.0'} + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + urijs@1.19.11: + resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + use-sync-external-store@1.7.0: + resolution: {integrity: sha512-6L+EeigHMQhdaIPNIFUKwfWJSwWFQ8gJbJ2DLOs5sDIegTwR9fRxvnM3uciHKjIZhFz+KAv2emhWMRvDmMcY8A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} - error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + uuid@11.1.1: + resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==} + hasBin: true - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + valibot@1.5.0: + resolution: {integrity: sha512-nil6AkP2TChWL43Z5uJ6GTxX01CUA+g8LWUM+N/rB9NBbkUMaUsi9PUNzlUPgoKASgmx9f7eGOYpJ04/fSa6FQ==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true - es-module-lexer@2.1.0: - resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + validate.io-array@1.0.6: + resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} - es-object-atoms@1.1.2: - resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} - engines: {node: '>= 0.4'} + validate.io-function@1.0.2: + resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==} - es-toolkit@1.47.0: - resolution: {integrity: sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==} + validate.io-integer-array@1.0.0: + resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==} - es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + validate.io-integer@1.0.5: + resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==} - esast-util-from-estree@2.0.0: - resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + validate.io-number@1.0.3: + resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} - esast-util-from-js@2.0.1: - resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - escape-goat@4.0.0: - resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} - engines: {node: '>=12'} + vfile-matter@5.0.1: + resolution: {integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - eslint-scope@9.1.2: - resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - eslint-visitor-keys@5.0.1: - resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + which-typed-array@1.1.24: + resolution: {integrity: sha512-wk4Mf4pR5mRP7eYuuTBCIQ9d0ud2Fv2jRLQpfgnRjbOxAFHmjKFValgTpitVKzJJS8ajnYQV2Du1SZ8j6b/EUQ==} + engines: {node: '>= 0.4'} - eslint@10.6.0: - resolution: {integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true + + widest-line@5.0.0: + resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} + engines: {node: '>=18'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + engines: {node: '>=10.0.0'} peerDependencies: - jiti: '*' + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' peerDependenciesMeta: - jiti: + bufferutil: + optional: true + utf-8-validate: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - espree@11.2.0: - resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + ws@8.22.0: + resolution: {integrity: sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + xml-naming@0.3.0: + resolution: {integrity: sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==} + engines: {node: '>=16.0.0'} - esquery@1.7.0: - resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} - engines: {node: '>=0.10'} + xml2js@0.6.2: + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} + engines: {node: '>=4.0.0'} - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + xss@1.0.15: + resolution: {integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==} + engines: {node: '>= 0.10.0'} + hasBin: true - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} - estree-util-attach-comments@3.0.0: - resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} - estree-util-build-jsx@3.0.1: - resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} + hasBin: true - estree-util-is-identifier-name@3.0.0: - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} - estree-util-scope@1.0.0: - resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} - estree-util-to-js@2.0.0: - resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + yargs@17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} - estree-util-value-to-estree@3.5.0: - resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} - estree-util-visit@2.0.0: - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + yoga-layout@3.2.1: + resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + zod-to-json-schema@3.20.4: + resolution: {integrity: sha512-Un9+kInJ2Zt63n6Z7mLqBifzzPcOyX+b+Exuzf7L1+xqck9Q2EPByyTRduV3kmSPaXaRer1JCsucubpgL1fipg==} + peerDependencies: + zod: ^3.20.0 - eta@2.2.0: - resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} - engines: {node: '>=6.0.0'} + zod@3.24.0: + resolution: {integrity: sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==} - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + zod@4.3.6: + resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - eval@0.1.8: - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} - engines: {node: '>= 0.8'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} +snapshots: - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + '@alcalzone/ansi-tokenize@0.2.5': + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + '@alloc/quick-lru@5.3.0': {} - exenv@1.2.2: - resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==} + '@ark/schema@0.56.7': + dependencies: + '@ark/util': 0.56.7 - express@4.22.2: - resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} - engines: {node: '>= 0.10.0'} + '@ark/util@0.56.7': {} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} + '@asyncapi/parser@3.4.0': + dependencies: + '@asyncapi/specs': 6.11.1 + '@openapi-contrib/openapi-schema-to-json-schema': 3.2.0 + '@stoplight/json': 3.21.0 + '@stoplight/json-ref-readers': 1.2.2 + '@stoplight/json-ref-resolver': 3.1.6 + '@stoplight/spectral-core': 1.24.0 + '@stoplight/spectral-functions': 1.11.0 + '@stoplight/spectral-parsers': 1.0.5 + '@stoplight/spectral-ref-resolver': 1.0.5 + '@stoplight/types': 13.20.0 + '@types/json-schema': 7.0.15 + '@types/urijs': 1.19.26 + ajv: 8.20.0 + ajv-errors: 3.0.0(ajv@8.20.0) + ajv-formats: 2.1.1(ajv@8.20.0) + avsc: 5.7.9 + js-yaml: 4.3.1 + jsonpath-plus: 10.4.0 + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + '@asyncapi/specs@6.11.1': + dependencies: + '@types/json-schema': 7.0.15 - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + '@babel/helper-validator-identifier@7.29.7': {} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + '@babel/runtime@8.0.7': {} - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + '@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)': + dependencies: + '@babel/runtime': 8.0.7 + '@base-ui/utils': 0.5.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3) + '@floating-ui/react-dom': 2.1.9(react-dom@19.3.1(react@19.2.3))(react@19.2.3) + '@floating-ui/utils': 0.2.12 + react: 19.2.3 + react-dom: 19.3.1(react@19.2.3) + use-sync-external-store: 1.7.0(react@19.2.3) + optionalDependencies: + '@types/react': 19.3.0 - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + '@base-ui/utils@0.5.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)': + dependencies: + '@babel/runtime': 8.0.7 + '@floating-ui/utils': 0.2.12 + react: 19.2.3 + react-dom: 19.3.1(react@19.2.3) + reselect: 5.3.0 + use-sync-external-store: 1.7.0(react@19.2.3) + optionalDependencies: + '@types/react': 19.3.0 - fast-shallow-equal@1.0.0: - resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} + '@canvas/image-data@1.1.0': {} - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true - fast-uri@3.1.3: - resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} + '@esbuild/aix-ppc64@0.25.12': + optional: true - fast-uri@3.1.5: - resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} + '@esbuild/android-arm64@0.25.12': + optional: true - fastest-stable-stringify@2.0.2: - resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} + '@esbuild/android-arm@0.25.12': + optional: true - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + '@esbuild/android-x64@0.25.12': + optional: true - fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + '@esbuild/darwin-arm64@0.25.12': + optional: true - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + '@esbuild/darwin-x64@0.25.12': + optional: true - faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} + '@esbuild/freebsd-arm64@0.25.12': + optional: true - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true + '@esbuild/freebsd-x64@0.25.12': + optional: true - feed@4.2.2: - resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} - engines: {node: '>=0.4.0'} + '@esbuild/linux-arm64@0.25.12': + optional: true - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + '@esbuild/linux-arm@0.25.12': + optional: true - file-loader@6.2.0: - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 + '@esbuild/linux-ia32@0.25.12': + optional: true - file-saver@2.0.5: - resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + '@esbuild/linux-loong64@0.25.12': + optional: true - file-type@3.9.0: - resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} - engines: {node: '>=0.10.0'} + '@esbuild/linux-mips64el@0.25.12': + optional: true - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + '@esbuild/linux-ppc64@0.25.12': + optional: true - finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} + '@esbuild/linux-riscv64@0.25.12': + optional: true - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} + '@esbuild/linux-s390x@0.25.12': + optional: true - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + '@esbuild/linux-x64@0.25.12': + optional: true - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + '@esbuild/netbsd-arm64@0.25.12': + optional: true - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + '@esbuild/netbsd-x64@0.25.12': + optional: true - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true + '@esbuild/openbsd-arm64@0.25.12': + optional: true - flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + '@esbuild/openbsd-x64@0.25.12': + optional: true - fnv-plus@1.3.1: - resolution: {integrity: sha512-Gz1EvfOneuFfk4yG458dJ3TLJ7gV19q3OM/vVvvHf7eT02Hm1DleB4edsia6ahbKgAYxO9gvyQ1ioWZR+a00Yw==} + '@esbuild/openharmony-arm64@0.25.12': + optional: true - follow-redirects@1.16.0: - resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + '@esbuild/sunos-x64@0.25.12': + optional: true - foreach@2.0.6: - resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} + '@esbuild/win32-arm64@0.25.12': + optional: true - form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} + '@esbuild/win32-ia32@0.25.12': + optional: true - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} + '@esbuild/win32-x64@0.25.12': + optional: true - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + '@floating-ui/core@1.8.0': + dependencies: + '@floating-ui/utils': 0.2.12 - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + '@floating-ui/dom@1.8.0': + dependencies: + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + '@floating-ui/react-dom@2.1.9(react-dom@19.3.1(react@19.2.3))(react@19.2.3)': + dependencies: + '@floating-ui/dom': 1.8.0 + react: 19.2.3 + react-dom: 19.3.1(react@19.2.3) - fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + '@floating-ui/utils@0.2.12': {} - fs-extra@11.3.6: - resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} - engines: {node: '>=14.14'} + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true - get-east-asian-width@1.6.0: - resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} - engines: {node: '>=18'} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob-to-regex.js@1.2.0: - resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - - glob@13.0.6: - resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} - engines: {node: 18 || 20 || >=22} - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} - - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - graphlib@2.1.8: - resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - - handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-yarn@3.0.0: - resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - hash-color-material@1.1.3: - resolution: {integrity: sha512-SkyBUHHWqaLI5+wUWvEcvy0i4bvf/lrr7xauh6LB7Z/gkD8dYoQpemNA42Zy3KZ970GuuUYL+txRn1B+Xgaf0g==} - - hasown@2.0.4: - resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} - engines: {node: '>= 0.4'} - - hast-to-hyperscript@10.0.3: - resolution: {integrity: sha512-NuBoUStp4fRwmvlfbidlEiRSTk0gSHm+97q4Xn9CJ10HO+Py7nlTuDi6RhM1qLOureukGrCXLG7AAxaGqqyslQ==} - - hast-util-from-dom@5.0.1: - resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} - - hast-util-from-html-isomorphic@2.0.0: - resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} - - hast-util-from-html@2.0.3: - resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} - - hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - - hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - - hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} - - hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} - - hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - - hast-util-raw@7.0.0: - resolution: {integrity: sha512-3UKuYgaqakZrY916JfQzqSk8xZGyxpj9zwfPB3MctXLDorPdyqk1QZGZoCEqU2LMIEzVXBZukAQs7aAH9TJPIw==} - - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - - hast-util-sanitize@4.1.0: - resolution: {integrity: sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw==} - - hast-util-to-estree@3.1.3: - resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} - - hast-util-to-jsx-runtime@2.3.6: - resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} - - hast-util-to-parse5@7.1.0: - resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} - - hast-util-to-parse5@8.0.1: - resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} - - hast-util-to-text@4.0.2: - resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} - - hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - - hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - - hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} - - hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} - - hastscript@9.0.1: - resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - - highlightjs-vue@1.0.0: - resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==} - - history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} - - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - - hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} - hasBin: true - - html-minifier-terser@7.2.0: - resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} - engines: {node: ^14.13.1 || >=16.0.0} - hasBin: true - - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - - html-url-attributes@3.0.1: - resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} - - html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - - html-webpack-plugin@5.6.7: - resolution: {integrity: sha512-md+vXtdCAe60s1k6AU3dUyMJnDxUyQAwfwPKoLisvgUF1IXjtlLsk2se54+qfL9Mdm26bbwvjJybpNx48NKRLw==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - - http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - - http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - - http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} - - http-parser-js@0.5.10: - resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} - - http-proxy-middleware@2.0.9: - resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http-reasons@0.1.0: - resolution: {integrity: sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==} - - http2-client@1.3.5: - resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} - - http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - - hyperdyperid@1.2.0: - resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} - engines: {node: '>=10.18'} - - hyphenate-style-name@1.1.0: - resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - icss-utils@5.1.0: - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - image-size@2.0.2: - resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} - engines: {node: '>=16.x'} - hasBin: true - - immer@11.1.9: - resolution: {integrity: sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==} - - immutable@5.1.6: - resolution: {integrity: sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ==} - - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - - import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - - import-meta-resolve@4.2.0: - resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - infima@0.2.0-alpha.45: - resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} - engines: {node: '>=12'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - - inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - - inline-style-parser@0.2.7: - resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - - inline-style-prefixer@7.0.1: - resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} - - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - ipaddr.js@2.4.0: - resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} - engines: {node: '>= 10'} - - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - - is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - - is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-core-module@2.16.2: - resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} - engines: {node: '>= 0.4'} - - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - - is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - - is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - - is-network-error@1.3.2: - resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==} - engines: {node: '>=16'} - - is-npm@6.1.0: - resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - is-wsl@3.1.1: - resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} - engines: {node: '>=16'} - - is-yarn-global@0.4.1: - resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} - engines: {node: '>=12'} - - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - isomorphic-fetch@3.0.0: - resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} - hasBin: true - - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - - jotai@1.13.1: - resolution: {integrity: sha512-RUmH1S4vLsG3V6fbGlKzGJnLrDcC/HNb5gH2AeA9DzuJknoVxSGvvg8OBB7lke+gDc4oXmdVsaKn/xDUhWZ0vw==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@babel/core': '*' - '@babel/template': '*' - jotai-devtools: '*' - jotai-immer: '*' - jotai-optics: '*' - jotai-redux: '*' - jotai-tanstack-query: '*' - jotai-urql: '*' - jotai-valtio: '*' - jotai-xstate: '*' - jotai-zustand: '*' - react: '>=16.8' - peerDependenciesMeta: - '@babel/core': - optional: true - '@babel/template': - optional: true - jotai-devtools: - optional: true - jotai-immer: - optional: true - jotai-optics: - optional: true - jotai-redux: - optional: true - jotai-tanstack-query: - optional: true - jotai-urql: - optional: true - jotai-valtio: - optional: true - jotai-xstate: - optional: true - jotai-zustand: - optional: true - - js-cookie@2.2.1: - resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} - - js-levenshtein@1.1.6: - resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} - engines: {node: '>=0.10.0'} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.15.1: - resolution: {integrity: sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - js-yaml@4.3.1: - resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-crawl@0.5.3: - resolution: {integrity: sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==} - engines: {node: '>=14.0.0'} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-pointer@0.6.2: - resolution: {integrity: sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==} - - json-schema-compare@0.2.2: - resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} - - json-schema-merge-allof@0.8.1: - resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==} - engines: {node: '>=12.0.0'} - - json-schema-to-ts@2.7.2: - resolution: {integrity: sha512-R1JfqKqbBR4qE8UyBR56Ms30LL62/nlhoz+1UkfI/VE7p54Awu919FZ6ZUPG8zIa3XB65usPJgr1ONVncUGSaQ==} - engines: {node: '>=16'} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonc-parser@2.2.1: - resolution: {integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==} - - jsonfile@6.2.1: - resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - - katex@0.16.47: - resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} - hasBin: true - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - - latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - - launch-editor@2.14.1: - resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} - - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [android] - - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] - - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - liquid-json@0.3.1: - resolution: {integrity: sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==} - engines: {node: '>=4'} - - loader-runner@4.3.2: - resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} - engines: {node: '>=6.11.5'} - - loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash-es@4.18.1: - resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} - - lodash@4.18.1: - resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - - longest-streak@2.0.4: - resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} - - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - - lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lowlight@1.20.0: - resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} - - lru-cache@11.5.1: - resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} - engines: {node: 20 || >=22} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - magic-error@0.0.1: - resolution: {integrity: sha512-1+N1ET8cbC5bfLQZcRojClzgK2gbUt9keTMr9OJeuXnQKWsfwRRRICuMA3HKaCIXFEgKzxivuMGCNKD7cdU5pg==} - engines: {node: '>=10'} - - markdown-extensions@2.0.0: - resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} - engines: {node: '>=16'} - - markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - - markdown-to-jsx@7.7.17: - resolution: {integrity: sha512-7mG/1feQ0TX5I7YyMZVDgCC/y2I3CiEhIRQIhyov9nGBP5eoVrOXXHuL5ZP8GRfxVZKRiXWJgwXkb9It+nQZfQ==} - engines: {node: '>= 10'} - peerDependencies: - react: '>= 0.14.0' - peerDependenciesMeta: - react: - optional: true - - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - - mdast-util-directive@3.1.0: - resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} - - mdast-util-find-and-replace@1.1.1: - resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} - - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - - mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} - - mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - - mdast-util-from-markdown@2.0.3: - resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} - - mdast-util-frontmatter@0.2.0: - resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} - - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - - mdast-util-gfm-autolink-literal@0.1.3: - resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} - - 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@0.2.3: - resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@0.1.6: - resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@0.1.6: - resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@0.1.2: - resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} - - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - - mdast-util-math@3.0.0: - resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} - - 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@11.3.0: - resolution: {integrity: sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw==} - - mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - - mdast-util-to-hast@13.2.1: - resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - - mdast-util-to-markdown@0.6.5: - resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} - - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - - mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - - mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - - mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memfs@4.57.6: - resolution: {integrity: sha512-WQK+DGjKCnPdpSyJUXphz+COF2uEhhsxQ3VIWBSbzpbbXuch3h4FePMqXrXGdLjsTgo4JFzBFsP6AWd9pVazGw==} - peerDependencies: - tslib: '2' - - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - mermaid@11.15.0: - resolution: {integrity: sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==} - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - - micromark-core-commonmark@2.0.3: - resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - - micromark-extension-directive@3.0.2: - resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} - - micromark-extension-frontmatter@0.2.2: - resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} - - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - - micromark-extension-gfm-autolink-literal@0.5.7: - resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} - - 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@0.6.5: - resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} - - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - - micromark-extension-gfm-table@0.4.3: - resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} - - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - - micromark-extension-gfm-tagfilter@0.3.0: - resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@0.3.3: - resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} - - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - - micromark-extension-gfm@0.3.3: - resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - - micromark-extension-math@3.1.0: - resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} - - 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@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - - micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - - micromark-factory-mdx-expression@2.0.3: - resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - - micromark-factory-space@2.0.1: - resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - - micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - - micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - - micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - - micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - - micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - - micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - - micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - - 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@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - - micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - - micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - - micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - - micromark-util-subtokenize@2.1.0: - resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - - micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} - - micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - - micromark@4.0.2: - resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - - mime-format@2.0.2: - resolution: {integrity: sha512-Y5ERWVcyh3sby9Fx2U5F1yatiTFjNsqF5NltihTWI9QgNtr5o3dbCZdcKa1l2wyfhnwwoP9HGNxga7LqZLA6gw==} - - mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - - mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - mini-css-extract-plugin@2.10.2: - resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimatch@10.2.5: - resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} - engines: {node: 18 || 20 || >=22} - - minimatch@3.1.5: - resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.3: - resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} - engines: {node: '>=16 || 14 >=14.17'} - - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - - mustache@4.2.0: - resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} - hasBin: true - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - nano-css@5.6.2: - resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} - peerDependencies: - react: '*' - react-dom: '*' - - nano-memoize@1.3.1: - resolution: {integrity: sha512-wQiW3xHptgGlec/Zbo7oq6Zz4kKoK8TaIIs1irTO9iJOGTIG3lnQRUJfH73bJ/rn7MOE4sTdSU+ALPGEidaijQ==} - - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - neotraverse@0.6.15: - resolution: {integrity: sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==} - engines: {node: '>= 10'} - - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-fetch-h2@2.3.0: - resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} - engines: {node: 4.x || >=6.0.0} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-readfiles@0.2.0: - resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} - - node-releases@2.0.47: - resolution: {integrity: sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==} - engines: {node: '>=18'} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-url@8.1.1: - resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} - engines: {node: '>=14.16'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - npm-to-yarn@3.0.1: - resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - null-loader@4.0.1: - resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - oas-kit-common@1.0.8: - resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} - - oas-linter@3.2.2: - resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} - - oas-resolver-browser@2.5.6: - resolution: {integrity: sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==} - hasBin: true - - oas-resolver@2.5.6: - resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} - hasBin: true - - oas-schema-walker@1.1.5: - resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} - - oas-validator@5.0.8: - resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - open@10.2.0: - resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} - engines: {node: '>=18'} - - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - openapi-to-postmanv2@6.2.0: - resolution: {integrity: sha512-kKGHW5df7Fti9/tpFDNr9oX1ZGLJySuZane7YuehP/gzyVpp/q9tq86g4dRko+PyA7VBkyFN1prXcDoaWOiFNw==} - engines: {node: '>=18'} - hasBin: true - - openapi-types@12.1.3: - resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} - - p-retry@6.2.1: - resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} - engines: {node: '>=16.17'} - - p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - - package-json@8.1.1: - resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} - engines: {node: '>=14.16'} - - package-manager-detector@1.6.0: - resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} - - pako@2.2.0: - resolution: {integrity: sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==} - - param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - - parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - - path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@2.0.2: - resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} - engines: {node: 18 || 20 || >=22} - - path-to-regexp@0.1.13: - resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - - path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} - - path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} - engines: {node: '>=8.6'} - - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} - - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - - pkijs@3.4.0: - resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} - engines: {node: '>=16.0.0'} - - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - - polished@4.3.1: - resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} - engines: {node: '>=10'} - - postcss-attribute-case-insensitive@7.0.1: - resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-calc@9.0.1: - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 - - postcss-clamp@4.1.0: - resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} - engines: {node: '>=7.6.0'} - peerDependencies: - postcss: ^8.4.6 - - postcss-color-functional-notation@7.0.12: - resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-hex-alpha@10.0.0: - resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-rebeccapurple@10.0.0: - resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-colormin@6.1.0: - resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-convert-values@6.1.0: - resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-custom-media@11.0.6: - resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-custom-properties@14.0.6: - resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-custom-selectors@8.0.5: - resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-dir-pseudo-class@9.0.1: - resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-discard-comments@6.0.2: - resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-duplicates@6.0.3: - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-empty@6.0.3: - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-overridden@6.0.2: - resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-unused@6.0.5: - resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-double-position-gradients@6.0.4: - resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-focus-visible@10.0.1: - resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-focus-within@9.0.1: - resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-font-variant@5.0.0: - resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} - peerDependencies: - postcss: ^8.1.0 - - postcss-gap-properties@6.0.0: - resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-image-set-function@7.0.0: - resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-lab-function@7.0.12: - resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-loader@7.3.4: - resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - - postcss-logical@8.1.0: - resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-merge-idents@6.0.3: - resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-longhand@6.0.5: - resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-rules@6.1.1: - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-font-values@6.1.0: - resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-gradients@6.0.3: - resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-params@6.1.0: - resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-selectors@6.0.4: - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-modules-extract-imports@3.1.0: - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-local-by-default@4.2.0: - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-values@4.0.0: - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-nesting@13.0.2: - resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-normalize-charset@6.0.2: - resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-display-values@6.0.2: - resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-positions@6.0.2: - resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-repeat-style@6.0.2: - resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-string@6.0.2: - resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-timing-functions@6.0.2: - resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-unicode@6.1.0: - resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-url@6.0.2: - resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-whitespace@6.0.2: - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-opacity-percentage@3.0.0: - resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-ordered-values@6.0.2: - resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-overflow-shorthand@6.0.0: - resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-page-break@3.0.4: - resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} - peerDependencies: - postcss: ^8 - - postcss-place@10.0.0: - resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-preset-env@10.6.1: - resolution: {integrity: sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-pseudo-class-any-link@10.0.1: - resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-reduce-idents@6.0.3: - resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-initial@6.1.0: - resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-transforms@6.0.2: - resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-replace-overflow-wrap@4.0.0: - resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} - peerDependencies: - postcss: ^8.0.3 - - postcss-selector-not@8.0.1: - resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss-selector-parser@7.1.2: - resolution: {integrity: sha512-Wjvt4scRFouioIInHf51IFNP4ltJ2EngJM+cZPGiqbKetBfmP3vpdPV8ID2S6JS6/jdo74N8+aEYH9lQr2C6sA==} - engines: {node: '>=4'} - - postcss-sort-media-queries@5.2.0: - resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.4.23 - - postcss-svgo@6.0.3: - resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.4.31 - - postcss-unique-selectors@6.0.4: - resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss-zindex@6.0.2: - resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} - engines: {node: ^10 || ^12 || >=14} - - postman-code-generators@2.1.1: - resolution: {integrity: sha512-+egQK1Jf9a92QP23vRTKcDLOthIQmI7WI4czEsZq/wgguLMnVHJ26KlT8AVtpAdVw28hqUbHwicerYxRWCfjoA==} - engines: {node: '>=18'} - - postman-collection@5.3.0: - resolution: {integrity: sha512-PMa5vRheqDFfS1bkRg8WBidWxunRA80sT5YNLP27YC5+ycyfiLMCwPnqQd1zfvxkGk04Pr9UronWmmgsbpsVyQ==} - engines: {node: '>=18'} - - postman-url-encoder@3.0.8: - resolution: {integrity: sha512-EOgUMBazo7JNP4TDrd64TsooCiWzzo4143Ws8E8WYGEpn2PKpq+S4XRTDhuRTYHm3VKOpUZs7ZYZq7zSDuesqA==} - engines: {node: '>=10'} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier@3.9.4: - resolution: {integrity: sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==} - engines: {node: '>=14'} - hasBin: true - - pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - - pretty-time@1.1.0: - resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} - engines: {node: '>=4'} - - prism-react-renderer@1.3.5: - resolution: {integrity: sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==} - peerDependencies: - react: '>=0.14.9' - - prism-react-renderer@2.4.1: - resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} - peerDependencies: - react: '>=16.0.0' - - prismjs@1.27.0: - resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} - engines: {node: '>=6'} - - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - - property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - - property-information@7.2.0: - resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pupa@3.3.0: - resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} - engines: {node: '>=12.20'} - - pvtsutils@1.3.6: - resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} - - pvutils@1.1.5: - resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} - engines: {node: '>=16.0.0'} - - qs@6.15.2: - resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} - engines: {node: '>=0.6'} - - qs@6.15.3: - resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} - engines: {node: '>=0.6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-aria-components@1.18.0: - resolution: {integrity: sha512-FhRQjuDkH4WhgFv+O2sYTzK3JzdZTGpBeaqfRlfTo+DcSZzD8elJEkytHe7SDpcexVKeire8NVd7OruZHfCVoA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react-aria-components@1.20.0: - resolution: {integrity: sha512-BMbpIgoV9aELeBrB0Y120NgoigHb5OdcJwc+4e7uSnbTbamea6lo+gqcc4LAxzMaK3Jf+7LI1oCDE6yANsmxIQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react-aria@3.49.0: - resolution: {integrity: sha512-4+oK9FwJQWYhyA5zLfj/feOGY0zZbkE1muoF4gyxMroHVypjcYaRSTlJwvxph2zIlxt757KX6xIK2wJ5Aw1Kog==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react-aria@3.51.0: - resolution: {integrity: sha512-AyWLw0XR38cFPwBu/ErgGaVrc5dupLEKmRlMXTGvFKOtbaGRQ2+yQJkjVhpdHhoRhU4+G+tJDFeHDTS8tK3bfQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react-dom@19.2.7: - resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} - peerDependencies: - react: ^19.2.7 - - react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - - react-hook-form@7.80.0: - resolution: {integrity: sha512-4P+fk6oXsxY+6xSj7Euhc2sumQD8zQqCuVHoJwoyp9EchP+IUW9OESB7uHFJOKsIBQ4MQqYE84INJFqUCYNoOg==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^16.8.0 || ^17 || ^18 || ^19 - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - react-json-view-lite@2.5.0: - resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} - engines: {node: '>=18'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - - react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - - react-live@4.1.8: - resolution: {integrity: sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==} - engines: {node: '>= 0.12.0', npm: '>= 2.0.0'} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - react-loadable-ssr-addon-v5-slorber@1.0.3: - resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - react-loadable: '*' - webpack: '>=4.41.1 || 5.x' - - react-magic-dropzone@1.0.1: - resolution: {integrity: sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==} - - react-markdown@10.1.0: - resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} - peerDependencies: - '@types/react': '>=18' - react: '>=18' - - react-markdown@8.0.7: - resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - - react-modal@3.16.3: - resolution: {integrity: sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==} - peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 - react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 - - react-overflow-list@0.5.0: - resolution: {integrity: sha512-+UegukgQ10E4ll3txz4DJyrnCgZ3eDVuv5dvR8ziyG5FfgCDZcUKeKhIgbU90oyqQa21aH4oLOoGKt0TiYJRmg==} - engines: {node: '>=10'} - peerDependencies: - react: '>=16' - - react-redux@9.3.0: - resolution: {integrity: sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==} - peerDependencies: - '@types/react': ^18.2.25 || ^19 - react: ^18.0 || ^19 - redux: ^5.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - redux: - optional: true - - react-router-config@5.1.1: - resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} - peerDependencies: - react: '>=15' - react-router: '>=5' - - react-router-dom@5.3.4: - resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} - peerDependencies: - react: '>=15' - - react-router@5.3.4: - resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} - peerDependencies: - react: '>=15' - - react-stately@3.47.0: - resolution: {integrity: sha512-H3ar+SOWP920EbVg7qWfP3fZjZiwhlEJAEJQqjt+w8oKijCwFgr0+R4941PIHscOXRNRvEOjvWilitImC0DdBg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react-stately@3.49.0: - resolution: {integrity: sha512-13iNq2KzBrRAzxRc+n53hgROfIistiYY/sPtIhCw1qUB7/kmo+X1xEU2uiS5zcCIrc55AUPwoHqOIIpKWSwB9A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - react-syntax-highlighter@15.6.6: - resolution: {integrity: sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==} - peerDependencies: - react: '>= 0.14.0' - - react-transition-group@4.4.5: - resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - - react-universal-interface@0.6.2: - resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} - peerDependencies: - react: '*' - tslib: '*' - - react-use@17.6.0: - resolution: {integrity: sha512-OmedEScUMKFfzn1Ir8dBxiLLSOzhKe/dPZwVxcujweSj45aNM7BEGPb9BEVIgVEqEXx6f3/TsXzwIktNgUR02g==} - peerDependencies: - react: '*' - react-dom: '*' - - react@19.2.7: - resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} - engines: {node: '>=0.10.0'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - readdirp@5.0.0: - resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} - engines: {node: '>= 20.19.0'} - - rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - - 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==} - - redux-thunk@3.1.0: - resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} - peerDependencies: - redux: ^5.0.0 - - redux@5.0.1: - resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} - - reflect-metadata@0.2.2: - resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - - refractor@3.6.0: - resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} - - reftools@1.1.9: - resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} - - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - - registry-auth-token@5.1.1: - resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} - engines: {node: '>=14'} - - registry-url@6.0.1: - resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} - engines: {node: '>=12'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.1: - resolution: {integrity: sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==} - hasBin: true - - rehype-katex@7.0.1: - resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - - rehype-recma@1.0.0: - resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - - relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} - - remark-directive@3.0.1: - resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} - - remark-emoji@4.0.1: - resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - remark-frontmatter@3.0.0: - resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} - - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - - remark-gfm@1.0.0: - resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} - - remark-gfm@4.0.1: - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - - remark-math@6.0.0: - resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} - - remark-mdx@3.1.1: - resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - - remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - - remark-parse@9.0.0: - resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} - - remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - - remark-rehype@11.1.2: - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - - remark-stringify@9.0.1: - resolution: {integrity: sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==} - - renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-like@0.1.2: - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - reselect@5.2.0: - resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==} - - resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - - resolve@1.22.12: - resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} - engines: {node: '>= 0.4'} - hasBin: true - - responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - robust-predicates@3.0.3: - resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - - rtl-css-js@1.16.1: - resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} - - rtlcss@4.3.0: - resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} - engines: {node: '>=12.0.0'} - hasBin: true - - run-applescript@7.1.0: - resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} - engines: {node: '>=18'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - - sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-stable-stringify@1.1.1: - resolution: {integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sass-loader@16.0.8: - resolution: {integrity: sha512-hcov4ZwZJIGbEuyNr9EmiTmZueyrxSToE6GOzoZnq5JM7ecRO7ttyvilPn+VmRsqiP16+VYZzVnGZj/hzZgKBA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - '@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0 - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - sass: ^1.3.0 - sass-embedded: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - webpack: - optional: true - - sass@1.101.0: - resolution: {integrity: sha512-OL3GoQyoUdDt843DpVmDO6y2k1sc5IhUDSpu8XucEI+35neq5QivZ1iuegnpraEVTJXlQGK1gl27zKcTLEPbQw==} - engines: {node: '>=20.19.0'} - hasBin: true - - sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - schema-dts@1.1.5: - resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} - - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} - - screenfull@5.2.0: - resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} - engines: {node: '>=0.10.0'} - - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - - selfsigned@5.5.0: - resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} - engines: {node: '>=18'} - - semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} - engines: {node: '>=10'} - hasBin: true - - semver@7.8.3: - resolution: {integrity: sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg==} - engines: {node: '>=10'} - hasBin: true - - semver@7.8.5: - resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} - engines: {node: '>=10'} - hasBin: true - - send@0.19.2: - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} - engines: {node: '>= 0.8.0'} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - serve-handler@6.1.7: - resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} - - serve-index@1.9.2: - resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} - engines: {node: '>= 0.8.0'} - - serve-static@1.16.3: - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} - engines: {node: '>= 0.8.0'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-harmonic-interval@1.0.1: - resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} - engines: {node: '>=6.9'} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.4: - resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} - engines: {node: '>= 0.4'} - - shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - - should-equal@2.0.0: - resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} - - should-format@3.0.3: - resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} - - should-type-adaptors@1.1.0: - resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} - - should-type@1.4.0: - resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} - - should-util@1.0.1: - resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} - - should@13.2.3: - resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} - - side-channel-list@1.0.1: - resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.1: - resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - sitemap@7.1.3: - resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - hasBin: true - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - slugify@1.6.9: - resolution: {integrity: sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==} - engines: {node: '>=8.0.0'} - - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - - sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - - sort-css-media-queries@2.2.0: - resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} - engines: {node: '>= 6.3.0'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.5.6: - resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - - space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - - spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - - spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - srcset@4.0.0: - resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} - engines: {node: '>=12'} - - stack-generator@2.0.10: - resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} - - stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - - stacktrace-gps@3.1.2: - resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} - - stacktrace-js@2.0.2: - resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.2.0: - resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} - engines: {node: '>=12'} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - style-to-js@1.1.21: - resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - - style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - - style-to-object@1.0.14: - resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - - stylehacks@6.1.1: - resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - stylis@4.4.0: - resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} - - sucrase@3.35.1: - resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - - svgo@3.3.3: - resolution: {integrity: sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==} - engines: {node: '>=14.0.0'} - hasBin: true - - swagger2openapi@7.0.8: - resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} - hasBin: true - - swc-loader@0.2.7: - resolution: {integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==} - peerDependencies: - '@swc/core': ^1.2.147 - webpack: '>=2' - - tapable@2.3.3: - resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} - engines: {node: '>=6'} - - terser-webpack-plugin@5.6.1: - resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@minify-html/node': '*' - '@swc/core': '*' - '@swc/css': '*' - '@swc/html': '*' - clean-css: '*' - cssnano: '*' - csso: '*' - esbuild: '*' - html-minifier-terser: '*' - lightningcss: '*' - postcss: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@minify-html/node': - optional: true - '@swc/core': - optional: true - '@swc/css': - optional: true - '@swc/html': - optional: true - clean-css: - optional: true - cssnano: - optional: true - csso: - optional: true - esbuild: - optional: true - html-minifier-terser: - optional: true - lightningcss: - optional: true - postcss: - optional: true - uglify-js: - optional: true - - terser@5.48.0: - resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==} - engines: {node: '>=10'} - hasBin: true - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - thingies@2.6.0: - resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 - - throttle-debounce@3.0.1: - resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} - engines: {node: '>=10'} - - thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} - engines: {node: '>=18'} - - tinyglobby@0.2.17: - resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} - engines: {node: '>=12.0.0'} - - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - tree-dump@1.1.0: - resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - - trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - ts-algebra@1.2.2: - resolution: {integrity: sha512-kloPhf1hq3JbCPOTYoOWDKxebWjNb2o/LKnNfkWhxVVisFFmMJPPdJeGoGmM+iRLyoXAR61e08Pb+vUXINg8aA==} - - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - - ts-easing@0.2.0: - resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} - - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - - ts-keycode-enum@1.0.6: - resolution: {integrity: sha512-DF8+Cf/FJJnPRxwz8agCoDelQXKZWQOS/gnnwx01nZ106tPJdB3BgJ9QTtLwXgR82D8O+nTjuZzWgf0Rg4vuRA==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - - tsyringe@4.10.0: - resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} - engines: {node: '>= 6.0.0'} - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript@6.0.3: - resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} - - unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - - unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} - - unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - - unist-builder@3.0.1: - resolution: {integrity: sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==} - - unist-util-find-after@5.0.0: - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - - unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - - unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - - unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - - unist-util-position-from-estree@2.0.0: - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - - unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - - 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-select@4.0.3: - resolution: {integrity: sha512-1074+K9VyR3NyUz3lgNtHKm7ln+jSZXtLJM4E22uVuoFn88a/Go2pX8dusrt/W+KWH1ncn8jcd8uCQuvXb/fXA==} - - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - - unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} - - unist-util-visit-parents@4.1.1: - resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} - - unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - - unist-util-visit-parents@6.0.2: - resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - - unist-util-visit@3.1.0: - resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} - - unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - - unist-util-visit@5.1.0: - resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-notifier@6.0.2: - resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} - engines: {node: '>=14.16'} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-loader@4.1.1: - resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - file-loader: '*' - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - - url@0.11.4: - resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} - engines: {node: '>= 0.4'} - - use-editable@2.3.3: - resolution: {integrity: sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==} - peerDependencies: - react: '>= 16.8.0' - - use-resize-observer@9.1.0: - resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} - peerDependencies: - react: 16.8.0 - 18 - react-dom: 16.8.0 - 18 - - use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@14.0.1: - resolution: {integrity: sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==} - hasBin: true - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). - hasBin: true - - uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - - validate.io-array@1.0.6: - resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} - - validate.io-function@1.0.2: - resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==} - - validate.io-integer-array@1.0.0: - resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==} - - validate.io-integer@1.0.5: - resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==} - - validate.io-number@1.0.3: - resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} - - value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} - - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - - vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - - vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - - vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} - - vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - - warning@4.0.3: - resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} - - watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} - engines: {node: '>=10.13.0'} - - wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - webpack-bundle-analyzer@4.10.2: - resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} - engines: {node: '>= 10.13.0'} - hasBin: true - - webpack-dev-middleware@7.4.5: - resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - - webpack-dev-server@5.2.4: - resolution: {integrity: sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==} - engines: {node: '>= 18.12.0'} - hasBin: true - peerDependencies: - webpack: ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - - webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} - - webpack-merge@6.0.1: - resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} - engines: {node: '>=18.0.0'} - - webpack-sources@3.5.0: - resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==} - engines: {node: '>=10.13.0'} - - webpack@5.107.2: - resolution: {integrity: sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - webpackbar@7.0.0: - resolution: {integrity: sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@rspack/core': '*' - webpack: 3 || 4 || 5 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - websocket-driver@0.7.5: - resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - - wolfy87-eventemitter@5.2.9: - resolution: {integrity: sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw==} - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrap-ansi@9.0.2: - resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} - engines: {node: '>=18'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.11: - resolution: {integrity: sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.21.0: - resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - wsl-utils@0.1.0: - resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} - engines: {node: '>=18'} - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - xml-formatter@3.7.0: - resolution: {integrity: sha512-+8qTc3zv2UcJ1v9IsSIce37Dl4MQG14Cp7tWrwmy202UaI1wqRukw5QMX1JHsV+DX64yw77EgGsj2s5wGvuMbQ==} - engines: {node: '>= 16'} - - xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - - xml-parser-xo@4.1.6: - resolution: {integrity: sha512-mXbSNSM+rIwndoxSwmFa83bOdeP8G/cOGr7XvxA67X7ebCzoAuVez9JYDCDub3zRDNBZxIbfjuXLSsamr7NfwQ==} - engines: {node: '>= 20'} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml-ast-parser@0.0.43: - resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - yaml@1.10.3: - resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} - engines: {node: '>= 6'} - - yaml@2.9.0: - resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} - engines: {node: '>= 14.6'} - hasBin: true - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs-parser@22.0.0: - resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} - engines: {node: ^20.19.0 || ^22.12.0 || >=23} - - yargs@17.7.3: - resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} - engines: {node: '>=12'} - - yargs@18.0.0: - resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} - engines: {node: ^20.19.0 || ^22.12.0 || >=23} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} - - zustand@3.7.2: - resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} - engines: {node: '>=12.7.0'} - peerDependencies: - react: '>=16.8' - peerDependenciesMeta: - react: - optional: true - - zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@adobe/react-spectrum-ui@1.2.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@adobe/react-spectrum-workflow@2.3.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@adobe/react-spectrum@3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@internationalized/date': 3.12.2 - '@react-types/shared': 3.35.0(react@19.2.7) - '@spectrum-icons/ui': 3.7.1(@adobe/react-spectrum@3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@spectrum-icons/workflow': 4.3.1(@adobe/react-spectrum@3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/helpers': 0.5.23 - client-only: 0.0.1 - clsx: 2.1.1 - react: 19.2.7 - react-aria: 3.49.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-aria-components: 1.18.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.47.0(react@19.2.7) - react-transition-group: 4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - use-sync-external-store: 1.6.0(react@19.2.7) - - '@adobe/react-spectrum@3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@internationalized/date': 3.12.3 - '@react-types/shared': 3.36.1(react@19.2.7) - '@spectrum-icons/ui': 3.7.1(@adobe/react-spectrum@3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@spectrum-icons/workflow': 4.3.1(@adobe/react-spectrum@3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/helpers': 0.5.23 - client-only: 0.0.1 - clsx: 2.1.1 - react: 19.2.7 - react-aria: 3.51.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-aria-components: 1.20.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.49.0(react@19.2.7) - react-transition-group: 4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - use-sync-external-store: 1.6.0(react@19.2.7) - - '@algolia/abtesting@1.19.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0)': - dependencies: - '@algolia/client-search': 5.53.0 - algoliasearch: 5.53.0 - - '@algolia/client-abtesting@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-analytics@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-common@5.53.0': {} - - '@algolia/client-insights@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-personalization@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-query-suggestions@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/client-search@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/events@4.0.1': {} - - '@algolia/ingestion@1.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/monitoring@1.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/recommend@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - '@algolia/requester-browser-xhr@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - - '@algolia/requester-fetch@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - - '@algolia/requester-node-http@5.53.0': - dependencies: - '@algolia/client-common': 5.53.0 - - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.6.0 - tinyexec: 1.2.4 - - '@apidevtools/json-schema-ref-parser@15.4.0(@types/json-schema@7.0.15)': - dependencies: - '@types/json-schema': 7.0.15 - js-yaml: 4.3.1 - - '@babel/code-frame@7.29.7': - dependencies: - '@babel/helper-validator-identifier': 7.29.7 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.29.7': {} - - '@babel/core@7.29.7': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.29.7': - dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-compilation-targets@7.29.7': - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.2 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/traverse': 7.29.7 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.12 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.29.7': {} - - '@babel/helper-member-expression-to-functions@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/helper-plugin-utils@7.29.7': {} - - '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-wrap-function': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.29.7': {} - - '@babel/helper-validator-identifier@7.29.7': {} - - '@babel/helper-validator-option@7.29.7': {} - - '@babel/helper-wrap-function@7.29.7': - dependencies: - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.29.7': - dependencies: - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - - '@babel/parser@7.29.7': - dependencies: - '@babel/types': 7.29.7 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/template': 7.29.7 - - '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/preset-env@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7) - '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7) - '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7) - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) - babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/types': 7.29.7 - esutils: 2.0.3 - - '@babel/preset-react@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - '@babel/runtime@7.29.7': {} - - '@babel/template@7.29.7': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - - '@babel/traverse@7.29.7': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.29.7': - dependencies: - '@babel/helper-string-parser': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - - '@braintree/sanitize-url@7.1.2': {} - - '@chevrotain/types@11.1.2': {} - - '@colors/colors@1.5.0': - optional: true - - '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/color-helpers@5.1.0': {} - - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-tokenizer@3.0.4': {} - - '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.15)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.2) - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - - '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-color-function@4.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.15)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.15)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.15)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.15)': - dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-initial@2.0.1(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.15)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.2) - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - - '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.15)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.15)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.15)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.15 - - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.15)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.15 - - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.15)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.15)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-random-function@2.0.1(postcss@8.5.15)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.15)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - - '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.15)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.15)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.15)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.15)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.15)': - dependencies: - '@csstools/color-helpers': 5.1.0 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.15)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.2)': - dependencies: - postcss-selector-parser: 7.1.2 - - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.2)': - dependencies: - postcss-selector-parser: 7.1.2 - - '@csstools/utilities@2.0.0(postcss@8.5.15)': - dependencies: - postcss: 8.5.15 - - '@discoveryjs/json-ext@0.5.7': {} - - '@docsearch/core@4.6.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - optionalDependencies: - '@types/react': 19.2.17 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@docsearch/css@4.6.3': {} - - '@docsearch/react@4.6.3(@algolia/client-search@5.53.0)(@types/react@19.2.17)(algoliasearch@5.53.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@docsearch/core': 4.6.3(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docsearch/css': 4.6.3 - optionalDependencies: - '@types/react': 19.2.17 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@docusaurus/babel@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/runtime': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.6 - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/babel@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/runtime': 7.29.7 - '@babel/traverse': 7.29.7 - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.6 - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/bundler@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@babel/core': 7.29.7 - '@docusaurus/babel': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/cssnano-preset': 3.10.1 - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - babel-loader: 9.2.1(@babel/core@7.29.7)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - css-loader: 6.11.0(@rspack/core@1.7.11(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - cssnano: 6.1.2(postcss@8.5.15) - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.10.2(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - null-loader: 4.0.1(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - postcss: 8.5.15 - postcss-loader: 7.3.4(postcss@8.5.15)(typescript@6.0.3)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - postcss-preset-env: 10.6.1(postcss@8.5.15) - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15) - webpackbar: 7.0.0(@rspack/core@1.7.11(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - optionalDependencies: - '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - csso - - esbuild - - lightningcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - webpack-cli - - '@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/babel': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/bundler': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.7) - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - core-js: 3.49.0 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - eval: 0.1.8 - execa: 5.1.1 - fs-extra: 11.3.6 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.7(@rspack/core@1.7.11(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - leven: 3.1.0 - lodash: 4.18.1 - open: 8.4.2 - p-map: 4.0.0 - prompts: 2.4.2 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.7)' - react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.7))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - react-router: 5.3.4(react@19.2.7) - react-router-config: 5.1.1(react-router@5.3.4(react@19.2.7))(react@19.2.7) - react-router-dom: 5.3.4(react@19.2.7) - semver: 7.8.3 - serve-handler: 6.1.7 - tinypool: 1.1.1 - tslib: 2.8.1 - update-notifier: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 5.2.4(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - webpack-merge: 6.0.1 - optionalDependencies: - '@docusaurus/faster': 3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/cssnano-preset@3.10.1': - dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-sort-media-queries: 5.2.0(postcss@8.5.15) - tslib: 2.8.1 - - '@docusaurus/eslint-plugin@3.10.1(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3)': - dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - eslint: 10.6.0(jiti@1.21.7) - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - - typescript - - '@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@rspack/core': 1.7.11(@swc/helpers@0.5.23) - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - '@swc/html': 1.15.40 - browserslist: 4.28.2 - lightningcss: 1.32.0 - semver: 7.8.3 - swc-loader: 0.2.7(@swc/core@1.15.41(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - tslib: 2.8.1 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/css' - - '@swc/helpers' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - postcss - - uglify-js - - webpack-cli - - '@docusaurus/logger@3.10.1': - dependencies: - chalk: 4.1.2 - tslib: 2.8.1 - - '@docusaurus/mdx-loader@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@mdx-js/mdx': 3.1.1 - '@slorber/remark-comment': 1.0.0 - escape-html: 1.0.3 - estree-util-value-to-estree: 3.5.0 - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - fs-extra: 11.3.6 - image-size: 2.0.2 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - rehype-raw: 7.0.0 - remark-directive: 3.0.1 - remark-emoji: 4.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 - stringify-object: 3.3.0 - tslib: 2.8.1 - unified: 11.0.5 - unist-util-visit: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - vfile: 6.0.3 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/module-type-aliases@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - '@types/react-router-dom': 5.3.3 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.7)' - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/plugin-content-blog@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - cheerio: 1.0.0-rc.12 - combine-promises: 1.2.0 - feed: 4.2.2 - fs-extra: 11.3.6 - lodash: 4.18.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - schema-dts: 1.1.5 - srcset: 4.0.0 - tslib: 2.8.1 - unist-util-visit: 5.1.0 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 11.3.6 - js-yaml: 4.3.1 - lodash: 4.18.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - schema-dts: 1.1.5 - tslib: 2.8.1 - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-pages@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - fs-extra: 11.3.6 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-css-cascade-layers@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-debug@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - fs-extra: 11.3.6 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-json-view-lite: 2.5.0(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-analytics@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-gtag@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@types/gtag.js': 0.0.20 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-tag-manager@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-sitemap@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - fs-extra: 11.3.6 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - sitemap: 7.1.3 - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-svgr@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@svgr/core': 8.1.0(typescript@6.0.3) - '@svgr/webpack': 8.1.0(typescript@6.0.3) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/preset-classic@3.10.1(@algolia/client-search@5.53.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/react@19.2.17)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(search-insights@2.17.3)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-css-cascade-layers': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-debug': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-google-analytics': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-google-gtag': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-google-tag-manager': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-sitemap': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-svgr': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/theme-classic': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/theme-search-algolia': 3.10.1(@algolia/client-search@5.53.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/react@19.2.17)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(search-insights@2.17.3)(typescript@6.0.3) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/react-loadable@6.0.0(react@19.2.7)': - dependencies: - '@types/react': 19.2.17 - react: 19.2.7 - - '@docusaurus/remark-plugin-npm2yarn@3.10.1': - dependencies: - mdast-util-mdx: 3.0.0 - npm-to-yarn: 3.0.1 - tslib: 2.8.1 - unified: 11.0.5 - unist-util-visit: 5.1.0 - transitivePeerDependencies: - - supports-color - - '@docusaurus/theme-classic@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/plugin-content-pages': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.7) - clsx: 2.1.1 - copy-text-to-clipboard: 3.2.2 - infima: 0.2.0-alpha.45 - lodash: 4.18.1 - nprogress: 0.2.0 - postcss: 8.5.15 - prism-react-renderer: 2.4.1(react@19.2.7) - prismjs: 1.30.0 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-router-dom: 5.3.4(react@19.2.7) - rtlcss: 4.3.0 - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-common@3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/mdx-loader': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.4.1(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/theme-mermaid@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/module-type-aliases': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - mermaid: 11.15.0 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@docusaurus/plugin-content-docs' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-search-algolia@3.10.1(@algolia/client-search@5.53.0)(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/react@19.2.17)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(search-insights@2.17.3)(typescript@6.0.3)': - dependencies: - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.53.0)(algoliasearch@5.53.0)(search-insights@2.17.3) - '@docsearch/react': 4.6.3(@algolia/client-search@5.53.0)(@types/react@19.2.17)(algoliasearch@5.53.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(search-insights@2.17.3) - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/logger': 3.10.1 - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/theme-translations': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - algoliasearch: 5.53.0 - algoliasearch-helper: 3.29.1(algoliasearch@5.53.0) - clsx: 2.1.1 - eta: 2.2.0 - fs-extra: 11.3.6 - lodash: 4.18.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@minify-html/node' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - '@types/react' - - bufferutil - - clean-css - - cssnano - - csso - - debug - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-translations@3.10.1': - dependencies: - fs-extra: 11.3.6 - tslib: 2.8.1 - - '@docusaurus/tsconfig@3.10.1': {} - - '@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@mdx-js/mdx': 3.1.1 - '@types/history': 4.7.11 - '@types/mdast': 4.0.4 - '@types/react': 19.2.17 - commander: 5.1.0 - joi: 17.13.3 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)' - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@mdx-js/mdx': 3.1.1 - '@types/history': 4.7.11 - '@types/mdast': 4.0.4 - '@types/react': 19.2.17 - commander: 5.1.0 - joi: 17.13.3 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)' - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-common@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-common@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-validation@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - fs-extra: 11.3.6 - joi: 17.13.3 - js-yaml: 4.3.1 - lodash: 4.18.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - escape-string-regexp: 4.0.0 - execa: 5.1.1 - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - fs-extra: 11.3.6 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.7 - js-yaml: 4.3.1 - lodash: 4.18.1 - micromatch: 4.0.8 - p-queue: 6.6.2 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@docusaurus/logger': 3.10.1 - '@docusaurus/types': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-common': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - escape-string-regexp: 4.0.0 - execa: 5.1.1 - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - fs-extra: 11.3.6 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.7 - js-yaml: 4.3.1 - lodash: 4.18.1 - micromatch: 4.0.8 - p-queue: 6.6.2 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - utility-types: 3.11.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@emnapi/core@1.11.0': - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.11.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.2': - dependencies: - tslib: 2.8.1 - optional: true - - '@eslint-community/eslint-utils@4.10.1(eslint@10.6.0(jiti@1.21.7))': - dependencies: - eslint: 10.6.0(jiti@1.21.7) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@1.21.7))': - dependencies: - eslint: 10.6.0(jiti@1.21.7) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.2': {} - - '@eslint/config-array@0.23.5': - dependencies: - '@eslint/object-schema': 3.0.5 - debug: 4.4.3 - minimatch: 10.2.5 - transitivePeerDependencies: - - supports-color - - '@eslint/config-helpers@0.6.0': - dependencies: - '@eslint/core': 1.2.1 - - '@eslint/core@1.2.1': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.3.5': - dependencies: - ajv: 6.15.0 - debug: 4.4.3 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.3.1 - minimatch: 3.1.5 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@10.0.1(eslint@10.6.0(jiti@1.21.7))': - optionalDependencies: - eslint: 10.6.0(jiti@1.21.7) - - '@eslint/object-schema@3.0.5': {} - - '@eslint/plugin-kit@0.7.2': - dependencies: - '@eslint/core': 1.2.1 - levn: 0.4.1 - - '@exodus/schemasafe@1.3.0': {} - - '@faker-js/faker@5.5.3': {} - - '@fortawesome/fontawesome-common-types@6.7.2': {} - - '@fortawesome/fontawesome-svg-core@6.7.2': - dependencies: - '@fortawesome/fontawesome-common-types': 6.7.2 - - '@fortawesome/react-fontawesome@0.2.6(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.2.7)': - dependencies: - '@fortawesome/fontawesome-svg-core': 6.7.2 - prop-types: 15.8.1 - react: 19.2.7 - - '@hapi/hoek@9.3.0': {} - - '@hapi/topo@5.1.0': - dependencies: - '@hapi/hoek': 9.3.0 - - '@hookform/error-message@2.0.1(react-dom@19.2.7(react@19.2.7))(react-hook-form@7.80.0(react@19.2.7))(react@19.2.7)': - dependencies: - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-hook-form: 7.80.0(react@19.2.7) - - '@humanfs/core@0.19.2': - dependencies: - '@humanfs/types': 0.15.0 - - '@humanfs/node@0.16.8': - dependencies: - '@humanfs/core': 0.19.2 - '@humanfs/types': 0.15.0 - '@humanwhocodes/retry': 0.4.3 - - '@humanfs/types@0.15.0': {} - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.4.3': {} - - '@iconify/types@2.0.0': {} - - '@iconify/utils@3.1.3': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - import-meta-resolve: 4.2.0 - - '@internationalized/date@3.12.2': - dependencies: - '@swc/helpers': 0.5.23 - - '@internationalized/date@3.12.3': - dependencies: - '@swc/helpers': 0.5.23 - - '@internationalized/number@3.6.7': - dependencies: - '@swc/helpers': 0.5.23 - - '@internationalized/string@3.2.10': - dependencies: - '@swc/helpers': 0.5.23 - - '@internationalized/string@3.2.9': - dependencies: - '@swc/helpers': 0.5.23 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.10 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 25.9.2 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@json-schema-spec/json-pointer@0.1.2': {} - - '@json-schema-tools/dereferencer@1.6.3': - dependencies: - '@json-schema-tools/reference-resolver': 1.2.6 - '@json-schema-tools/traverse': 1.11.0 - fast-safe-stringify: 2.1.1 - transitivePeerDependencies: - - encoding - - '@json-schema-tools/meta-schema@1.8.0': {} - - '@json-schema-tools/reference-resolver@1.2.6': - dependencies: - '@json-schema-spec/json-pointer': 0.1.2 - isomorphic-fetch: 3.0.0 - transitivePeerDependencies: - - encoding - - '@json-schema-tools/traverse@1.11.0': {} - - '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/fs-core@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-fsa@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-core': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-builtins@4.57.6(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-to-fsa@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-fsa': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-utils@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-core': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.57.6(tslib@2.8.1) - glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-print@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-snapshot@4.57.6(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 2.6.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@17.67.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 2.6.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pointer@17.67.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@17.67.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) - tslib: 2.8.1 - - '@juggle/resize-observer@3.4.0': {} - - '@leichtgewicht/ip-codec@2.0.5': {} - - '@mdx-js/mdx@3.1.1': - dependencies: - '@types/estree': 1.0.9 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.14 - 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 - - '@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7)': - dependencies: - '@types/mdx': 2.0.14 - '@types/react': 19.2.17 - react: 19.2.7 - - '@mermaid-js/parser@1.1.1': - dependencies: - '@chevrotain/types': 11.1.2 - - '@module-federation/error-codes@0.22.0': {} - - '@module-federation/runtime-core@0.22.0': - dependencies: - '@module-federation/error-codes': 0.22.0 - '@module-federation/sdk': 0.22.0 - - '@module-federation/runtime-tools@0.22.0': - dependencies: - '@module-federation/runtime': 0.22.0 - '@module-federation/webpack-bundler-runtime': 0.22.0 - - '@module-federation/runtime@0.22.0': - dependencies: - '@module-federation/error-codes': 0.22.0 - '@module-federation/runtime-core': 0.22.0 - '@module-federation/sdk': 0.22.0 - - '@module-federation/sdk@0.22.0': {} - - '@module-federation/webpack-bundler-runtime@0.22.0': - dependencies: - '@module-federation/runtime': 0.22.0 - '@module-federation/sdk': 0.22.0 - - '@napi-rs/wasm-runtime@1.0.7': - dependencies: - '@emnapi/core': 1.11.0 - '@emnapi/runtime': 1.11.0 - '@tybys/wasm-util': 0.10.2 - optional: true - - '@noble/hashes@1.4.0': {} - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 - - '@open-rpc/examples@1.7.2': {} - - '@open-rpc/meta-schema@1.14.9': {} - - '@open-rpc/schema-utils-js@2.2.1': - dependencies: - '@json-schema-tools/dereferencer': 1.6.3 - '@json-schema-tools/meta-schema': 1.8.0 - '@json-schema-tools/reference-resolver': 1.2.6 - '@open-rpc/spec-types': 0.0.2 - '@open-rpc/specification-extension-spec': 1.0.2 - ajv: 6.15.0 - detect-node: 2.1.0 - fast-safe-stringify: 2.1.1 - fs-extra: 10.1.0 - is-url: 1.2.4 - isomorphic-fetch: 3.0.0 - transitivePeerDependencies: - - encoding - - '@open-rpc/spec-types@0.0.2': - dependencies: - '@open-rpc/spec': 1.4.1 - - '@open-rpc/spec@1.4.1': {} - - '@open-rpc/specification-extension-spec@1.0.2': {} - - '@parcel/watcher-android-arm64@2.5.6': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.6': - optional: true - - '@parcel/watcher-darwin-x64@2.5.6': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.6': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.6': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.6': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.6': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.6': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.6': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.6': - optional: true - - '@parcel/watcher-win32-arm64@2.5.6': - optional: true - - '@parcel/watcher-win32-ia32@2.5.6': - optional: true - - '@parcel/watcher-win32-x64@2.5.6': - optional: true - - '@parcel/watcher@2.5.6': - dependencies: - detect-libc: 2.1.2 - is-glob: 4.0.3 - node-addon-api: 7.1.1 - picomatch: 4.0.4 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.6 - '@parcel/watcher-darwin-arm64': 2.5.6 - '@parcel/watcher-darwin-x64': 2.5.6 - '@parcel/watcher-freebsd-x64': 2.5.6 - '@parcel/watcher-linux-arm-glibc': 2.5.6 - '@parcel/watcher-linux-arm-musl': 2.5.6 - '@parcel/watcher-linux-arm64-glibc': 2.5.6 - '@parcel/watcher-linux-arm64-musl': 2.5.6 - '@parcel/watcher-linux-x64-glibc': 2.5.6 - '@parcel/watcher-linux-x64-musl': 2.5.6 - '@parcel/watcher-win32-arm64': 2.5.6 - '@parcel/watcher-win32-ia32': 2.5.6 - '@parcel/watcher-win32-x64': 2.5.6 - optional: true - - '@peculiar/asn1-cms@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - '@peculiar/asn1-x509-attr': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-csr@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-ecc@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-pfx@2.7.0': - dependencies: - '@peculiar/asn1-cms': 2.7.0 - '@peculiar/asn1-pkcs8': 2.7.0 - '@peculiar/asn1-rsa': 2.7.0 - '@peculiar/asn1-schema': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-pkcs8@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-pkcs9@2.7.0': - dependencies: - '@peculiar/asn1-cms': 2.7.0 - '@peculiar/asn1-pfx': 2.7.0 - '@peculiar/asn1-pkcs8': 2.7.0 - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - '@peculiar/asn1-x509-attr': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-rsa@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-schema@2.7.0': - dependencies: - '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-x509-attr@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/asn1-x509@2.7.0': - dependencies: - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/utils': 2.0.3 - asn1js: 3.0.10 - tslib: 2.8.1 - - '@peculiar/utils@2.0.3': - dependencies: - tslib: 2.8.1 - - '@peculiar/x509@1.14.3': - dependencies: - '@peculiar/asn1-cms': 2.7.0 - '@peculiar/asn1-csr': 2.7.0 - '@peculiar/asn1-ecc': 2.7.0 - '@peculiar/asn1-pkcs9': 2.7.0 - '@peculiar/asn1-rsa': 2.7.0 - '@peculiar/asn1-schema': 2.7.0 - '@peculiar/asn1-x509': 2.7.0 - pvtsutils: 1.3.6 - reflect-metadata: 0.2.2 - tslib: 2.8.1 - tsyringe: 4.10.0 - - '@pnpm/config.env-replace@1.1.0': {} - - '@pnpm/network.ca-file@1.0.2': - dependencies: - graceful-fs: 4.2.10 - - '@pnpm/npm-conf@3.0.2': - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - - '@polka/url@1.0.0-next.29': {} - - '@react-aria/checkbox@3.17.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-aria: 3.49.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-dom: 19.2.7(react@19.2.7) - - '@react-aria/toggle@3.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-aria: 3.49.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-dom: 19.2.7(react@19.2.7) - - '@react-hook/debounce@3.0.0(react@19.2.7)': - dependencies: - '@react-hook/latest': 1.0.3(react@19.2.7) - react: 19.2.7 - - '@react-hook/event@1.2.6(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@react-hook/latest@1.0.3(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@react-hook/passive-layout-effect@1.2.1(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@react-hook/resize-observer@1.2.6(react@19.2.7)': - dependencies: - '@juggle/resize-observer': 3.4.0 - '@react-hook/latest': 1.0.3(react@19.2.7) - '@react-hook/passive-layout-effect': 1.2.1(react@19.2.7) - react: 19.2.7 - - '@react-hook/size@2.1.2(react@19.2.7)': - dependencies: - '@react-hook/passive-layout-effect': 1.2.1(react@19.2.7) - '@react-hook/resize-observer': 1.2.6(react@19.2.7) - react: 19.2.7 - - '@react-hook/throttle@2.2.0(react@19.2.7)': - dependencies: - '@react-hook/latest': 1.0.3(react@19.2.7) - react: 19.2.7 - - '@react-hook/window-size@3.1.1(react@19.2.7)': - dependencies: - '@react-hook/debounce': 3.0.0(react@19.2.7) - '@react-hook/event': 1.2.6(react@19.2.7) - '@react-hook/throttle': 2.2.0(react@19.2.7) - react: 19.2.7 - - '@react-spectrum/checkbox@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@adobe/react-spectrum': 3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@adobe/react-spectrum': 3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@react-stately/checkbox@3.8.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.47.0(react@19.2.7) - - '@react-stately/toggle@3.10.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.47.0(react@19.2.7) - - '@react-types/button@3.4.1(react@19.2.7)': - dependencies: - '@react-types/shared': 3.9.0(react@19.2.7) - react: 19.2.7 - - '@react-types/checkbox@3.11.0(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@react-aria/checkbox': 3.17.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-aria/toggle': 3.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-spectrum/checkbox': 3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-spectrum/provider': 3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-stately/checkbox': 3.8.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-stately/toggle': 3.10.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@react-types/radio@3.1.2(react@19.2.7)': - dependencies: - '@react-types/shared': 3.9.0(react@19.2.7) - react: 19.2.7 - - '@react-types/shared@3.35.0(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@react-types/shared@3.36.1(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@react-types/shared@3.9.0(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@react-types/switch@3.1.2(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@react-types/checkbox': 3.11.0(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-types/shared': 3.9.0(react@19.2.7) - react: 19.2.7 - transitivePeerDependencies: - - '@react-spectrum/provider' - - react-dom - - '@react-types/textfield@3.3.0(react@19.2.7)': - dependencies: - '@react-types/shared': 3.9.0(react@19.2.7) - react: 19.2.7 - - '@redocly/ajv@8.18.1': - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.5 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - '@redocly/ajv@8.18.3': - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - '@redocly/cli@2.38.0': {} - - '@redocly/config@0.49.1': - dependencies: - json-schema-to-ts: 2.7.2 - - '@redocly/openapi-core@2.36.0': - dependencies: - '@redocly/ajv': 8.18.3 - '@redocly/config': 0.49.1 - ajv: '@redocly/ajv@8.18.1' - ajv-formats: 3.0.1(@redocly/ajv@8.18.1) - colorette: 1.4.0 - js-levenshtein: 1.1.6 - js-yaml: 4.3.1 - picomatch: 4.0.4 - pluralize: 8.0.0 - yaml-ast-parser: 0.0.43 - - '@reduxjs/toolkit@2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1))(react@19.2.7)': - dependencies: - '@standard-schema/spec': 1.1.0 - '@standard-schema/utils': 0.3.0 - immer: 11.1.9 - redux: 5.0.1 - redux-thunk: 3.1.0(redux@5.0.1) - reselect: 5.2.0 - optionalDependencies: - react: 19.2.7 - react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) - - '@rehooks/component-size@1.0.3(react@19.2.7)': - dependencies: - react: 19.2.7 - - '@rjsf/core@5.24.13(@rjsf/utils@5.24.13(react@19.2.7))(react@19.2.7)': - dependencies: - '@rjsf/utils': 5.24.13(react@19.2.7) - lodash: 4.18.1 - lodash-es: 4.18.1 - markdown-to-jsx: 7.7.17(react@19.2.7) - prop-types: 15.8.1 - react: 19.2.7 - - '@rjsf/utils@5.24.13(react@19.2.7)': - dependencies: - json-schema-merge-allof: 0.8.1 - jsonpointer: 5.0.1 - lodash: 4.18.1 - lodash-es: 4.18.1 - react: 19.2.7 - react-is: 18.3.1 - - '@rjsf/validator-ajv8@5.24.13(@rjsf/utils@5.24.13(react@19.2.7))': - dependencies: - '@rjsf/utils': 5.24.13(react@19.2.7) - ajv: 8.20.0 - ajv-formats: 2.1.1(ajv@8.20.0) - lodash: 4.18.1 - lodash-es: 4.18.1 - - '@rspack/binding-darwin-arm64@1.7.11': - optional: true - - '@rspack/binding-darwin-x64@1.7.11': - optional: true - - '@rspack/binding-linux-arm64-gnu@1.7.11': - optional: true - - '@rspack/binding-linux-arm64-musl@1.7.11': - optional: true - - '@rspack/binding-linux-x64-gnu@1.7.11': - optional: true - - '@rspack/binding-linux-x64-musl@1.7.11': - optional: true - - '@rspack/binding-wasm32-wasi@1.7.11': - dependencies: - '@napi-rs/wasm-runtime': 1.0.7 - optional: true - - '@rspack/binding-win32-arm64-msvc@1.7.11': - optional: true - - '@rspack/binding-win32-ia32-msvc@1.7.11': - optional: true - - '@rspack/binding-win32-x64-msvc@1.7.11': - optional: true - - '@rspack/binding@1.7.11': - optionalDependencies: - '@rspack/binding-darwin-arm64': 1.7.11 - '@rspack/binding-darwin-x64': 1.7.11 - '@rspack/binding-linux-arm64-gnu': 1.7.11 - '@rspack/binding-linux-arm64-musl': 1.7.11 - '@rspack/binding-linux-x64-gnu': 1.7.11 - '@rspack/binding-linux-x64-musl': 1.7.11 - '@rspack/binding-wasm32-wasi': 1.7.11 - '@rspack/binding-win32-arm64-msvc': 1.7.11 - '@rspack/binding-win32-ia32-msvc': 1.7.11 - '@rspack/binding-win32-x64-msvc': 1.7.11 - - '@rspack/core@1.7.11(@swc/helpers@0.5.23)': - dependencies: - '@module-federation/runtime-tools': 0.22.0 - '@rspack/binding': 1.7.11 - '@rspack/lite-tapable': 1.1.0 - optionalDependencies: - '@swc/helpers': 0.5.23 - - '@rspack/lite-tapable@1.1.0': {} - - '@sentry/browser@6.19.7': - dependencies: - '@sentry/core': 6.19.7 - '@sentry/types': 6.19.7 - '@sentry/utils': 6.19.7 - tslib: 1.14.1 - - '@sentry/core@6.19.7': - dependencies: - '@sentry/hub': 6.19.7 - '@sentry/minimal': 6.19.7 - '@sentry/types': 6.19.7 - '@sentry/utils': 6.19.7 - tslib: 1.14.1 - - '@sentry/hub@6.19.7': - dependencies: - '@sentry/types': 6.19.7 - '@sentry/utils': 6.19.7 - tslib: 1.14.1 - - '@sentry/minimal@6.19.7': - dependencies: - '@sentry/hub': 6.19.7 - '@sentry/types': 6.19.7 - tslib: 1.14.1 - - '@sentry/react@6.19.7(react@19.2.7)': - dependencies: - '@sentry/browser': 6.19.7 - '@sentry/minimal': 6.19.7 - '@sentry/types': 6.19.7 - '@sentry/utils': 6.19.7 - hoist-non-react-statics: 3.3.2 - react: 19.2.7 - tslib: 1.14.1 - - '@sentry/types@6.19.7': {} - - '@sentry/utils@6.19.7': - dependencies: - '@sentry/types': 6.19.7 - tslib: 1.14.1 - - '@sideway/address@4.1.5': - dependencies: - '@hapi/hoek': 9.3.0 - - '@sideway/formula@3.0.1': {} - - '@sideway/pinpoint@2.0.0': {} - - '@sinclair/typebox@0.27.10': {} - - '@sindresorhus/is@4.6.0': {} - - '@sindresorhus/is@5.6.0': {} - - '@slorber/react-helmet-async@1.3.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@babel/runtime': 7.29.7 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - '@slorber/remark-comment@1.0.0': - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - - '@spectrum-icons/ui@3.7.1(@adobe/react-spectrum@3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@adobe/react-spectrum': 3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@adobe/react-spectrum-ui': 1.2.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@babel/runtime': 7.29.7 - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@spectrum-icons/ui@3.7.1(@adobe/react-spectrum@3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@adobe/react-spectrum': 3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@adobe/react-spectrum-ui': 1.2.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@babel/runtime': 7.29.7 - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@spectrum-icons/workflow@4.3.1(@adobe/react-spectrum@3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@adobe/react-spectrum': 3.47.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@adobe/react-spectrum-workflow': 2.3.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@spectrum-icons/workflow@4.3.1(@adobe/react-spectrum@3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@adobe/react-spectrum': 3.47.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@adobe/react-spectrum-workflow': 2.3.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/helpers': 0.5.23 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@standard-schema/spec@1.1.0': {} - - '@standard-schema/utils@0.3.0': {} - - '@stellar/open-rpc-docs-react@0.2.1(@babel/core@7.29.7)(@babel/template@7.29.7)(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.17)(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3))(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@json-schema-tools/traverse': 1.11.0 - '@open-rpc/examples': 1.7.2 - '@rjsf/core': 5.24.13(@rjsf/utils@5.24.13(react@19.2.7))(react@19.2.7) - '@rjsf/utils': 5.24.13(react@19.2.7) - '@rjsf/validator-ajv8': 5.24.13(@rjsf/utils@5.24.13(react@19.2.7)) - '@stoplight/json-schema-viewer': 4.16.4(patch_hash=5a7a1068966aaefd9a8a44d9974257213a8072c19733ed2785768c81e87b32c2)(@babel/core@7.29.7)(@babel/template@7.29.7)(@stoplight/markdown-viewer@5.7.1(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/markdown-viewer': 5.7.1(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/mosaic': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/mosaic-code-viewer': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3))(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - hash-color-material: 1.1.3 - lodash: 4.18.1 - postcss: 8.5.15 - qs: 6.15.2 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-markdown: 8.0.7(@types/react@19.2.17)(react@19.2.7) - react-syntax-highlighter: 15.6.6(react@19.2.7) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@react-spectrum/provider' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - supports-color - - '@stellar/prettier-config@1.2.0(prettier@3.9.4)': - dependencies: - prettier: 3.9.4 - - '@stoplight/json-schema-merge-allof@0.8.0': - dependencies: - compute-lcm: 1.1.2 - json-schema-compare: 0.2.2 - lodash: 4.18.1 - - '@stoplight/json-schema-tree@4.0.0': - dependencies: - '@stoplight/json': 3.21.7 - '@stoplight/json-schema-merge-allof': 0.8.0 - '@stoplight/lifecycle': 2.3.3 - '@types/json-schema': 7.0.15 - magic-error: 0.0.1 - - '@stoplight/json-schema-viewer@4.16.4(patch_hash=5a7a1068966aaefd9a8a44d9974257213a8072c19733ed2785768c81e87b32c2)(@babel/core@7.29.7)(@babel/template@7.29.7)(@stoplight/markdown-viewer@5.7.1(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@stoplight/json': 3.21.7 - '@stoplight/json-schema-tree': 4.0.0 - '@stoplight/markdown-viewer': 5.7.1(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/mosaic': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/mosaic-code-viewer': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/react-error-boundary': 2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@types/json-schema': 7.0.15 - classnames: 2.5.1 - fnv-plus: 1.3.1 - jotai: 1.13.1(@babel/core@7.29.7)(@babel/template@7.29.7)(react@19.2.7) - lodash: 4.18.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - '@stoplight/json@3.21.7': - dependencies: - '@stoplight/ordered-object-literal': 1.0.5 - '@stoplight/path': 1.3.2 - '@stoplight/types': 13.20.0 - jsonc-parser: 2.2.1 - lodash: 4.18.1 - safe-stable-stringify: 1.1.1 - - '@stoplight/lifecycle@2.3.3': - dependencies: - tslib: 2.8.1 - wolfy87-eventemitter: 5.2.9 - - '@stoplight/markdown-viewer@5.7.1(@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@rehooks/component-size': 1.0.3(react@19.2.7) - '@stoplight/markdown': 3.2.0 - '@stoplight/mosaic': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/mosaic-code-viewer': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/react-error-boundary': 2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - deepmerge: 4.3.1 - hast-to-hyperscript: 10.0.3 - hast-util-raw: 7.0.0 - hast-util-sanitize: 4.1.0 - hastscript: 7.2.0 - mdast-util-to-hast: 11.3.0 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - remark-parse: 9.0.0 - unified: 9.2.2 - unist-builder: 3.0.1 - unist-util-select: 4.0.3 - unist-util-visit: 3.1.0 - transitivePeerDependencies: - - supports-color - - '@stoplight/markdown@3.2.0': - dependencies: - '@stoplight/types': 12.5.0 - '@stoplight/yaml': 4.3.0 - github-slugger: 1.5.0 - hast-util-whitespace: 2.0.1 - lodash: 4.18.1 - mdast-util-to-string: 3.2.0 - remark-frontmatter: 3.0.0 - remark-gfm: 1.0.0 - remark-parse: 9.0.0 - remark-stringify: 9.0.1 - tslib: 2.8.1 - unified: 9.2.2 - unist-util-select: 4.0.3 - unist-util-visit: 3.1.0 - transitivePeerDependencies: - - supports-color - - '@stoplight/mosaic-code-viewer@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@fortawesome/fontawesome-svg-core': 6.7.2 - '@fortawesome/react-fontawesome': 0.2.6(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.2.7) - '@react-hook/size': 2.1.2(react@19.2.7) - '@react-hook/window-size': 3.1.1(react@19.2.7) - '@react-types/radio': 3.1.2(react@19.2.7) - '@react-types/shared': 3.9.0(react@19.2.7) - '@react-types/switch': 3.1.2(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/mosaic': 1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stoplight/types': 13.20.0 - clsx: 1.2.1 - copy-to-clipboard: 3.3.3 - dom-helpers: 3.4.0 - lodash.get: 4.4.2 - nano-memoize: 1.3.1 - polished: 4.3.1 - prism-react-renderer: 1.3.5(react@19.2.7) - prismjs: 1.30.0 - react: 19.2.7 - react-fast-compare: 3.2.2 - react-overflow-list: 0.5.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-keycode-enum: 1.0.6 - tslib: 2.8.1 - use-resize-observer: 9.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - zustand: 3.7.2(react@19.2.7) - transitivePeerDependencies: - - '@react-spectrum/provider' - - react-dom - - '@stoplight/mosaic@1.53.5(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@fortawesome/fontawesome-svg-core': 6.7.2 - '@fortawesome/react-fontawesome': 0.2.6(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.2.7) - '@react-hook/size': 2.1.2(react@19.2.7) - '@react-hook/window-size': 3.1.1(react@19.2.7) - '@react-types/button': 3.4.1(react@19.2.7) - '@react-types/radio': 3.1.2(react@19.2.7) - '@react-types/shared': 3.9.0(react@19.2.7) - '@react-types/switch': 3.1.2(@react-spectrum/provider@3.11.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@react-types/textfield': 3.3.0(react@19.2.7) - '@stoplight/types': 13.20.0 - '@types/react': 17.0.93 - '@types/react-dom': 17.0.26(@types/react@17.0.93) - clsx: 1.2.1 - copy-to-clipboard: 3.3.3 - dom-helpers: 3.4.0 - lodash.get: 4.4.2 - nano-memoize: 1.3.1 - polished: 4.3.1 - react: 19.2.7 - react-fast-compare: 3.2.2 - react-overflow-list: 0.5.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - ts-keycode-enum: 1.0.6 - tslib: 2.8.1 - use-resize-observer: 9.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - zustand: 3.7.2(react@19.2.7) - transitivePeerDependencies: - - '@react-spectrum/provider' - - react-dom - - '@stoplight/ordered-object-literal@1.0.5': {} - - '@stoplight/path@1.3.2': {} - - '@stoplight/react-error-boundary@2.0.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': - dependencies: - '@sentry/react': 6.19.7(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - '@stoplight/types@12.5.0': - dependencies: - '@types/json-schema': 7.0.15 - utility-types: 3.11.0 - - '@stoplight/types@13.20.0': - dependencies: - '@types/json-schema': 7.0.15 - utility-types: 3.11.0 - - '@stoplight/types@14.1.1': - dependencies: - '@types/json-schema': 7.0.15 - utility-types: 3.11.0 - - '@stoplight/yaml-ast-parser@0.0.50': {} - - '@stoplight/yaml@4.3.0': - dependencies: - '@stoplight/ordered-object-literal': 1.0.5 - '@stoplight/types': 14.1.1 - '@stoplight/yaml-ast-parser': 0.0.50 - tslib: 2.8.1 - - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - - '@svgr/babel-preset@8.1.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.29.7) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.29.7) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.29.7) - - '@svgr/core@8.1.0(typescript@6.0.3)': - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@6.0.3) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@svgr/hast-util-to-babel-ast@8.0.0': - dependencies: - '@babel/types': 7.29.7 - entities: 4.5.0 - - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@6.0.3))': - dependencies: - '@babel/core': 7.29.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) - '@svgr/core': 8.1.0(typescript@6.0.3) - '@svgr/hast-util-to-babel-ast': 8.0.0 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@6.0.3)': - dependencies: - '@svgr/core': 8.1.0(typescript@6.0.3) - cosmiconfig: 8.3.6(typescript@6.0.3) - deepmerge: 4.3.1 - svgo: 3.3.3 - transitivePeerDependencies: - - typescript - - '@svgr/webpack@8.1.0(typescript@6.0.3)': - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) - '@babel/preset-env': 7.29.7(@babel/core@7.29.7) - '@babel/preset-react': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@svgr/core': 8.1.0(typescript@6.0.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@6.0.3) - transitivePeerDependencies: - - supports-color - - typescript - - '@swc/core-darwin-arm64@1.15.41': - optional: true - - '@swc/core-darwin-x64@1.15.41': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.15.41': - optional: true - - '@swc/core-linux-arm64-gnu@1.15.41': - optional: true - - '@swc/core-linux-arm64-musl@1.15.41': - optional: true - - '@swc/core-linux-ppc64-gnu@1.15.41': - optional: true - - '@swc/core-linux-s390x-gnu@1.15.41': - optional: true - - '@swc/core-linux-x64-gnu@1.15.41': - optional: true - - '@swc/core-linux-x64-musl@1.15.41': - optional: true - - '@swc/core-win32-arm64-msvc@1.15.41': - optional: true - - '@swc/core-win32-ia32-msvc@1.15.41': - optional: true - - '@swc/core-win32-x64-msvc@1.15.41': - optional: true - - '@swc/core@1.15.41(@swc/helpers@0.5.23)': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.26 - optionalDependencies: - '@swc/core-darwin-arm64': 1.15.41 - '@swc/core-darwin-x64': 1.15.41 - '@swc/core-linux-arm-gnueabihf': 1.15.41 - '@swc/core-linux-arm64-gnu': 1.15.41 - '@swc/core-linux-arm64-musl': 1.15.41 - '@swc/core-linux-ppc64-gnu': 1.15.41 - '@swc/core-linux-s390x-gnu': 1.15.41 - '@swc/core-linux-x64-gnu': 1.15.41 - '@swc/core-linux-x64-musl': 1.15.41 - '@swc/core-win32-arm64-msvc': 1.15.41 - '@swc/core-win32-ia32-msvc': 1.15.41 - '@swc/core-win32-x64-msvc': 1.15.41 - '@swc/helpers': 0.5.23 - - '@swc/counter@0.1.3': {} - - '@swc/helpers@0.5.23': - dependencies: - tslib: 2.8.1 - - '@swc/html-darwin-arm64@1.15.40': - optional: true - - '@swc/html-darwin-x64@1.15.40': - optional: true - - '@swc/html-linux-arm-gnueabihf@1.15.40': - optional: true - - '@swc/html-linux-arm64-gnu@1.15.40': - optional: true - - '@swc/html-linux-arm64-musl@1.15.40': - optional: true - - '@swc/html-linux-ppc64-gnu@1.15.40': - optional: true - - '@swc/html-linux-s390x-gnu@1.15.40': - optional: true - - '@swc/html-linux-x64-gnu@1.15.40': - optional: true - - '@swc/html-linux-x64-musl@1.15.40': - optional: true - - '@swc/html-win32-arm64-msvc@1.15.40': - optional: true - - '@swc/html-win32-ia32-msvc@1.15.40': - optional: true - - '@swc/html-win32-x64-msvc@1.15.40': - optional: true - - '@swc/html@1.15.40': - dependencies: - '@swc/counter': 0.1.3 - optionalDependencies: - '@swc/html-darwin-arm64': 1.15.40 - '@swc/html-darwin-x64': 1.15.40 - '@swc/html-linux-arm-gnueabihf': 1.15.40 - '@swc/html-linux-arm64-gnu': 1.15.40 - '@swc/html-linux-arm64-musl': 1.15.40 - '@swc/html-linux-ppc64-gnu': 1.15.40 - '@swc/html-linux-s390x-gnu': 1.15.40 - '@swc/html-linux-x64-gnu': 1.15.40 - '@swc/html-linux-x64-musl': 1.15.40 - '@swc/html-win32-arm64-msvc': 1.15.40 - '@swc/html-win32-ia32-msvc': 1.15.40 - '@swc/html-win32-x64-msvc': 1.15.40 - - '@swc/types@0.1.26': - dependencies: - '@swc/counter': 0.1.3 - - '@szmarczak/http-timer@5.0.1': - dependencies: - defer-to-connect: 2.0.1 - - '@tybys/wasm-util@0.10.2': - dependencies: - tslib: 2.8.1 - optional: true - - '@types/body-parser@1.19.6': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 25.9.2 - - '@types/bonjour@3.5.13': - dependencies: - '@types/node': 25.9.2 - - '@types/connect-history-api-fallback@1.5.4': - dependencies: - '@types/express-serve-static-core': 4.19.8 - '@types/node': 25.9.2 - - '@types/connect@3.4.38': - dependencies: - '@types/node': 25.9.2 - - '@types/d3-array@3.2.2': {} - - '@types/d3-axis@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.2 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.7': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.3': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} - - '@types/d3-shape@3.1.8': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - - '@types/d3-transition@3.0.9': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-zoom@3.0.8': - dependencies: - '@types/d3-interpolate': 3.0.4 - '@types/d3-selection': 3.0.11 - - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.7 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.8 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 - - '@types/debug@4.1.13': - dependencies: - '@types/ms': 2.1.0 - - '@types/esrecurse@4.3.1': {} - - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.9 - - '@types/estree@1.0.9': {} - - '@types/express-serve-static-core@4.19.8': - dependencies: - '@types/node': 25.9.2 - '@types/qs': 6.15.1 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - - '@types/express@4.17.25': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.8 - '@types/qs': 6.15.1 - '@types/serve-static': 1.15.10 - - '@types/geojson@7946.0.16': {} - - '@types/gtag.js@0.0.20': {} - - '@types/hast@2.3.10': - dependencies: - '@types/unist': 2.0.11 - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/history@4.7.11': {} - - '@types/html-minifier-terser@6.1.0': {} - - '@types/http-cache-semantics@4.2.0': {} - - '@types/http-errors@2.0.5': {} - - '@types/http-proxy@1.17.17': - dependencies: - '@types/node': 25.9.2 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/js-cookie@2.2.7': {} - - '@types/json-schema@7.0.15': {} - - '@types/katex@0.16.8': {} - - '@types/mdast@3.0.15': - dependencies: - '@types/unist': 2.0.11 - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdurl@1.0.5': {} - - '@types/mdx@2.0.14': {} - - '@types/mime@1.3.5': {} - - '@types/ms@2.1.0': {} - - '@types/node@17.0.45': {} - - '@types/node@25.9.2': - dependencies: - undici-types: 7.24.6 - - '@types/parse5@6.0.3': {} - - '@types/prismjs@1.26.6': {} - - '@types/prop-types@15.7.15': {} - - '@types/qs@6.15.1': {} - - '@types/range-parser@1.2.7': {} - - '@types/react-dom@17.0.26(@types/react@17.0.93)': - dependencies: - '@types/react': 17.0.93 - - '@types/react-router-config@5.0.11': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router': 5.1.20 - - '@types/react-router-dom@5.3.3': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - '@types/react-router': 5.1.20 - - '@types/react-router@5.1.20': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.17 - - '@types/react@17.0.93': - dependencies: - '@types/prop-types': 15.7.15 - '@types/scheduler': 0.16.8 - csstype: 3.2.3 - - '@types/react@19.2.17': - dependencies: - csstype: 3.2.3 - - '@types/retry@0.12.2': {} - - '@types/sax@1.2.7': - dependencies: - '@types/node': 25.9.2 - - '@types/scheduler@0.16.8': {} - - '@types/semver@7.7.1': {} - - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 25.9.2 - - '@types/send@1.2.1': - dependencies: - '@types/node': 25.9.2 - - '@types/serve-index@1.9.4': - dependencies: - '@types/express': 4.17.25 - - '@types/serve-static@1.15.10': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 25.9.2 - '@types/send': 0.17.6 - - '@types/sockjs@0.3.36': - dependencies: - '@types/node': 25.9.2 - - '@types/trusted-types@2.0.7': - optional: true - - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - - '@types/use-sync-external-store@0.0.6': {} - - '@types/ws@8.18.1': - dependencies: - '@types/node': 25.9.2 - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.35': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3))(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - '@typescript-eslint/utils': 7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 10.6.0(jiti@1.21.7) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@6.0.3) - optionalDependencies: - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3)': - dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.3 - eslint: 10.6.0(jiti@1.21.7) - optionalDependencies: - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@5.62.0': - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - - '@typescript-eslint/scope-manager@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - - '@typescript-eslint/type-utils@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3)': - dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) - '@typescript-eslint/utils': 7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3) - debug: 4.4.3 - eslint: 10.6.0(jiti@1.21.7) - ts-api-utils: 1.4.3(typescript@6.0.3) - optionalDependencies: - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@5.62.0': {} - - '@typescript-eslint/types@7.18.0': {} - - '@typescript-eslint/typescript-estree@5.62.0(typescript@6.0.3)': - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.3 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.8.3 - tsutils: 3.21.0(typescript@6.0.3) - optionalDependencies: - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@7.18.0(typescript@6.0.3)': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.3 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.9 - semver: 7.8.5 - ts-api-utils: 1.4.3(typescript@6.0.3) - optionalDependencies: - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@5.62.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@1.21.7)) - '@types/json-schema': 7.0.15 - '@types/semver': 7.7.1 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@6.0.3) - eslint: 10.6.0(jiti@1.21.7) - eslint-scope: 5.1.1 - semver: 7.8.3 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@7.18.0(eslint@10.6.0(jiti@1.21.7))(typescript@6.0.3)': - dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.6.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@6.0.3) - eslint: 10.6.0(jiti@1.21.7) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@5.62.0': - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 - - '@ungap/structured-clone@1.3.2': {} - - '@upsetjs/venn.js@2.0.0': - optionalDependencies: - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - '@webassemblyjs/ast@1.14.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - - '@webassemblyjs/helper-api-error@1.13.2': {} - - '@webassemblyjs/helper-buffer@1.14.1': {} - - '@webassemblyjs/helper-numbers@1.13.2': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - - '@webassemblyjs/helper-wasm-section@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 - - '@webassemblyjs/ieee754@1.13.2': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.13.2': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.13.2': {} - - '@webassemblyjs/wasm-edit@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 - - '@webassemblyjs/wasm-gen@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wasm-opt@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - - '@webassemblyjs/wasm-parser@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wast-printer@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 - - '@xobotyi/scrollbar-width@1.9.5': {} - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - acorn-import-phases@1.0.4(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - - acorn-jsx@5.3.2(acorn@8.17.0): - dependencies: - acorn: 8.17.0 - - acorn-walk@8.3.5: - dependencies: - acorn: 8.16.0 - - acorn@8.16.0: {} - - acorn@8.17.0: {} - - address@1.2.2: {} - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ajv-draft-04@1.0.0(ajv@8.20.0): - optionalDependencies: - ajv: 8.20.0 - - ajv-formats@2.1.1(ajv@8.20.0): - optionalDependencies: - ajv: 8.20.0 - - ajv-formats@3.0.1(@redocly/ajv@8.18.1): - optionalDependencies: - ajv: '@redocly/ajv@8.18.1' - - ajv-keywords@3.5.2(ajv@6.15.0): - dependencies: - ajv: 6.15.0 - - ajv-keywords@5.1.0(ajv@8.20.0): - dependencies: - ajv: 8.20.0 - fast-deep-equal: 3.1.3 - - ajv@6.15.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.20.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - algoliasearch-helper@3.29.1(algoliasearch@5.53.0): - dependencies: - '@algolia/events': 4.0.1 - algoliasearch: 5.53.0 - - algoliasearch@5.53.0: - dependencies: - '@algolia/abtesting': 1.19.0 - '@algolia/client-abtesting': 5.53.0 - '@algolia/client-analytics': 5.53.0 - '@algolia/client-common': 5.53.0 - '@algolia/client-insights': 5.53.0 - '@algolia/client-personalization': 5.53.0 - '@algolia/client-query-suggestions': 5.53.0 - '@algolia/client-search': 5.53.0 - '@algolia/ingestion': 1.53.0 - '@algolia/monitoring': 1.53.0 - '@algolia/recommend': 5.53.0 - '@algolia/requester-browser-xhr': 5.53.0 - '@algolia/requester-fetch': 5.53.0 - '@algolia/requester-node-http': 5.53.0 - - allof-merge@0.6.8: - dependencies: - json-crawl: 0.5.3 - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-html-community@0.0.8: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.2: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.3: {} - - ansis@3.17.0: {} - - any-promise@1.3.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.2 - - arg@5.0.2: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - aria-hidden@1.2.6: - dependencies: - tslib: 2.8.1 - - array-flatten@1.1.1: {} - - array-union@2.1.0: {} - - asn1js@3.0.10: - dependencies: - pvtsutils: 1.3.6 - pvutils: 1.1.5 - tslib: 2.8.1 - - astring@1.9.0: {} - - async@3.2.6: {} - - autoprefixer@10.5.0(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001797 - fraction.js: 5.3.4 - picocolors: 1.1.1 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - - babel-loader@9.2.1(@babel/core@7.29.7)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@babel/core': 7.29.7 - find-cache-dir: 4.0.0 - schema-utils: 4.3.3 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - - babel-plugin-dynamic-import-node@2.3.3: - dependencies: - object.assign: 4.1.7 - - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - - bail@1.0.5: {} - - bail@2.0.2: {} - - balanced-match@1.0.2: {} - - balanced-match@4.0.4: {} - - base64-js@1.5.1: {} - - baseline-browser-mapping@2.10.35: {} - - batch@0.6.1: {} - - big.js@5.2.2: {} - - binary-extensions@2.3.0: {} - - body-parser@1.20.5: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.15.3 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - bonjour-service@1.4.0: - dependencies: - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 - - boolbase@1.0.0: {} - - boxen@6.2.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - boxen@7.1.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.6.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - brace-expansion@1.1.15: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.1.1: - dependencies: - balanced-match: 1.0.2 - - brace-expansion@5.0.7: - dependencies: - balanced-match: 4.0.4 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.28.2: - dependencies: - baseline-browser-mapping: 2.10.35 - caniuse-lite: 1.0.30001797 - electron-to-chromium: 1.5.370 - node-releases: 2.0.47 - update-browserslist-db: 1.2.3(browserslist@4.28.2) - - buffer-from@1.1.2: {} - - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - bundle-name@4.1.0: - dependencies: - run-applescript: 7.1.0 - - bytes@3.0.0: {} - - bytes@3.1.2: {} - - bytestreamjs@2.0.1: {} - - cacheable-lookup@7.0.0: {} - - cacheable-request@10.2.14: - dependencies: - '@types/http-cache-semantics': 4.2.0 - get-stream: 6.0.1 - http-cache-semantics: 4.2.0 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.1.1 - responselike: 3.0.0 - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.9: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - call-me-maybe@1.0.2: {} - - callsites@3.1.0: {} - - camel-case@4.1.2: - dependencies: - pascal-case: 3.1.2 - tslib: 2.8.1 - - camelcase@6.3.0: {} - - camelcase@7.0.1: {} - - caniuse-api@3.0.0: - dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001797 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001797: {} - - ccount@1.1.0: {} - - ccount@2.0.1: {} - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.6.2: {} - - char-regex@1.0.2: {} - - character-entities-html4@2.1.0: {} - - character-entities-legacy@1.1.4: {} - - character-entities-legacy@3.0.0: {} - - character-entities@1.2.4: {} - - character-entities@2.0.2: {} - - character-reference-invalid@1.1.4: {} - - character-reference-invalid@2.0.1: {} - - charset@1.0.1: {} - - cheerio-select@2.1.0: - dependencies: - boolbase: 1.0.0 - css-select: 5.2.2 - css-what: 6.2.2 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - - cheerio@1.0.0-rc.12: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - htmlparser2: 8.0.2 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chokidar@5.0.0: - dependencies: - readdirp: 5.0.0 - - chrome-trace-event@1.0.4: {} - - ci-info@3.9.0: {} - - classnames@2.5.1: {} - - clean-css@5.3.3: - dependencies: - source-map: 0.6.1 - - clean-stack@2.2.0: {} - - cli-boxes@3.0.0: {} - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - client-only@0.0.1: {} - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - cliui@9.0.1: - dependencies: - string-width: 7.2.0 - strip-ansi: 7.2.0 - wrap-ansi: 9.0.2 - - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clsx@1.2.1: {} - - clsx@2.1.1: {} - - collapse-white-space@2.1.0: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - colord@2.9.3: {} - - colorette@1.4.0: {} - - colorette@2.0.20: {} - - combine-promises@1.2.0: {} - - comma-separated-tokens@1.0.8: {} - - comma-separated-tokens@2.0.3: {} - - commander@10.0.1: {} - - commander@2.20.3: {} - - commander@4.1.1: {} - - commander@5.1.0: {} - - commander@7.2.0: {} - - commander@8.3.0: {} - - common-path-prefix@3.0.0: {} - - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - compute-gcd@1.2.1: - dependencies: - validate.io-array: 1.0.6 - validate.io-function: 1.0.2 - validate.io-integer-array: 1.0.0 - - compute-lcm@1.1.2: - dependencies: - compute-gcd: 1.2.1 - validate.io-array: 1.0.6 - validate.io-function: 1.0.2 - validate.io-integer-array: 1.0.0 - - concat-map@0.0.1: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - configstore@6.0.0: - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - - connect-history-api-fallback@2.0.0: {} - - consola@3.4.2: {} - - content-disposition@0.5.2: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - - convert-source-map@2.0.0: {} - - cookie-signature@1.0.7: {} - - cookie@0.7.2: {} - - copy-text-to-clipboard@3.2.2: {} - - copy-to-clipboard@3.3.3: - dependencies: - toggle-selection: 1.0.6 - - copy-webpack-plugin@11.0.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - fast-glob: 3.3.3 - glob-parent: 6.0.2 - globby: 13.2.2 - normalize-path: 3.0.0 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - - core-js-compat@3.49.0: - dependencies: - browserslist: 4.28.2 - - core-js@3.49.0: {} - - core-util-is@1.0.3: {} - - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - - cosmiconfig@8.3.6(typescript@6.0.3): - dependencies: - import-fresh: 3.3.1 - js-yaml: 4.3.1 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 6.0.3 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-js@4.2.0: {} - - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - - css-blank-pseudo@7.0.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - - css-declaration-sorter@7.4.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - - css-has-pseudo@7.0.3(postcss@8.5.15): - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.2) - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - postcss-value-parser: 4.2.0 - - css-in-js-utils@3.1.0: - dependencies: - hyphenate-style-name: 1.1.0 - - css-loader@6.11.0(@rspack/core@1.7.11(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.15) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.15) - postcss-modules-scope: 3.2.1(postcss@8.5.15) - postcss-modules-values: 4.0.0(postcss@8.5.15) - postcss-value-parser: 4.2.0 - semver: 7.8.3 - optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.23) - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - cssnano: 6.1.2(postcss@8.5.15) - jest-worker: 29.7.0 - postcss: 8.5.15 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - optionalDependencies: - clean-css: 5.3.3 - - css-prefers-color-scheme@10.0.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - - css-select@5.2.2: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-selector-parser@1.4.1: {} - - css-tree@1.1.3: - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-what@6.2.2: {} - - cssdb@8.9.0: {} - - cssesc@3.0.0: {} - - cssnano-preset-advanced@6.1.2(postcss@8.5.15): - dependencies: - autoprefixer: 10.5.0(postcss@8.5.15) - browserslist: 4.28.2 - cssnano-preset-default: 6.1.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-discard-unused: 6.0.5(postcss@8.5.15) - postcss-merge-idents: 6.0.3(postcss@8.5.15) - postcss-reduce-idents: 6.0.3(postcss@8.5.15) - postcss-zindex: 6.0.2(postcss@8.5.15) - - cssnano-preset-default@6.1.2(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - css-declaration-sorter: 7.4.0(postcss@8.5.15) - cssnano-utils: 4.0.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-calc: 9.0.1(postcss@8.5.15) - postcss-colormin: 6.1.0(postcss@8.5.15) - postcss-convert-values: 6.1.0(postcss@8.5.15) - postcss-discard-comments: 6.0.2(postcss@8.5.15) - postcss-discard-duplicates: 6.0.3(postcss@8.5.15) - postcss-discard-empty: 6.0.3(postcss@8.5.15) - postcss-discard-overridden: 6.0.2(postcss@8.5.15) - postcss-merge-longhand: 6.0.5(postcss@8.5.15) - postcss-merge-rules: 6.1.1(postcss@8.5.15) - postcss-minify-font-values: 6.1.0(postcss@8.5.15) - postcss-minify-gradients: 6.0.3(postcss@8.5.15) - postcss-minify-params: 6.1.0(postcss@8.5.15) - postcss-minify-selectors: 6.0.4(postcss@8.5.15) - postcss-normalize-charset: 6.0.2(postcss@8.5.15) - postcss-normalize-display-values: 6.0.2(postcss@8.5.15) - postcss-normalize-positions: 6.0.2(postcss@8.5.15) - postcss-normalize-repeat-style: 6.0.2(postcss@8.5.15) - postcss-normalize-string: 6.0.2(postcss@8.5.15) - postcss-normalize-timing-functions: 6.0.2(postcss@8.5.15) - postcss-normalize-unicode: 6.1.0(postcss@8.5.15) - postcss-normalize-url: 6.0.2(postcss@8.5.15) - postcss-normalize-whitespace: 6.0.2(postcss@8.5.15) - postcss-ordered-values: 6.0.2(postcss@8.5.15) - postcss-reduce-initial: 6.1.0(postcss@8.5.15) - postcss-reduce-transforms: 6.0.2(postcss@8.5.15) - postcss-svgo: 6.0.3(postcss@8.5.15) - postcss-unique-selectors: 6.0.4(postcss@8.5.15) - - cssnano-utils@4.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - - cssnano@6.1.2(postcss@8.5.15): - dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.15) - lilconfig: 3.1.3 - postcss: 8.5.15 - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - csstype@3.2.3: {} - - cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.0): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.34.0 - - cytoscape-fcose@2.2.0(cytoscape@3.34.0): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.34.0 - - cytoscape@3.34.0: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - - d3-color@3.1.0: {} - - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.4 - - d3-delaunay@6.0.4: - dependencies: - delaunator: 5.1.0 - - d3-dispatch@3.0.1: {} - - d3-drag@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - - d3-ease@3.0.1: {} - - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 - - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - - d3-format@3.1.2: {} - - d3-geo@3.1.1: - dependencies: - d3-array: 3.2.4 - - d3-hierarchy@3.1.2: {} - - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 - - d3-path@1.0.9: {} - - d3-path@3.1.0: {} - - d3-polygon@3.0.1: {} - - d3-quadtree@3.0.1: {} - - d3-random@3.0.1: {} - - d3-sankey@0.12.3: - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - - d3-scale-chromatic@3.1.0: - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.2 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - - d3-selection@3.0.0: {} - - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 - - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 - - d3-time@3.1.0: - dependencies: - d3-array: 3.2.4 - - d3-timer@3.0.1: {} - - d3-transition@3.0.1(d3-selection@3.0.0): - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 - - d3-zoom@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3@7.9.0: - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.2 - d3-geo: 3.1.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - - dagre-d3-es@7.0.14: - dependencies: - d3: 7.9.0 - lodash-es: 4.18.1 - - dayjs@1.11.21: {} - - debounce@1.2.1: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - decode-named-character-reference@1.3.0: - dependencies: - character-entities: 2.0.2 - - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - - deep-extend@0.6.0: {} - - deep-is@0.1.4: {} - - deepmerge@4.3.1: {} - - default-browser-id@5.0.1: {} - - default-browser@5.5.0: - dependencies: - bundle-name: 4.1.0 - default-browser-id: 5.0.1 - - defer-to-connect@2.0.1: {} - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-lazy-prop@2.0.0: {} - - define-lazy-prop@3.0.0: {} - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - delaunator@5.1.0: - dependencies: - robust-predicates: 3.0.3 - - depd@1.1.2: {} - - depd@2.0.0: {} - - dequal@2.0.3: {} - - destroy@1.2.0: {} - - detect-libc@2.1.2: {} - - detect-node@2.1.0: {} - - detect-package-manager@3.0.2: - dependencies: - execa: 5.1.1 - - detect-port@1.6.1: - dependencies: - address: 1.2.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - diff@5.2.2: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - dns-packet@5.6.1: - dependencies: - '@leichtgewicht/ip-codec': 2.0.5 - - docusaurus-markdown-source-plugin@2.2.5(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - fs-extra: 11.3.6 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - docusaurus-plugin-llms@0.4.0(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)): - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - gray-matter: 4.0.3 - minimatch: 9.0.9 - yaml: 2.9.0 - - docusaurus-plugin-openapi-docs@5.1.0(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@docusaurus/utils-validation@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@docusaurus/utils@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/json-schema@7.0.15)(react@19.2.7): - dependencies: - '@apidevtools/json-schema-ref-parser': 15.4.0(@types/json-schema@7.0.15) - '@docusaurus/plugin-content-docs': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - '@docusaurus/utils': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@docusaurus/utils-validation': 3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@redocly/openapi-core': 2.36.0 - allof-merge: 0.6.8 - chalk: 5.6.2 - clsx: 2.1.1 - fs-extra: 11.3.6 - json-pointer: 0.6.2 - json5: 2.2.3 - lodash: 4.18.1 - mustache: 4.2.0 - openapi-to-postmanv2: 6.2.0 - postman-collection: 5.3.0 - react: 19.2.7 - slugify: 1.6.9 - swagger2openapi: 7.0.8 - xml-formatter: 3.7.0 - transitivePeerDependencies: - - '@types/json-schema' - - encoding - - docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(sass@1.101.0)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - sass: 1.101.0 - sass-loader: 16.0.8(@rspack/core@1.7.11(@swc/helpers@0.5.23))(sass@1.101.0)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - transitivePeerDependencies: - - '@rspack/core' - - node-sass - - sass-embedded - - webpack - - docusaurus-plugin-sentry@2.1.0(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@docusaurus/core': 3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - docusaurus-theme-openapi-docs@5.1.0(722036656f7e1999e1a6989345bc7722): - dependencies: - '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@hookform/error-message': 2.0.1(react-dom@19.2.7(react@19.2.7))(react-hook-form@7.80.0(react@19.2.7))(react@19.2.7) - '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1))(react@19.2.7) - allof-merge: 0.6.8 - buffer: 6.0.3 - clsx: 2.1.1 - copy-text-to-clipboard: 3.2.2 - crypto-js: 4.2.0 - docusaurus-plugin-openapi-docs: 5.1.0(@docusaurus/plugin-content-docs@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@docusaurus/utils-validation@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@docusaurus/utils@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/json-schema@7.0.15)(react@19.2.7) - docusaurus-plugin-sass: 0.2.6(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.23)(postcss@8.5.15))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(@rspack/core@1.7.11(@swc/helpers@0.5.23))(sass@1.101.0)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - file-saver: 2.0.5 - lodash: 4.18.1 - pako: 2.2.0 - path-browserify: 1.0.1 - postman-code-generators: 2.1.1 - postman-collection: 5.3.0 - prism-react-renderer: 2.4.1(react@19.2.7) - process: 0.11.10 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-hook-form: 7.80.0(react@19.2.7) - react-live: 4.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-magic-dropzone: 1.0.1 - react-markdown: 10.1.0(@types/react@19.2.17)(react@19.2.7) - react-modal: 3.16.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) - rehype-raw: 7.0.0 - remark-gfm: 4.0.1 - sass: 1.101.0 - sass-loader: 16.0.8(@rspack/core@1.7.11(@swc/helpers@0.5.23))(sass@1.101.0)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - unist-util-visit: 5.1.0 - url: 0.11.4 - xml-formatter: 3.7.0 - transitivePeerDependencies: - - '@rspack/core' - - '@types/react' - - node-sass - - redux - - sass-embedded - - supports-color - - webpack + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true - dom-converter@0.2.0: - dependencies: - utila: 0.4.0 + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true - dom-helpers@3.4.0: - dependencies: - '@babel/runtime': 7.29.7 + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true - dom-helpers@5.2.1: - dependencies: - '@babel/runtime': 7.29.7 - csstype: 3.2.3 + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true - domelementtype@2.3.0: {} + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true - dompurify@3.4.8: + '@img/sharp-linuxmusl-x64@0.33.5': optionalDependencies: - '@types/trusted-types': 2.0.7 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true - domutils@2.8.0: + '@img/sharp-wasm32@0.33.5': dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 + '@emnapi/runtime': 1.11.3 + optional: true - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 + '@img/sharp-win32-ia32@0.33.5': + optional: true - dot-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.8.1 + '@img/sharp-win32-x64@0.33.5': + optional: true - dot-prop@6.0.1: - dependencies: - is-obj: 2.0.0 + '@inquirer/ansi@1.0.2': {} - dunder-proto@1.0.1: + '@inquirer/checkbox@4.3.2(@types/node@26.6.5)': dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer@0.1.2: {} - - eastasianwidth@0.2.0: {} - - ee-first@1.1.1: {} - - electron-to-chromium@1.5.370: {} - - emoji-regex@10.6.0: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - emojilib@2.4.0: {} - - emojis-list@3.0.0: {} - - emoticon@4.1.0: {} - - encodeurl@2.0.0: {} + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@26.6.5) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 26.6.5 - enhanced-resolve@5.23.0: + '@inquirer/confirm@5.1.21(@types/node@26.6.5)': dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.3 - - entities@2.2.0: {} - - entities@4.5.0: {} - - entities@6.0.1: {} + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 + + '@inquirer/core@10.3.2(@types/node@26.6.5)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@26.6.5) + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 26.6.5 - error-ex@1.3.4: + '@inquirer/editor@4.2.23(@types/node@26.6.5)': dependencies: - is-arrayish: 0.2.1 + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/external-editor': 1.0.3(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 - error-stack-parser@2.1.4: + '@inquirer/expand@4.0.23(@types/node@26.6.5)': dependencies: - stackframe: 1.3.4 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@2.1.0: {} + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 26.6.5 - es-object-atoms@1.1.2: + '@inquirer/external-editor@1.0.3(@types/node@26.6.5)': dependencies: - es-errors: 1.3.0 - - es-toolkit@1.47.0: {} + chardet: 2.2.0 + iconv-lite: 0.7.3 + optionalDependencies: + '@types/node': 26.6.5 - es6-promise@3.3.1: {} + '@inquirer/figures@1.0.15': {} - 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 + '@inquirer/input@4.3.1(@types/node@26.6.5)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 - esast-util-from-js@2.0.1: + '@inquirer/number@3.0.23(@types/node@26.6.5)': dependencies: - '@types/estree-jsx': 1.0.5 - acorn: 8.16.0 - esast-util-from-estree: 2.0.0 - vfile-message: 4.0.3 + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 - escalade@3.2.0: {} + '@inquirer/password@4.0.23(@types/node@26.6.5)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 + + '@inquirer/prompts@7.9.0(@types/node@26.6.5)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@26.6.5) + '@inquirer/confirm': 5.1.21(@types/node@26.6.5) + '@inquirer/editor': 4.2.23(@types/node@26.6.5) + '@inquirer/expand': 4.0.23(@types/node@26.6.5) + '@inquirer/input': 4.3.1(@types/node@26.6.5) + '@inquirer/number': 3.0.23(@types/node@26.6.5) + '@inquirer/password': 4.0.23(@types/node@26.6.5) + '@inquirer/rawlist': 4.1.11(@types/node@26.6.5) + '@inquirer/search': 3.2.2(@types/node@26.6.5) + '@inquirer/select': 4.4.2(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 - escape-goat@4.0.0: {} + '@inquirer/rawlist@4.1.11(@types/node@26.6.5)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 26.6.5 - escape-html@1.0.3: {} + '@inquirer/search@3.2.2(@types/node@26.6.5)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@26.6.5) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 26.6.5 - escape-string-regexp@4.0.0: {} + '@inquirer/select@4.4.2(@types/node@26.6.5)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@26.6.5) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 26.6.5 - escape-string-regexp@5.0.0: {} + '@inquirer/type@3.0.10(@types/node@26.6.5)': + optionalDependencies: + '@types/node': 26.6.5 - eslint-scope@5.1.1: + '@isaacs/fs-minipass@4.0.1': dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + minipass: 7.1.3 - eslint-scope@9.1.2: + '@jridgewell/gen-mapping@0.3.13': dependencies: - '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.9 - esrecurse: 4.3.0 - estraverse: 5.3.0 + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 - eslint-visitor-keys@3.4.3: {} + '@jridgewell/resolve-uri@3.1.2': {} - eslint-visitor-keys@4.2.1: {} + '@jridgewell/sourcemap-codec@1.6.0': {} - eslint-visitor-keys@5.0.1: {} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.6.0 - eslint@10.6.0(jiti@1.21.7): + '@jsep-plugin/assignment@1.4.0(jsep@1.6.0)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@1.21.7)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.6.0 - '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.2 - '@humanfs/node': 0.16.8 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.9 - ajv: 6.15.0 - cross-spawn: 7.0.6 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - eslint-scope: 9.1.2 - eslint-visitor-keys: 5.0.1 - espree: 11.2.0 - esquery: 1.7.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - minimatch: 10.2.5 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 1.21.7 - transitivePeerDependencies: - - supports-color + jsep: 1.6.0 - espree@10.4.0: + '@jsep-plugin/regex@1.1.0(jsep@1.6.0)': dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) - eslint-visitor-keys: 4.2.1 + jsep: 1.6.0 - espree@11.2.0: + '@jsep-plugin/ternary@1.2.0(jsep@1.6.0)': dependencies: - acorn: 8.17.0 - acorn-jsx: 5.3.2(acorn@8.17.0) - eslint-visitor-keys: 5.0.1 + jsep: 1.6.0 - esprima@4.0.1: {} + '@json-schema-spec/json-pointer@0.1.2': {} - esquery@1.7.0: + '@json-schema-tools/dereferencer@1.6.3': dependencies: - estraverse: 5.3.0 + '@json-schema-tools/reference-resolver': 1.2.6 + '@json-schema-tools/traverse': 1.11.0 + fast-safe-stringify: 2.1.1 + transitivePeerDependencies: + - encoding + + '@json-schema-tools/meta-schema@1.8.0': {} - esrecurse@4.3.0: + '@json-schema-tools/reference-resolver@1.2.6': dependencies: - estraverse: 5.3.0 + '@json-schema-spec/json-pointer': 0.1.2 + isomorphic-fetch: 3.0.0 + transitivePeerDependencies: + - encoding - estraverse@4.3.0: {} + '@json-schema-tools/traverse@1.11.0': {} - estraverse@5.3.0: {} + '@leichtgewicht/ip-codec@2.0.5': {} - estree-util-attach-comments@3.0.0: + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.9 - - estree-util-build-jsx@3.0.1: - dependencies: '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.11.2 + collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.1 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.11.2) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.1 + 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.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color - estree-util-is-identifier-name@3.0.0: {} - - estree-util-scope@1.0.0: + '@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.2.3)': dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 + '@types/mdx': 2.0.14 + '@types/react': 19.3.0 + react: 19.2.3 + + '@mintlify/cli@4.0.1665(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/node@26.6.5)(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3)': + dependencies: + '@inquirer/prompts': 7.9.0(@types/node@26.6.5) + '@mintlify/common': 1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/link-rot': 3.0.1481(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/models': 0.0.375 + '@mintlify/og': 0.0.58(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3) + '@mintlify/prebuild': 1.0.1425(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/previewing': 4.0.1501(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3) + '@mintlify/validation': 0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + adm-zip: 0.6.0 + chalk: 5.2.0 + color: 4.2.3 + detect-port: 1.5.1 + fs-extra: 11.2.0 + ink: 6.3.0(@types/react@19.3.0)(react@19.2.3) + inquirer: 12.3.0(@types/node@26.6.5) + js-yaml: 4.3.1 + mdast-util-mdx-jsx: 3.2.0 + open: 8.4.2 + openid-client: 6.8.2 + posthog-node: 5.17.2 + prosemirror-model: 1.25.4 + react: 19.2.3 + remark: 15.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.1 + remark-math: 6.0.0 + remark-mdx: 3.1.1 + remark-stringify: 11.0.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + yaml: 2.8.3 + yargs: 17.7.1 + zod: 4.3.6 + optionalDependencies: + keytar: 7.9.0 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/node' + - '@types/react' + - bufferutil + - debug + - encoding + - puppeteer + - react-devtools-core + - react-dom + - supports-color + - ts-node + - typescript + - utf-8-validate - estree-util-to-js@2.0.0: + '@mintlify/common@1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3)': dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.9.0 - source-map: 0.7.6 + '@asyncapi/parser': 3.4.0 + '@mintlify/mdx': 4.0.7(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/models': 0.0.375 + '@mintlify/openapi-parser': 0.0.9 + '@mintlify/validation': 0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@sindresorhus/slugify': 2.2.0 + '@types/mdast': 4.0.4 + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + front-matter: 4.0.2 + hast-util-from-html: 2.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-html: 9.0.4 + ignore: 7.0.5 + iregexp-check: 0.1.2 + js-yaml: 4.3.1 + json-p3: 2.2.2 + lodash: 4.18.1 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.0.0 + mdast-util-mdx: 3.0.0 + mdast-util-mdx-jsx: 3.1.3 + micromark-extension-gfm: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + openapi-types: 12.1.3 + postcss: 8.5.23 + re2js: 2.8.6 + rehype-katex: 7.0.1 + rehype-stringify: 10.0.1 + remark: 15.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + remark-math: 6.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.1 + remark-smartypants: 3.0.2 + remark-stringify: 11.0.0 + sucrase: 3.34.0 + tailwindcss-v3: tailwindcss@3.4.17 + unified: 11.0.5 + unist-builder: 4.0.0 + unist-util-map: 4.0.0 + unist-util-remove: 4.0.0 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + valibot: 1.5.0(typescript@6.0.3) + vfile: 6.0.3 + xss: 1.0.15 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - debug + - encoding + - react + - react-dom + - supports-color + - ts-node + - typescript - estree-util-value-to-estree@3.5.0: + '@mintlify/link-rot@3.0.1481(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3)': dependencies: - '@types/estree': 1.0.9 + '@mintlify/common': 1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/models': 0.0.375 + '@mintlify/prebuild': 1.0.1425(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/previewing': 4.0.1501(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3) + '@mintlify/scraping': 4.0.1133(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/validation': 0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + fs-extra: 11.1.0 + remark-smartypants: 3.0.2 + unist-util-visit: 4.1.2 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - bufferutil + - debug + - encoding + - puppeteer + - react + - react-devtools-core + - react-dom + - supports-color + - ts-node + - typescript + - utf-8-validate - estree-util-visit@2.0.0: + '@mintlify/mdx@4.0.7(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3)': dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 + '@base-ui/react': 1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3) + '@shikijs/transformers': 3.23.0 + '@shikijs/twoslash': 3.23.0(typescript@6.0.3) + arktype: 2.2.8 + hast-util-to-string: 3.0.1 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.1.0 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-to-hast: 13.2.1 + next-mdx-remote-client: 2.1.12(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(unified@11.0.5) + react: 19.2.3 + react-dom: 19.3.1(react@19.2.3) + rehype-katex: 7.0.1 + remark-gfm: 4.0.1 + remark-math: 6.0.0 + remark-smartypants: 3.0.2 + shiki: 3.23.0 + twoslash: 0.3.9(typescript@6.0.3) + unified: 11.0.5 + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - '@types/react' + - supports-color + - typescript - estree-walker@3.0.3: + '@mintlify/models@0.0.375': dependencies: - '@types/estree': 1.0.9 + axios: 1.18.0 + openapi-types: 12.1.3 + transitivePeerDependencies: + - debug + - supports-color - esutils@2.0.3: {} + '@mintlify/og@0.0.58(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3)': + dependencies: + '@mintlify/common': 1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/validation': 0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@resvg/resvg-wasm': 2.6.2 + '@shuding/opentype.js': 1.4.0-beta.0 + image-size: 2.0.2 + react: 19.2.3 + satori: 0.33.5 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - debug + - encoding + - react-dom + - supports-color + - ts-node + - typescript - eta@2.2.0: {} + '@mintlify/openapi-parser@0.0.9': + dependencies: + ajv: 8.20.0 + ajv-draft-04: 1.0.0(ajv@8.20.0) + ajv-formats: 3.0.1(ajv@8.20.0) + jsonpointer: 5.0.1 + leven: 4.1.0 + yaml: 2.8.3 - etag@1.8.1: {} + '@mintlify/package-builder@0.0.48': + dependencies: + entities: 7.0.1 + esbuild: 0.25.12 + js-yaml: 4.3.1 + semver: 7.7.4 + optional: true - eval@0.1.8: + '@mintlify/prebuild@1.0.1425(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3)': dependencies: - '@types/node': 25.9.2 - require-like: 0.1.2 + '@mintlify/common': 1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/scraping': 4.0.1133(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/validation': 0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + chalk: 5.3.0 + favicons: 7.2.0 + fflate: 0.8.2 + fs-extra: 11.1.0 + js-yaml: 4.3.1 + openapi-types: 12.1.3 + sharp: 0.33.5 + sharp-ico: 0.1.5 + uuid: 11.1.1 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - debug + - encoding + - puppeteer + - react + - react-dom + - supports-color + - ts-node + - typescript - eventemitter3@4.0.7: {} + '@mintlify/previewing@4.0.1501(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3)': + dependencies: + '@mintlify/common': 1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/prebuild': 1.0.1425(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/validation': 0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + adm-zip: 0.6.0 + better-opn: 3.0.2 + chalk: 5.2.0 + chokidar: 3.5.3 + express: 4.22.0 + fs-extra: 11.1.0 + got: 13.0.0 + ink: 6.3.0(@types/react@19.3.0)(react@19.2.3) + ink-spinner: 5.0.0(ink@6.3.0(@types/react@19.3.0)(react@19.2.3))(react@19.2.3) + is-online: 10.0.0 + js-yaml: 4.3.1 + react: 19.2.3 + socket.io: 4.8.0 + tar: 7.5.21 + yargs: 17.7.1 + optionalDependencies: + '@mintlify/package-builder': 0.0.48 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - bufferutil + - debug + - encoding + - puppeteer + - react-devtools-core + - react-dom + - supports-color + - ts-node + - typescript + - utf-8-validate - events@3.3.0: {} + '@mintlify/scraping@4.0.1133(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3)': + dependencies: + '@mintlify/common': 1.0.1260(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + fast-xml-parser: 5.7.3 + fs-extra: 11.1.1 + graphql: 16.11.0 + hast-util-to-mdast: 10.1.0 + js-yaml: 4.3.1 + mdast-util-mdx-jsx: 3.1.3 + neotraverse: 0.6.18 + rehype-parse: 9.0.1 + remark-gfm: 4.0.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + yargs: 17.7.1 + zod: 3.24.0 + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - debug + - encoding + - react + - react-dom + - supports-color + - ts-node + - typescript - execa@5.1.1: + '@mintlify/validation@0.1.923(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3)': dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 + '@mintlify/mdx': 4.0.7(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(typescript@6.0.3) + '@mintlify/models': 0.0.375 + fractional-indexing: 3.2.0 + js-yaml: 4.3.1 + lcm: 0.0.3 + lodash: 4.18.1 + neotraverse: 0.6.18 + object-hash: 3.0.0 + openapi-types: 12.1.3 + uuid: 11.1.1 + zod: 3.24.0 + zod-to-json-schema: 3.20.4(zod@3.24.0) + transitivePeerDependencies: + - '@base-ui/react' + - '@types/react' + - debug + - react + - react-dom + - supports-color + - typescript - exenv@1.2.2: {} + '@nodable/entities@2.2.0': {} - express@4.22.2: + '@nodelib/fs.scandir@2.1.5': dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.5 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 - http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.13 - proxy-addr: 2.0.7 - qs: 6.15.3 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.2 - serve-static: 1.16.3 - setprototypeof: 1.2.0 - statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.3 + + '@open-rpc/schema-utils-js@2.2.1': + dependencies: + '@json-schema-tools/dereferencer': 1.6.3 + '@json-schema-tools/meta-schema': 1.8.0 + '@json-schema-tools/reference-resolver': 1.2.6 + '@open-rpc/spec-types': 0.0.2 + '@open-rpc/specification-extension-spec': 1.0.2 + ajv: 6.15.0 + detect-node: 2.1.0 + fast-safe-stringify: 2.1.1 + fs-extra: 10.1.0 + is-url: 1.2.4 + isomorphic-fetch: 3.0.0 transitivePeerDependencies: - - supports-color + - encoding - extend-shallow@2.0.1: + '@open-rpc/spec-types@0.0.2': dependencies: - is-extendable: 0.1.1 + '@open-rpc/spec': 1.4.1 - extend@3.0.2: {} + '@open-rpc/spec@1.4.1': {} - fast-deep-equal@3.1.3: {} + '@open-rpc/specification-extension-spec@1.0.2': {} - fast-glob@3.3.3: + '@openapi-contrib/openapi-schema-to-json-schema@3.2.0': dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 + fast-deep-equal: 3.1.3 - fast-json-stable-stringify@2.1.0: {} + '@posthog/core@1.7.1': + dependencies: + cross-spawn: 7.0.6 - fast-levenshtein@2.0.6: {} + '@redocly/cli@2.38.0': {} - fast-safe-stringify@2.1.1: {} + '@resvg/resvg-wasm@2.6.2': {} - fast-shallow-equal@1.0.0: {} + '@scarf/scarf@1.4.0': {} - fast-uri@3.1.2: {} + '@shikijs/core@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + hast-util-to-html: 9.0.5 - fast-uri@3.1.3: {} + '@shikijs/engine-javascript@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.6 - fast-uri@3.1.5: {} + '@shikijs/engine-oniguruma@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 - fastest-stable-stringify@2.0.2: {} + '@shikijs/langs@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 - fastq@1.20.1: + '@shikijs/themes@3.23.0': dependencies: - reusify: 1.1.0 + '@shikijs/types': 3.23.0 - fault@1.0.4: + '@shikijs/transformers@3.23.0': dependencies: - format: 0.2.2 + '@shikijs/core': 3.23.0 + '@shikijs/types': 3.23.0 - fault@2.0.1: + '@shikijs/twoslash@3.23.0(typescript@6.0.3)': dependencies: - format: 0.2.2 + '@shikijs/core': 3.23.0 + '@shikijs/types': 3.23.0 + twoslash: 0.3.9(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color - faye-websocket@0.11.4: + '@shikijs/types@3.23.0': dependencies: - websocket-driver: 0.7.5 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 - fdir@6.5.0(picomatch@4.0.4): - optionalDependencies: - picomatch: 4.0.4 + '@shikijs/vscode-textmate@10.0.2': {} - feed@4.2.2: + '@shuding/opentype.js@1.4.0-beta.0': dependencies: - xml-js: 1.6.11 + fflate: 0.7.5 + string.prototype.codepointat: 0.2.1 + + '@sindresorhus/is@5.6.0': {} - file-entry-cache@8.0.0: + '@sindresorhus/slugify@2.2.0': dependencies: - flat-cache: 4.0.1 + '@sindresorhus/transliterate': 1.6.0 + escape-string-regexp: 5.0.0 - file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + '@sindresorhus/transliterate@1.6.0': dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) + escape-string-regexp: 5.0.0 - file-saver@2.0.5: {} + '@socket.io/component-emitter@3.1.2': {} - file-type@3.9.0: {} + '@stellar/prettier-config@1.2.0(prettier@3.9.4)': + dependencies: + prettier: 3.9.4 - fill-range@7.1.1: + '@stoplight/better-ajv-errors@1.0.3(ajv@8.20.0)': dependencies: - to-regex-range: 5.0.1 + ajv: 8.20.0 + jsonpointer: 5.0.1 + leven: 3.1.0 - finalhandler@1.3.2: + '@stoplight/json-ref-readers@1.2.2': dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - unpipe: 1.0.0 + node-fetch: 2.7.0 + tslib: 1.14.1 transitivePeerDependencies: - - supports-color + - encoding - find-cache-dir@4.0.0: + '@stoplight/json-ref-resolver@3.1.6': dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 + '@stoplight/json': 3.21.0 + '@stoplight/path': 1.3.2 + '@stoplight/types': 13.20.0 + '@types/urijs': 1.19.26 + dependency-graph: 0.11.0 + fast-memoize: 2.5.2 + immer: 9.0.21 + lodash: 4.18.1 + tslib: 2.8.1 + urijs: 1.19.11 - find-up@5.0.0: + '@stoplight/json@3.21.0': dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 + '@stoplight/ordered-object-literal': 1.0.5 + '@stoplight/path': 1.3.2 + '@stoplight/types': 13.20.0 + jsonc-parser: 2.2.1 + lodash: 4.18.1 + safe-stable-stringify: 1.1.1 - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 + '@stoplight/ordered-object-literal@1.0.5': {} + + '@stoplight/path@1.3.2': {} - flat-cache@4.0.1: + '@stoplight/spectral-core@1.24.0': dependencies: - flatted: 3.4.2 - keyv: 4.5.4 + '@scarf/scarf': 1.4.0 + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.20.0) + '@stoplight/json': 3.21.0 + '@stoplight/path': 1.3.2 + '@stoplight/spectral-parsers': 1.0.5 + '@stoplight/spectral-ref-resolver': 1.0.5 + '@stoplight/spectral-runtime': 1.1.6 + '@stoplight/types': 13.6.0 + '@types/es-aggregate-error': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 8.20.0 + ajv-errors: 3.0.0(ajv@8.20.0) + ajv-formats: 2.1.1(ajv@8.20.0) + es-aggregate-error: 1.0.14 + expr-eval-fork: 3.0.3 + jsonpath-plus: 10.4.0 + lodash: 4.18.1 + lodash.topath: 4.5.2 + minimatch: 3.1.5 + nimma: 0.2.3 + pony-cause: 1.1.1 + tslib: 2.8.1 + transitivePeerDependencies: + - encoding - flat@5.0.2: {} + '@stoplight/spectral-formats@1.9.0': + dependencies: + '@scarf/scarf': 1.4.0 + '@stoplight/json': 3.21.0 + '@stoplight/spectral-core': 1.24.0 + '@types/json-schema': 7.0.15 + tslib: 2.8.1 + transitivePeerDependencies: + - encoding - flatted@3.4.2: {} + '@stoplight/spectral-functions@1.11.0': + dependencies: + '@scarf/scarf': 1.4.0 + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.20.0) + '@stoplight/json': 3.21.0 + '@stoplight/spectral-core': 1.24.0 + '@stoplight/spectral-formats': 1.9.0 + '@stoplight/spectral-runtime': 1.1.6 + ajv: 8.20.0 + ajv-draft-04: 1.0.0(ajv@8.20.0) + ajv-errors: 3.0.0(ajv@8.20.0) + ajv-formats: 2.1.1(ajv@8.20.0) + lodash: 4.18.1 + tslib: 2.8.1 + transitivePeerDependencies: + - encoding - fnv-plus@1.3.1: {} + '@stoplight/spectral-parsers@1.0.5': + dependencies: + '@stoplight/json': 3.21.0 + '@stoplight/types': 14.1.1 + '@stoplight/yaml': 4.3.0 + tslib: 2.8.1 - follow-redirects@1.16.0: {} + '@stoplight/spectral-ref-resolver@1.0.5': + dependencies: + '@stoplight/json-ref-readers': 1.2.2 + '@stoplight/json-ref-resolver': 3.1.6 + '@stoplight/spectral-runtime': 1.1.6 + dependency-graph: 0.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - encoding - foreach@2.0.6: {} + '@stoplight/spectral-runtime@1.1.6': + dependencies: + '@stoplight/json': 3.21.0 + '@stoplight/path': 1.3.2 + '@stoplight/types': 13.20.0 + lodash: 4.18.1 + node-fetch: 2.7.0 + tslib: 2.8.1 + transitivePeerDependencies: + - encoding - form-data-encoder@2.1.4: {} + '@stoplight/types@13.20.0': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 - format@0.2.2: {} + '@stoplight/types@13.6.0': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 - forwarded@0.2.0: {} + '@stoplight/types@14.1.1': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 - fraction.js@5.3.4: {} + '@stoplight/yaml-ast-parser@0.0.50': {} - fresh@0.5.2: {} + '@stoplight/yaml@4.3.0': + dependencies: + '@stoplight/ordered-object-literal': 1.0.5 + '@stoplight/types': 14.1.1 + '@stoplight/yaml-ast-parser': 0.0.50 + tslib: 2.8.1 - fs-extra@10.1.0: + '@szmarczak/http-timer@5.0.1': dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.1 - universalify: 2.0.1 + defer-to-connect: 2.0.1 - fs-extra@11.3.6: + '@types/cors@2.8.19': dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.1 - universalify: 2.0.1 + '@types/node': 26.6.5 - fs.realpath@1.0.0: {} + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 - fsevents@2.3.3: - optional: true + '@types/es-aggregate-error@1.0.6': + dependencies: + '@types/node': 26.6.5 - function-bind@1.1.2: {} + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.9 - gensync@1.0.0-beta.2: {} + '@types/estree@1.0.9': {} - get-caller-file@2.0.5: {} + '@types/hast@3.0.5': + dependencies: + '@types/unist': 3.0.3 - get-east-asian-width@1.6.0: {} + '@types/http-cache-semantics@4.2.0': {} - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.4 - math-intrinsics: 1.1.0 + '@types/json-schema@7.0.15': {} - get-own-enumerable-property-symbols@3.0.2: {} + '@types/katex@0.16.8': {} - get-proto@1.0.1: + '@types/mdast@4.0.4': dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.2 + '@types/unist': 3.0.3 - get-stream@6.0.1: {} + '@types/mdx@2.0.14': {} - github-slugger@1.5.0: {} + '@types/ms@2.1.0': {} - glob-parent@5.1.2: + '@types/nlcst@2.0.3': dependencies: - is-glob: 4.0.3 + '@types/unist': 3.0.3 - glob-parent@6.0.2: + '@types/node@26.6.5': dependencies: - is-glob: 4.0.3 + undici-types: 8.9.0 - glob-to-regex.js@1.2.0(tslib@2.8.1): + '@types/react@19.3.0': dependencies: - tslib: 2.8.1 + csstype: 3.2.3 - glob-to-regexp@0.4.1: {} + '@types/unist@2.0.11': {} - glob@13.0.6: - dependencies: - minimatch: 10.2.5 - minipass: 7.1.3 - path-scurry: 2.0.2 + '@types/unist@3.0.3': {} - glob@7.2.3: + '@types/urijs@1.19.26': {} + + '@types/ws@8.18.2': dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.5 - once: 1.4.0 - path-is-absolute: 1.0.1 + '@types/node': 26.6.5 - global-dirs@3.0.1: + '@typescript/vfs@1.6.5(typescript@6.0.3)': dependencies: - ini: 2.0.0 + debug: 4.4.3 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color - globals@14.0.0: {} + '@ungap/structured-clone@1.4.0': {} - globby@11.1.0: + accepts@1.3.8: dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 + mime-types: 2.1.35 + negotiator: 0.6.3 - globby@13.2.2: + acorn-jsx@5.3.2(acorn@8.11.2): dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 + acorn: 8.11.2 - gopd@1.2.0: {} + acorn@8.11.2: {} - got@12.6.1: + address@1.2.2: {} + + adm-zip@0.6.0: {} + + agent-base@6.0.2: dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + aggregate-error@4.0.1: + dependencies: + clean-stack: 4.2.0 + indent-string: 5.0.0 + + ajv-draft-04@1.0.0(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 - graceful-fs@4.2.10: {} + ajv-errors@3.0.0(ajv@8.20.0): + dependencies: + ajv: 8.20.0 - graceful-fs@4.2.11: {} + ajv-formats@2.1.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 - graphemer@1.4.0: {} + ajv-formats@3.0.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 - graphlib@2.1.8: + ajv@6.15.0: dependencies: - lodash: 4.18.1 + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 - gray-matter@4.0.3: + ajv@8.20.0: dependencies: - js-yaml: 3.15.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 + fast-deep-equal: 3.1.3 + fast-uri: 3.1.8 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 - gzip-size@6.0.0: + ansi-escapes@4.3.2: dependencies: - duplexer: 0.1.2 + type-fest: 0.21.3 - hachure-fill@0.5.2: {} + ansi-escapes@7.3.0: + dependencies: + environment: 1.1.0 - handle-thing@2.0.1: {} + ansi-regex@5.0.1: {} - has-flag@4.0.0: {} + ansi-regex@6.2.2: {} - has-property-descriptors@1.0.2: + ansi-styles@4.3.0: dependencies: - es-define-property: 1.0.1 - - has-symbols@1.1.0: {} + color-convert: 2.0.1 - has-yarn@3.0.0: {} + ansi-styles@6.2.3: {} - hash-color-material@1.1.3: {} + any-promise@1.3.0: {} - hasown@2.0.4: + anymatch@3.1.3: dependencies: - function-bind: 1.1.2 + normalize-path: 3.0.0 + picomatch: 2.3.2 - hast-to-hyperscript@10.0.3: - dependencies: - '@types/unist': 2.0.11 - comma-separated-tokens: 2.0.3 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 - web-namespaces: 2.0.1 + anynum@1.0.1: {} - hast-util-from-dom@5.0.1: - dependencies: - '@types/hast': 3.0.4 - hastscript: 9.0.1 - web-namespaces: 2.0.1 + arg@5.0.2: {} - hast-util-from-html-isomorphic@2.0.0: + argparse@1.0.10: dependencies: - '@types/hast': 3.0.4 - hast-util-from-dom: 5.0.1 - hast-util-from-html: 2.0.3 - unist-util-remove-position: 5.0.0 + sprintf-js: 1.0.3 - 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 + argparse@2.0.1: {} - hast-util-from-parse5@7.1.2: + arkregex@0.0.13: dependencies: - '@types/hast': 2.3.10 - '@types/unist': 2.0.11 - hastscript: 7.2.0 - property-information: 6.5.0 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 + '@ark/util': 0.56.7 - hast-util-from-parse5@8.0.3: + arktype@2.2.8: dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.2.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 + '@ark/schema': 0.56.7 + '@ark/util': 0.56.7 + arkregex: 0.0.13 - hast-util-is-element@3.0.0: + array-buffer-byte-length@1.0.2: dependencies: - '@types/hast': 3.0.4 + call-bound: 1.0.4 + is-array-buffer: 3.0.5 - hast-util-parse-selector@2.2.5: {} + array-flatten@1.1.1: {} - hast-util-parse-selector@3.1.1: - dependencies: - '@types/hast': 2.3.10 + array-iterate@2.0.1: {} - hast-util-parse-selector@4.0.0: + arraybuffer.prototype.slice@1.0.4: dependencies: - '@types/hast': 3.0.4 + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 - hast-util-raw@7.0.0: - dependencies: - '@types/hast': 2.3.10 - '@types/parse5': 6.0.3 - '@types/unist': 2.0.11 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 3.1.0 - vfile: 4.2.1 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + astring@1.9.0: {} - hast-util-raw@9.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.2 - 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 + async-function@1.0.0: {} - hast-util-sanitize@4.1.0: - dependencies: - '@types/hast': 2.3.10 + asynckit@0.4.0: {} + + auto-bind@5.0.1: {} - hast-util-to-estree@3.1.3: + available-typed-arrays@1.0.7: dependencies: - '@types/estree': 1.0.9 - '@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.2.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - zwitch: 2.0.4 - transitivePeerDependencies: - - supports-color + possible-typed-array-names: 1.1.0 - hast-util-to-jsx-runtime@2.3.6: + avsc@5.7.9: {} + + axios@1.18.0: dependencies: - '@types/estree': 1.0.9 - '@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.2.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - vfile-message: 4.0.3 + follow-redirects: 1.16.1 + form-data: 4.0.6 + https-proxy-agent: 5.0.1 + proxy-from-env: 2.1.0 transitivePeerDependencies: + - debug - supports-color - hast-util-to-parse5@7.1.0: - dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 2.0.3 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + bail@2.0.2: {} - 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.2.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + balanced-match@1.0.2: {} - hast-util-to-text@4.0.2: + base64-js@0.0.8: {} + + base64-js@1.5.1: + optional: true + + base64id@2.0.0: {} + + better-opn@3.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 + open: 8.4.2 - hast-util-whitespace@2.0.1: {} + binary-extensions@2.3.0: {} - hast-util-whitespace@3.0.0: + bl@4.1.0: dependencies: - '@types/hast': 3.0.4 + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + optional: true - hastscript@6.0.0: + body-parser@1.20.8: dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.16.1 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color - hastscript@7.2.0: + brace-expansion@1.1.21: dependencies: - '@types/hast': 2.3.10 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 + balanced-match: 1.0.2 + concat-map: 0.0.1 - hastscript@9.0.1: + braces@3.0.3: dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 7.2.0 - space-separated-tokens: 2.0.2 + fill-range: 7.1.1 - he@1.2.0: {} + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + optional: true - highlight.js@10.7.3: {} + bytes@3.1.2: {} - highlightjs-vue@1.0.0: {} + cacheable-lookup@7.0.0: {} - history@4.10.1: + cacheable-request@10.2.14: dependencies: - '@babel/runtime': 7.29.7 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - value-equal: 1.0.1 + '@types/http-cache-semantics': 4.2.0 + get-stream: 6.0.1 + http-cache-semantics: 4.3.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.1.1 + responselike: 3.0.0 - hoist-non-react-statics@3.3.2: + call-bind-apply-helpers@1.0.2: dependencies: - react-is: 16.13.1 + es-errors: 1.3.0 + function-bind: 1.1.2 - hpack.js@2.1.6: + call-bind@1.0.9: dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - - html-escaper@2.0.2: {} + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 - html-minifier-terser@6.1.0: + call-bound@1.0.4: dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 8.3.0 - he: 1.2.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.48.0 + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 - html-minifier-terser@7.2.0: - dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 10.0.1 - entities: 4.5.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.48.0 + camelcase-css@2.0.1: {} - html-tags@3.3.1: {} + camelize@1.0.1: {} - html-url-attributes@3.0.1: {} + ccount@2.0.1: {} - html-void-elements@2.0.1: {} + chalk@5.2.0: {} - html-void-elements@3.0.0: {} + chalk@5.3.0: {} - html-webpack-plugin@5.6.7(@rspack/core@1.7.11(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.18.1 - pretty-error: 4.0.0 - tapable: 2.3.3 - optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.23) - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) + chalk@5.6.2: {} - htmlparser2@6.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 + character-entities-html4@2.1.0: {} - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} - http-cache-semantics@4.2.0: {} + character-reference-invalid@2.0.1: {} - http-deceiver@1.2.7: {} + chardet@2.2.0: {} - http-errors@1.8.1: + chokidar@3.5.3: dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 - http-errors@2.0.1: + chokidar@3.6.0: dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.2 - toidentifier: 1.0.1 + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@1.1.4: + optional: true + + chownr@3.0.0: {} + + clean-stack@4.2.0: + dependencies: + escape-string-regexp: 5.0.0 - http-parser-js@0.5.10: {} + cli-boxes@3.0.0: {} - http-proxy-middleware@2.0.9(@types/express@4.17.25): + cli-cursor@4.0.0: dependencies: - '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.8 - optionalDependencies: - '@types/express': 4.17.25 - transitivePeerDependencies: - - debug + restore-cursor: 4.0.0 - http-proxy@1.18.1: + cli-spinners@2.9.2: {} + + cli-truncate@4.0.0: dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.16.0 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug + slice-ansi: 5.0.0 + string-width: 7.2.0 - http-reasons@0.1.0: {} + cli-width@4.1.0: {} - http2-client@1.3.5: {} + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - http2-wrapper@2.2.1: + cliui@9.0.1: dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 + string-width: 7.2.0 + strip-ansi: 7.2.0 + wrap-ansi: 9.0.2 - human-signals@2.1.0: {} + code-excerpt@4.0.0: + dependencies: + convert-to-spaces: 2.0.1 - husky@9.1.7: {} + collapse-white-space@2.1.0: {} - hyperdyperid@1.2.0: {} + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 - hyphenate-style-name@1.1.0: {} + color-name@1.1.4: {} - iconv-lite@0.4.24: + color-string@1.9.1: dependencies: - safer-buffer: 2.1.2 + color-name: 1.1.4 + simple-swizzle: 0.2.4 - iconv-lite@0.6.3: + color@4.2.3: dependencies: - safer-buffer: 2.1.2 + color-convert: 2.0.1 + color-string: 1.9.1 - icss-utils@5.1.0(postcss@8.5.15): + combined-stream@1.0.8: dependencies: - postcss: 8.5.15 + delayed-stream: 1.0.0 - ieee754@1.2.1: {} - - ignore@5.3.2: {} + comma-separated-tokens@2.0.3: {} - image-size@2.0.2: {} + commander@2.20.3: {} - immer@11.1.9: {} + commander@4.1.1: {} - immutable@5.1.6: {} + commander@8.3.0: {} - import-fresh@3.3.1: + compute-gcd@1.2.1: dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-lazy@4.0.0: {} - - import-meta-resolve@4.2.0: {} - - imurmurhash@0.1.4: {} + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 - indent-string@4.0.0: {} + compute-lcm@1.1.2: + dependencies: + compute-gcd: 1.2.1 + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 - infima@0.2.0-alpha.45: {} + concat-map@0.0.1: {} - inflight@1.0.6: + content-disposition@0.5.4: dependencies: - once: 1.4.0 - wrappy: 1.0.2 + safe-buffer: 5.2.1 - inherits@2.0.4: {} + content-type@1.0.5: {} - ini@1.3.8: {} + convert-to-spaces@2.0.1: {} - ini@2.0.0: {} + cookie-signature@1.0.7: {} - inline-style-parser@0.1.1: {} + cookie@0.7.2: {} - inline-style-parser@0.2.7: {} + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 - inline-style-prefixer@7.0.1: + cross-spawn@7.0.6: dependencies: - css-in-js-utils: 3.1.0 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - internmap@1.0.1: {} + css-background-parser@0.1.0: {} - internmap@2.0.3: {} + css-box-shadow@1.0.0-3: {} - interpret@1.4.0: {} + css-color-keywords@1.0.0: {} - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 + css-gradient-parser@0.0.17: {} - ipaddr.js@1.9.1: {} + css-to-react-native@3.2.0: + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 - ipaddr.js@2.4.0: {} + cssesc@3.0.0: {} - is-alphabetical@1.0.4: {} + cssfilter@0.0.10: {} - is-alphabetical@2.0.1: {} + csstype@3.2.3: {} - is-alphanumerical@1.0.4: + data-view-buffer@1.0.2: dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - is-alphanumerical@2.0.1: + data-view-byte-length@1.0.2: dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-arrayish@0.2.1: {} + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - is-binary-path@2.1.0: + data-view-byte-offset@1.0.1: dependencies: - binary-extensions: 2.3.0 - - is-buffer@2.0.5: {} + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - is-ci@3.0.1: + debug@2.6.9: dependencies: - ci-info: 3.9.0 + ms: 2.0.0 - is-core-module@2.16.2: + debug@4.3.7: dependencies: - hasown: 2.0.4 - - is-decimal@1.0.4: {} - - is-decimal@2.0.1: {} - - is-docker@2.2.1: {} - - is-docker@3.0.0: {} + ms: 2.1.3 - is-extendable@0.1.1: {} + debug@4.4.3: + dependencies: + ms: 2.1.3 - is-extglob@2.1.1: {} + decode-bmp@0.2.1: + dependencies: + '@canvas/image-data': 1.1.0 + to-data-view: 1.1.0 - is-fullwidth-code-point@3.0.0: {} + decode-ico@0.4.1: + dependencies: + '@canvas/image-data': 1.1.0 + decode-bmp: 0.2.1 + to-data-view: 1.1.0 - is-glob@4.0.3: + decode-named-character-reference@1.3.0: dependencies: - is-extglob: 2.1.1 + character-entities: 2.0.2 - is-hexadecimal@1.0.4: {} + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 - is-hexadecimal@2.0.1: {} + deep-extend@0.6.0: + optional: true - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 + defer-to-connect@2.0.1: {} - is-installed-globally@0.4.0: + define-data-property@1.1.4: dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 - is-network-error@1.3.2: {} + define-lazy-prop@2.0.0: {} - is-npm@6.1.0: {} + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 - is-number@7.0.0: {} + delayed-stream@1.0.0: {} - is-obj@1.0.1: {} + depd@2.0.0: {} - is-obj@2.0.0: {} + dependency-graph@0.11.0: {} - is-path-inside@3.0.3: {} + dequal@2.0.3: {} - is-plain-obj@2.1.0: {} + destroy@1.2.0: {} - is-plain-obj@3.0.0: {} + detect-libc@2.1.2: {} - is-plain-obj@4.1.0: {} + detect-node@2.1.0: {} - is-plain-object@2.0.4: + detect-port@1.5.1: dependencies: - isobject: 3.0.1 - - is-regexp@1.0.0: {} + address: 1.2.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color - is-stream@2.0.1: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 - is-typedarray@1.0.0: {} + didyoumean@1.2.2: {} - is-url@1.2.4: {} + dlv@1.1.3: {} - is-wsl@2.2.0: + dns-packet@5.6.1: dependencies: - is-docker: 2.2.1 + '@leichtgewicht/ip-codec': 2.0.5 - is-wsl@3.1.1: + dns-socket@4.2.2: dependencies: - is-inside-container: 1.0.0 - - is-yarn-global@0.4.1: {} - - isarray@0.0.1: {} + dns-packet: 5.6.1 - isarray@1.0.0: {} + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 - isexe@2.0.0: {} + ee-first@1.1.1: {} - isobject@3.0.1: {} + emoji-regex-xs@2.0.1: {} - isomorphic-fetch@3.0.0: - dependencies: - node-fetch: 2.7.0 - whatwg-fetch: 3.6.20 - transitivePeerDependencies: - - encoding + emoji-regex@10.6.0: {} - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 25.9.2 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.2 + emoji-regex@8.0.0: {} - jest-worker@27.5.1: - dependencies: - '@types/node': 25.9.2 - merge-stream: 2.0.0 - supports-color: 8.1.1 + encodeurl@2.0.0: {} - jest-worker@29.7.0: + end-of-stream@1.4.5: dependencies: - '@types/node': 25.9.2 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jiti@1.21.7: {} + once: 1.4.0 + optional: true - joi@17.13.3: - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 + engine.io-parser@5.2.3: {} - jotai@1.13.1(@babel/core@7.29.7)(@babel/template@7.29.7)(react@19.2.7): + engine.io@6.6.11: dependencies: - react: 19.2.7 - optionalDependencies: - '@babel/core': 7.29.7 - '@babel/template': 7.29.7 + '@types/cors': 2.8.19 + '@types/node': 26.6.5 + '@types/ws': 8.18.2 + accepts: 1.3.8 + cookie: 0.7.2 + cors: 2.8.6 + debug: 4.4.3 + engine.io-parser: 5.2.3 + ws: 8.21.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate - js-cookie@2.2.1: {} + entities@6.0.1: {} - js-levenshtein@1.1.6: {} + entities@7.0.1: + optional: true - js-tokens@4.0.0: {} + environment@1.1.0: {} - js-yaml@3.15.1: + es-abstract-get@1.0.0: dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 - js-yaml@4.1.0: + es-abstract@1.24.2: dependencies: - argparse: 2.0.1 - - js-yaml@4.3.1: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.2 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.5 + typed-array-length: 1.0.8 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.24 + + es-aggregate-error@1.0.14: dependencies: - argparse: 2.0.1 - - jsesc@3.1.0: {} - - json-buffer@3.0.1: {} + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + function-bind: 1.1.2 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + set-function-name: 2.0.2 - json-crawl@0.5.3: {} + es-define-property@1.0.1: {} - json-parse-even-better-errors@2.3.1: {} + es-errors@1.3.0: {} - json-pointer@0.6.2: + es-object-atoms@1.1.2: dependencies: - foreach: 2.0.6 + es-errors: 1.3.0 - json-schema-compare@0.2.2: + es-set-tostringtag@2.1.0: dependencies: - lodash: 4.18.1 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 - json-schema-merge-allof@0.8.1: + es-to-primitive@1.3.4: dependencies: - compute-lcm: 1.1.2 - json-schema-compare: 0.2.2 - lodash: 4.18.1 + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + es-toolkit@1.52.0: {} - json-schema-to-ts@2.7.2: + esast-util-from-estree@2.0.0: dependencies: - '@babel/runtime': 7.29.7 - '@types/json-schema': 7.0.15 - ts-algebra: 1.2.2 + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 - json-schema-traverse@0.4.1: {} + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.11.2 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 - json-schema-traverse@1.0.0: {} + 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 + optional: true - json-stable-stringify-without-jsonify@1.0.1: {} + escalade@3.2.0: {} - json5@2.2.3: {} + escape-html@1.0.3: {} - jsonc-parser@2.2.1: {} + escape-string-regexp@2.0.0: {} - jsonfile@6.2.1: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 + escape-string-regexp@5.0.0: {} - jsonpointer@5.0.1: {} + esprima@4.0.1: {} - katex@0.16.47: + estree-util-attach-comments@3.0.0: dependencies: - commander: 8.3.0 + '@types/estree': 1.0.9 - keyv@4.5.4: + estree-util-build-jsx@3.0.1: dependencies: - json-buffer: 3.0.1 - - khroma@2.1.0: {} + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 - kind-of@6.0.3: {} + estree-util-is-identifier-name@3.0.0: {} - kleur@3.0.3: {} + estree-util-scope@1.0.1: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 - kleur@4.1.5: {} + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 - latest-version@7.0.0: + estree-util-visit@2.0.0: dependencies: - package-json: 8.1.1 + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 - launch-editor@2.14.1: + estree-walker@3.0.3: dependencies: - picocolors: 1.1.1 - shell-quote: 1.8.4 + '@types/estree': 1.0.9 - layout-base@1.0.2: {} + etag@1.8.1: {} - layout-base@2.0.1: {} + expand-template@2.0.3: + optional: true - leven@3.1.0: {} + expr-eval-fork@3.0.3: {} - levn@0.4.1: + express@4.22.0: dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.8 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.2 + fresh: 0.5.2 + http-errors: 2.0.1 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.13 + proxy-addr: 2.0.8 + qs: 6.14.2 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2 + serve-static: 1.16.3 + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color - lightningcss-android-arm64@1.32.0: - optional: true + extend@3.0.2: {} - lightningcss-darwin-arm64@1.32.0: - optional: true + fast-deep-equal@3.1.3: {} - lightningcss-darwin-x64@1.32.0: - optional: true + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 - lightningcss-freebsd-x64@1.32.0: - optional: true + fast-json-stable-stringify@2.1.0: {} - lightningcss-linux-arm-gnueabihf@1.32.0: - optional: true + fast-memoize@2.5.2: {} - lightningcss-linux-arm64-gnu@1.32.0: - optional: true + fast-safe-stringify@2.1.1: {} - lightningcss-linux-arm64-musl@1.32.0: - optional: true + fast-uri@3.1.8: {} - lightningcss-linux-x64-gnu@1.32.0: - optional: true + fast-xml-builder@1.3.1: + dependencies: + path-expression-matcher: 1.6.2 + xml-naming: 0.3.0 - lightningcss-linux-x64-musl@1.32.0: - optional: true + fast-xml-parser@5.7.3: + dependencies: + '@nodable/entities': 2.2.0 + fast-xml-builder: 1.3.1 + path-expression-matcher: 1.6.2 + strnum: 2.5.1 - lightningcss-win32-arm64-msvc@1.32.0: - optional: true + fastq@1.20.3: + dependencies: + reusify: 1.1.0 - lightningcss-win32-x64-msvc@1.32.0: - optional: true + fault@2.0.1: + dependencies: + format: 0.2.2 - lightningcss@1.32.0: + favicons@7.2.0: dependencies: - detect-libc: 2.1.2 - 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 - - lilconfig@3.1.3: {} + escape-html: 1.0.3 + sharp: 0.33.5 + xml2js: 0.6.2 - lines-and-columns@1.2.4: {} + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 - liquid-json@0.3.1: {} + fflate@0.7.3: {} - loader-runner@4.3.2: {} + fflate@0.7.5: {} - loader-utils@2.0.4: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 + fflate@0.8.2: {} - locate-path@6.0.0: + fill-range@7.1.1: dependencies: - p-locate: 5.0.0 + to-regex-range: 5.0.1 - locate-path@7.2.0: + finalhandler@1.3.2: dependencies: - p-locate: 6.0.0 + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color - lodash-es@4.18.1: {} + follow-redirects@1.16.1: {} - lodash.debounce@4.0.8: {} + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 - lodash.get@4.4.2: {} + form-data-encoder@2.1.4: {} - lodash.memoize@4.1.2: {} + form-data@4.0.6: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 - lodash.uniq@4.5.0: {} + format@0.2.2: {} - lodash@4.17.21: {} + forwarded@0.2.0: {} - lodash@4.17.23: {} + fractional-indexing@3.2.0: {} - lodash@4.18.1: {} + fresh@0.5.2: {} - longest-streak@2.0.4: {} + front-matter@4.0.2: + dependencies: + js-yaml: 3.15.2 - longest-streak@3.1.0: {} + fs-constants@1.0.0: + optional: true - loose-envify@1.4.0: + fs-extra@10.1.0: dependencies: - js-tokens: 4.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 - lower-case@2.0.2: + fs-extra@11.1.0: dependencies: - tslib: 2.8.1 - - lowercase-keys@3.0.0: {} + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 - lowlight@1.20.0: + fs-extra@11.1.1: dependencies: - fault: 1.0.4 - highlight.js: 10.7.3 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 - lru-cache@11.5.1: {} + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 - lru-cache@5.1.1: + fs-extra@11.3.6: dependencies: - yallist: 3.1.1 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} - magic-error@0.0.1: {} + fsevents@2.3.3: + optional: true - markdown-extensions@2.0.0: {} + function-bind@1.1.2: {} - markdown-table@2.0.0: + function.prototype.name@1.2.0: dependencies: - repeat-string: 1.6.1 + call-bind: 1.0.9 + call-bound: 1.0.4 + es-define-property: 1.0.1 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 + is-callable: 1.2.7 + is-document.all: 1.0.0 - markdown-table@3.0.4: {} + functions-have-names@1.2.3: {} - markdown-to-jsx@7.7.17(react@19.2.7): - optionalDependencies: - react: 19.2.7 + gcd@0.0.1: {} - marked@16.4.2: {} + generator-function@2.0.1: {} - math-intrinsics@1.1.0: {} + get-caller-file@2.0.5: {} - mdast-util-definitions@5.1.2: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - unist-util-visit: 4.1.2 + get-east-asian-width@1.6.0: {} - mdast-util-directive@3.1.0: + get-intrinsic@1.3.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 + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 - mdast-util-find-and-replace@1.1.1: + get-proto@1.0.1: dependencies: - escape-string-regexp: 4.0.0 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@6.0.1: {} - mdast-util-find-and-replace@3.0.2: + get-symbol-description@1.1.0: 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 + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + github-from-package@0.0.0: + optional: true - mdast-util-from-markdown@0.8.5: + glob-parent@5.1.2: dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-string: 2.0.0 - micromark: 2.11.4 - parse-entities: 2.0.0 - unist-util-stringify-position: 2.0.3 - transitivePeerDependencies: - - supports-color + is-glob: 4.0.3 - mdast-util-from-markdown@1.3.1: + glob-parent@6.0.2: dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - decode-named-character-reference: 1.3.0 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color + is-glob: 4.0.3 - mdast-util-from-markdown@2.0.3: + glob@7.1.6: 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 + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 - mdast-util-frontmatter@0.2.0: + globalthis@1.0.4: dependencies: - micromark-extension-frontmatter: 0.2.2 + define-properties: 1.2.1 + gopd: 1.2.0 - mdast-util-frontmatter@2.0.1: + gopd@1.2.0: {} + + got@12.6.1: dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - micromark-extension-frontmatter: 2.0.0 - transitivePeerDependencies: - - supports-color + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 - mdast-util-gfm-autolink-literal@0.1.3: + got@13.0.0: dependencies: - ccount: 1.1.0 - mdast-util-find-and-replace: 1.1.1 - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 - 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 + graceful-fs@4.2.11: {} - 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 + graphql@16.11.0: {} - mdast-util-gfm-strikethrough@0.2.3: - dependencies: - mdast-util-to-markdown: 0.6.5 + harfbuzzjs@0.10.0: {} - 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 + has-bigints@1.1.0: {} - mdast-util-gfm-table@0.1.6: + has-property-descriptors@1.0.2: dependencies: - markdown-table: 2.0.0 - mdast-util-to-markdown: 0.6.5 + es-define-property: 1.0.1 - mdast-util-gfm-table@2.0.0: + has-proto@1.2.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 + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} - mdast-util-gfm-task-list-item@0.1.6: + has-tostringtag@1.0.2: dependencies: - mdast-util-to-markdown: 0.6.5 + has-symbols: 1.1.0 - mdast-util-gfm-task-list-item@2.0.0: + hasown@2.0.4: 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 + function-bind: 1.1.2 - mdast-util-gfm@0.1.2: + hast-util-embedded@3.0.0: dependencies: - mdast-util-gfm-autolink-literal: 0.1.3 - mdast-util-gfm-strikethrough: 0.2.3 - mdast-util-gfm-table: 0.1.6 - mdast-util-gfm-task-list-item: 0.1.6 - mdast-util-to-markdown: 0.6.5 - transitivePeerDependencies: - - supports-color + '@types/hast': 3.0.5 + hast-util-is-element: 3.0.0 - mdast-util-gfm@3.1.0: + hast-util-from-dom@5.0.1: 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 + '@types/hast': 3.0.5 + hastscript: 9.0.1 + web-namespaces: 2.0.1 - mdast-util-math@3.0.0: + hast-util-from-html-isomorphic@2.0.0: dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - longest-streak: 3.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 + '@types/hast': 3.0.5 + hast-util-from-dom: 5.0.1 + hast-util-from-html: 2.0.3 unist-util-remove-position: 5.0.0 - transitivePeerDependencies: - - supports-color - mdast-util-mdx-expression@2.0.1: + hast-util-from-html@2.0.3: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 + '@types/hast': 3.0.5 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + hast-util-from-parse5: 8.0.3 + parse5: 7.3.0 + vfile: 6.0.3 + vfile-message: 4.0.3 - mdast-util-mdx-jsx@3.2.0: + hast-util-from-parse5@8.0.3: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 + '@types/hast': 3.0.5 '@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 + hastscript: 9.0.1 + property-information: 7.2.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 - mdast-util-mdx@3.0.0: + hast-util-has-property@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 + '@types/hast': 3.0.5 - mdast-util-mdxjs-esm@2.0.1: + hast-util-is-body-ok-link@3.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 + '@types/hast': 3.0.5 - mdast-util-phrasing@4.1.0: + hast-util-is-element@3.0.0: dependencies: - '@types/mdast': 4.0.4 + '@types/hast': 3.0.5 + + hast-util-minify-whitespace@1.0.1: + dependencies: + '@types/hast': 3.0.5 + 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 - mdast-util-to-hast@11.3.0: + hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - '@types/mdurl': 1.0.5 - mdast-util-definitions: 5.1.2 - mdurl: 1.0.1 - unist-builder: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 + '@types/hast': 3.0.5 - mdast-util-to-hast@12.3.0: + hast-util-phrasing@3.0.1: dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 - trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 + '@types/hast': 3.0.5 + 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 - mdast-util-to-hast@13.2.1: + hast-util-to-estree@3.1.0: dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.2 + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 + 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: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - - mdast-util-to-markdown@0.6.5: - dependencies: - '@types/unist': 2.0.11 - longest-streak: 2.0.4 - mdast-util-to-string: 2.0.0 - parse-entities: 2.0.0 - repeat-string: 1.6.1 - zwitch: 1.0.5 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color - mdast-util-to-markdown@2.1.2: + hast-util-to-html@9.0.4: dependencies: - '@types/mdast': 4.0.4 + '@types/hast': 3.0.5 '@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 + 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: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 zwitch: 2.0.4 - mdast-util-to-string@2.0.0: {} - - mdast-util-to-string@3.2.0: - dependencies: - '@types/mdast': 3.0.15 - - mdast-util-to-string@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - - mdn-data@2.0.14: {} - - mdn-data@2.0.28: {} - - mdn-data@2.0.30: {} - - mdurl@1.0.1: {} - - media-typer@0.3.0: {} - - memfs@4.57.6(tslib@2.8.1): - dependencies: - '@jsonjoy.com/fs-core': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-fsa': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-to-fsa': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.57.6(tslib@2.8.1) - '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.6.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - merge-descriptors@1.0.3: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - mermaid@11.15.0: - dependencies: - '@braintree/sanitize-url': 7.1.2 - '@iconify/utils': 3.1.3 - '@mermaid-js/parser': 1.1.1 - '@types/d3': 7.4.3 - '@upsetjs/venn.js': 2.0.0 - cytoscape: 3.34.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.0) - cytoscape-fcose: 2.2.0(cytoscape@3.34.0) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.14 - dayjs: 1.11.21 - dompurify: 3.4.8 - es-toolkit: 1.47.0 - katex: 0.16.47 - khroma: 2.1.0 - marked: 16.4.2 - roughjs: 4.6.6 - stylis: 4.4.0 - ts-dedent: 2.2.0 - uuid: 14.0.1 - - methods@1.1.2: {} - - micromark-core-commonmark@1.1.0: + hast-util-to-html@9.0.5: dependencies: - decode-named-character-reference: 1.3.0 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - 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 + '@types/hast': 3.0.5 + '@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.2.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 - micromark-extension-directive@3.0.2: + hast-util-to-jsx-runtime@2.3.6: dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 - - micromark-extension-frontmatter@0.2.2: - dependencies: - fault: 1.0.4 - - micromark-extension-frontmatter@2.0.0: - dependencies: - fault: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-autolink-literal@0.5.7: - dependencies: - micromark: 2.11.4 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 transitivePeerDependencies: - supports-color - 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: + hast-util-to-mdast@10.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 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.4.0 + hast-util-phrasing: 3.0.1 + hast-util-to-html: 9.0.5 + hast-util-to-text: 4.0.2 + hast-util-whitespace: 3.0.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-hast: 13.2.1 + mdast-util-to-string: 4.0.0 + rehype-minify-whitespace: 6.0.2 + trim-trailing-lines: 2.1.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 - micromark-extension-gfm-strikethrough@0.6.5: + hast-util-to-string@3.0.1: dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + '@types/hast': 3.0.5 - micromark-extension-gfm-strikethrough@2.1.0: + hast-util-to-text@4.0.2: 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 + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 - micromark-extension-gfm-table@0.4.3: + hast-util-whitespace@3.0.0: dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + '@types/hast': 3.0.5 - micromark-extension-gfm-table@2.1.1: + hastscript@9.0.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 + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 - micromark-extension-gfm-tagfilter@0.3.0: {} + hex-rgb@4.3.0: {} - micromark-extension-gfm-tagfilter@2.0.0: - dependencies: - micromark-util-types: 2.0.2 + html-void-elements@3.0.0: {} + + http-cache-semantics@4.3.0: {} - micromark-extension-gfm-task-list-item@0.3.3: + http-errors@2.0.1: dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 - micromark-extension-gfm-task-list-item@2.1.0: + http2-wrapper@2.2.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 + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 - micromark-extension-gfm@0.3.3: + https-proxy-agent@5.0.1: dependencies: - micromark: 2.11.4 - micromark-extension-gfm-autolink-literal: 0.5.7 - micromark-extension-gfm-strikethrough: 0.6.5 - micromark-extension-gfm-table: 0.4.3 - micromark-extension-gfm-tagfilter: 0.3.0 - micromark-extension-gfm-task-list-item: 0.3.3 + agent-base: 6.0.2 + debug: 4.4.3 transitivePeerDependencies: - supports-color - 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 + husky@9.1.7: {} - micromark-extension-math@3.1.0: - dependencies: - '@types/katex': 0.16.8 - devlop: 1.1.0 - katex: 0.16.47 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + ico-endec@0.1.6: {} - micromark-extension-mdx-expression@3.0.1: + iconv-lite@0.4.24: dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + safer-buffer: 2.1.2 - micromark-extension-mdx-jsx@3.0.2: + iconv-lite@0.7.3: dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 + safer-buffer: 2.1.2 - micromark-extension-mdx-md@2.0.0: - dependencies: - micromark-util-types: 2.0.2 + ieee754@1.2.1: + optional: true - micromark-extension-mdxjs-esm@3.0.0: - dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 + ignore@7.0.5: {} - 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 + image-size@2.0.2: {} - micromark-factory-destination@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + immer@9.0.21: {} - 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 + indent-string@5.0.0: {} - micromark-factory-label@1.1.0: + inflight@1.0.6: dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + once: 1.4.0 + wrappy: 1.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 + inherits@2.0.4: {} - micromark-factory-mdx-expression@2.0.3: - dependencies: - '@types/estree': 1.0.9 - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 + ini@1.3.8: + optional: true - micromark-factory-space@1.1.0: + ink-spinner@5.0.0(ink@6.3.0(@types/react@19.3.0)(react@19.2.3))(react@19.2.3): dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 + cli-spinners: 2.9.2 + ink: 6.3.0(@types/react@19.3.0)(react@19.2.3) + react: 19.2.3 - micromark-factory-space@2.0.1: + ink@6.3.0(@types/react@19.3.0)(react@19.2.3): dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.2 + '@alcalzone/ansi-tokenize': 0.2.5 + ansi-escapes: 7.3.0 + ansi-styles: 6.2.3 + auto-bind: 5.0.1 + chalk: 5.6.2 + cli-boxes: 3.0.0 + cli-cursor: 4.0.0 + cli-truncate: 4.0.0 + code-excerpt: 4.0.0 + es-toolkit: 1.52.0 + indent-string: 5.0.0 + is-in-ci: 2.0.0 + patch-console: 2.0.0 + react: 19.2.3 + react-reconciler: 0.32.0(react@19.2.3) + signal-exit: 3.0.7 + slice-ansi: 7.1.2 + stack-utils: 2.0.6 + string-width: 7.2.0 + type-fest: 4.41.0 + widest-line: 5.0.0 + wrap-ansi: 9.0.2 + ws: 8.22.0 + yoga-layout: 3.2.1 + optionalDependencies: + '@types/react': 19.3.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - micromark-factory-title@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + inline-style-parser@0.1.1: {} - 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 + inline-style-parser@0.2.7: {} - micromark-factory-whitespace@1.1.0: + inquirer@12.3.0(@types/node@26.6.5): dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + '@inquirer/core': 10.3.2(@types/node@26.6.5) + '@inquirer/prompts': 7.9.0(@types/node@26.6.5) + '@inquirer/type': 3.0.10(@types/node@26.6.5) + '@types/node': 26.6.5 + ansi-escapes: 4.3.2 + mute-stream: 2.0.0 + run-async: 3.0.0 + rxjs: 7.8.2 - micromark-factory-whitespace@2.0.1: + internal-slot@1.1.0: 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 + es-errors: 1.3.0 + hasown: 2.0.4 + side-channel: 1.1.1 - micromark-util-character@1.2.0: - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + ip-regex@4.3.0: {} - micromark-util-character@2.1.1: - dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + ipaddr.js@1.9.1: {} - micromark-util-chunked@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 + iregexp-check@0.1.2: {} - micromark-util-chunked@2.0.1: - dependencies: - micromark-util-symbol: 2.0.1 + is-alphabetical@2.0.1: {} - micromark-util-classify-character@1.1.0: + is-alphanumerical@2.0.1: dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 - micromark-util-classify-character@2.0.1: + is-array-buffer@3.0.5: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - micromark-util-combine-extensions@1.1.0: - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 + is-arrayish@0.3.4: {} - micromark-util-combine-extensions@2.0.1: + is-async-function@2.1.1: dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.2 + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - micromark-util-decode-numeric-character-reference@1.1.0: + is-bigint@1.1.0: dependencies: - micromark-util-symbol: 1.1.0 + has-bigints: 1.1.0 - micromark-util-decode-numeric-character-reference@2.0.2: + is-binary-path@2.1.0: dependencies: - micromark-util-symbol: 2.0.1 + binary-extensions: 2.3.0 - micromark-util-decode-string@1.1.0: + is-boolean-object@1.2.2: dependencies: - decode-named-character-reference: 1.3.0 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - 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 + is-callable@1.2.7: {} - micromark-util-encode@1.1.0: {} + is-core-module@2.17.0: + dependencies: + hasown: 2.0.4 - micromark-util-encode@2.0.1: {} + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 - micromark-util-events-to-acorn@2.0.3: + is-date-object@1.1.0: dependencies: - '@types/estree': 1.0.9 - '@types/unist': 3.0.3 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - micromark-util-html-tag-name@1.2.0: {} + is-decimal@2.0.1: {} - micromark-util-html-tag-name@2.0.1: {} + is-docker@2.2.1: {} - micromark-util-normalize-identifier@1.1.0: + is-document.all@1.0.0: dependencies: - micromark-util-symbol: 1.1.0 + call-bound: 1.0.4 - micromark-util-normalize-identifier@2.0.1: - dependencies: - micromark-util-symbol: 2.0.1 + is-extglob@2.1.1: {} - micromark-util-resolve-all@1.1.0: + is-finalizationregistry@1.1.1: dependencies: - micromark-util-types: 1.1.0 + call-bound: 1.0.4 - micromark-util-resolve-all@2.0.1: - dependencies: - micromark-util-types: 2.0.2 + is-fullwidth-code-point@3.0.0: {} - micromark-util-sanitize-uri@1.2.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 + is-fullwidth-code-point@4.0.0: {} - micromark-util-sanitize-uri@2.0.1: + is-fullwidth-code-point@5.1.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 + get-east-asian-width: 1.6.0 - micromark-util-subtokenize@1.1.0: + is-generator-function@1.1.2: dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - micromark-util-subtokenize@2.1.0: + is-glob@4.0.3: dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + is-extglob: 2.1.1 - micromark-util-symbol@1.1.0: {} + is-hexadecimal@2.0.1: {} - micromark-util-symbol@2.0.1: {} + is-in-ci@2.0.0: {} - micromark-util-types@1.1.0: {} + is-ip@3.1.0: + dependencies: + ip-regex: 4.3.0 - micromark-util-types@2.0.2: {} + is-map@2.0.3: {} - micromark@2.11.4: - dependencies: - debug: 4.4.3 - parse-entities: 2.0.0 - transitivePeerDependencies: - - supports-color + is-negative-zero@2.0.3: {} - micromark@3.2.0: + is-number-object@1.1.1: dependencies: - '@types/debug': 4.1.13 - debug: 4.4.3 - decode-named-character-reference: 1.3.0 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - micromark@4.0.2: - dependencies: - '@types/debug': 4.1.13 - debug: 4.4.3 - decode-named-character-reference: 1.3.0 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-combine-extensions: 2.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-encode: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - transitivePeerDependencies: - - supports-color + is-number@7.0.0: {} - micromatch@4.0.8: + is-online@10.0.0: dependencies: - braces: 3.0.3 - picomatch: 2.3.2 + got: 12.6.1 + p-any: 4.0.0 + p-timeout: 5.1.0 + public-ip: 5.0.0 - mime-db@1.33.0: {} + is-plain-obj@4.1.0: {} - mime-db@1.52.0: {} + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 - mime-db@1.54.0: {} + is-set@2.0.3: {} - mime-format@2.0.2: + is-shared-array-buffer@1.0.4: dependencies: - charset: 1.0.1 + call-bound: 1.0.4 - mime-types@2.1.18: + is-string@1.1.1: dependencies: - mime-db: 1.33.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - mime-types@2.1.35: + is-symbol@1.1.1: dependencies: - mime-db: 1.52.0 + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 - mime-types@3.0.2: + is-typed-array@1.1.15: dependencies: - mime-db: 1.54.0 + which-typed-array: 1.1.24 - mime@1.6.0: {} + is-url@1.2.4: {} - mime@3.0.0: {} + is-weakmap@2.0.2: {} - mimic-fn@2.1.0: {} + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 - mimic-response@3.1.0: {} + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - mimic-response@4.0.0: {} + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@2.0.5: {} + + isexe@2.0.0: {} - mini-css-extract-plugin@2.10.2(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + isomorphic-fetch@3.0.0: dependencies: - schema-utils: 4.3.3 - tapable: 2.3.3 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) + node-fetch: 2.7.0 + whatwg-fetch: 3.6.20 + transitivePeerDependencies: + - encoding + + jiti@1.21.7: {} + + jose@6.2.12: {} - minimalistic-assert@1.0.1: {} + js-tokens@4.0.0: {} - minimatch@10.2.5: + js-yaml@3.15.2: dependencies: - brace-expansion: 5.0.7 + argparse: 1.0.10 + esprima: 4.0.1 - minimatch@3.1.5: + js-yaml@4.3.1: dependencies: - brace-expansion: 1.1.15 + argparse: 2.0.1 + + jsep@1.6.0: {} + + json-buffer@3.0.1: {} + + json-p3@2.2.2: {} - minimatch@9.0.9: + json-schema-compare@0.2.2: dependencies: - brace-expansion: 2.1.1 + lodash: 4.18.1 - minimist@1.2.8: {} + json-schema-merge-allof@0.8.1: + dependencies: + compute-lcm: 1.1.2 + json-schema-compare: 0.2.2 + lodash: 4.18.1 - minipass@7.1.3: {} + json-schema-traverse@0.4.1: {} - mri@1.2.0: {} + json-schema-traverse@1.0.0: {} - mrmime@2.0.1: {} + jsonc-parser@2.2.1: {} - ms@2.0.0: {} + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 - ms@2.1.3: {} + jsonpath-plus@10.4.0: + dependencies: + '@jsep-plugin/assignment': 1.4.0(jsep@1.6.0) + '@jsep-plugin/regex': 1.1.0(jsep@1.6.0) + jsep: 1.6.0 + + jsonpointer@5.0.1: {} - multicast-dns@7.2.5: + katex@0.16.47: dependencies: - dns-packet: 5.6.1 - thunky: 1.1.0 + commander: 8.3.0 - mustache@4.2.0: {} + keytar@7.9.0: + dependencies: + node-addon-api: 4.3.0 + prebuild-install: 7.1.3 + optional: true - mz@2.7.0: + keyv@4.5.4: dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 + json-buffer: 3.0.1 - nano-css@5.6.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + lcm@0.0.3: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - css-tree: 1.1.3 - csstype: 3.2.3 - fastest-stable-stringify: 2.0.2 - inline-style-prefixer: 7.0.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - rtl-css-js: 1.16.1 - stacktrace-js: 2.0.2 - stylis: 4.4.0 + gcd: 0.0.1 + + leven@3.1.0: {} - nano-memoize@1.3.1: {} + leven@4.1.0: {} - nanoid@3.3.12: {} + lilconfig@3.1.4: {} - natural-compare@1.4.0: {} + linebreak@1.1.0: + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 - negotiator@0.6.3: {} + lines-and-columns@1.2.4: {} + + lodash.topath@4.5.2: {} + + lodash@4.18.1: {} + + longest-streak@3.1.0: {} + + lowercase-keys@3.0.0: {} + + markdown-extensions@2.0.0: {} - negotiator@0.6.4: {} + markdown-table@3.0.4: {} - neo-async@2.6.2: {} + math-intrinsics@1.1.0: {} - neotraverse@0.6.15: {} + mdast-util-find-and-replace@3.0.3: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.1 - no-case@3.0.4: + mdast-util-from-markdown@2.0.2: dependencies: - lower-case: 2.0.2 - tslib: 2.8.1 + '@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.3 + 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.3 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color - node-addon-api@7.1.1: - optional: true + mdast-util-from-markdown@2.1.0: + 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.3 + 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.3 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color - node-emoji@2.2.0: + mdast-util-frontmatter@2.0.1: dependencies: - '@sindresorhus/is': 4.6.0 - char-regex: 1.0.2 - emojilib: 2.4.0 - skin-tone: 2.0.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color - node-fetch-h2@2.3.0: + mdast-util-gfm-autolink-literal@2.0.1: dependencies: - http2-client: 1.3.5 + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.3 + micromark-util-character: 2.1.1 - node-fetch@2.7.0: + mdast-util-gfm-footnote@2.1.0: dependencies: - whatwg-url: 5.0.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.2.0 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color - node-readfiles@0.2.0: + mdast-util-gfm-strikethrough@2.0.1: dependencies: - es6-promise: 3.3.1 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - node-releases@2.0.47: {} + 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.2 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - normalize-path@3.0.0: {} + 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.2 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - normalize-url@8.1.1: {} + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.1 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - npm-run-path@4.0.1: + mdast-util-gfm@3.1.0: dependencies: - path-key: 3.1.1 + mdast-util-from-markdown: 2.1.0 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.1 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - npm-to-yarn@3.0.1: {} + mdast-util-math@3.0.0: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + longest-streak: 3.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color - nprogress@0.2.0: {} + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - nth-check@2.1.1: + mdast-util-mdx-jsx@3.1.3: dependencies: - boolbase: 1.0.0 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.2.0 + 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 - null-loader@4.0.1(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + mdast-util-mdx-jsx@3.2.0: dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 + 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 - oas-kit-common@1.0.8: + mdast-util-mdx@3.0.0: dependencies: - fast-safe-stringify: 2.1.1 + mdast-util-from-markdown: 2.0.2 + 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.2.0 + transitivePeerDependencies: + - supports-color - oas-linter@3.2.2: + mdast-util-mdxjs-esm@2.0.1: dependencies: - '@exodus/schemasafe': 1.3.0 - should: 13.2.3 - yaml: 1.10.3 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.2.0 + transitivePeerDependencies: + - supports-color - oas-resolver-browser@2.5.6: + mdast-util-phrasing@4.1.0: dependencies: - node-fetch-h2: 2.3.0 - oas-kit-common: 1.0.8 - path-browserify: 1.0.1 - reftools: 1.1.9 - yaml: 1.10.2 - yargs: 17.7.3 + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 - oas-resolver@2.5.6: + mdast-util-to-hast@13.2.1: dependencies: - node-fetch-h2: 2.3.0 - oas-kit-common: 1.0.8 - reftools: 1.1.9 - yaml: 1.10.3 - yargs: 17.7.3 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.4.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.0.0 + vfile: 6.0.3 - oas-schema-walker@1.1.5: {} + mdast-util-to-markdown@2.2.0: + 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-character: 2.1.1 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 - oas-validator@5.0.8: + mdast-util-to-string@4.0.0: dependencies: - call-me-maybe: 1.0.2 - oas-kit-common: 1.0.8 - oas-linter: 3.2.2 - oas-resolver: 2.5.6 - oas-schema-walker: 1.1.5 - reftools: 1.1.9 - should: 13.2.3 - yaml: 1.10.3 + '@types/mdast': 4.0.4 - object-assign@4.1.1: {} + media-typer@0.3.0: {} - object-hash@3.0.0: {} + merge-descriptors@1.0.3: {} - object-inspect@1.13.4: {} + merge2@1.4.1: {} - object-keys@1.1.1: {} + methods@1.1.2: {} - object.assign@4.1.7: + micromark-core-commonmark@2.0.4: dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.2 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - obuf@1.1.2: {} + 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.1.0 + 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-edit-map: 1.0.0 + 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.3 - on-finished@2.4.1: + micromark-extension-frontmatter@2.0.0: dependencies: - ee-first: 1.1.1 - - on-headers@1.1.0: {} + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - once@1.4.0: + micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - wrappy: 1.0.2 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - onetime@5.1.2: + micromark-extension-gfm-footnote@2.1.0: dependencies: - mimic-fn: 2.1.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + 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.3 - open@10.2.0: + micromark-extension-gfm-strikethrough@2.1.0: dependencies: - default-browser: 5.5.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - wsl-utils: 0.1.0 + 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.3 - open@8.4.2: + micromark-extension-gfm-table@2.1.2: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - openapi-to-postmanv2@6.2.0: + micromark-extension-gfm-tagfilter@2.0.0: dependencies: - ajv: 8.20.0 - ajv-draft-04: 1.0.0(ajv@8.20.0) - ajv-formats: 2.1.1(ajv@8.20.0) - async: 3.2.6 - commander: 2.20.3 - graphlib: 2.1.8 - js-yaml: 4.1.0 - json-pointer: 0.6.2 - json-schema-merge-allof: 0.8.1 - lodash: 4.17.21 - neotraverse: 0.6.15 - oas-resolver-browser: 2.5.6 - object-hash: 3.0.0 - openapi-types: 12.1.3 - path-browserify: 1.0.1 - postman-collection: 5.3.0 - swagger2openapi: 7.0.8 - yaml: 1.10.2 - transitivePeerDependencies: - - encoding - - openapi-types@12.1.3: {} + micromark-util-types: 2.0.3 - opener@1.5.2: {} - - optionator@0.9.4: + micromark-extension-gfm-task-list-item@2.1.0: dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - - p-cancelable@3.0.0: {} - - p-finally@1.0.0: {} + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - p-limit@3.1.0: + micromark-extension-gfm@3.0.0: dependencies: - yocto-queue: 0.1.0 + 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.2 + 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.3 - p-limit@4.0.0: + micromark-extension-math@3.1.0: dependencies: - yocto-queue: 1.2.2 + '@types/katex': 0.16.8 + devlop: 1.1.0 + katex: 0.16.47 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - p-locate@5.0.0: + micromark-extension-mdx-expression@3.0.1: dependencies: - p-limit: 3.1.0 + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.1.0 + 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.3 - p-locate@6.0.0: + micromark-extension-mdx-jsx@3.0.2: dependencies: - p-limit: 4.0.0 + '@types/estree': 1.0.9 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.1.0 + 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.3 + vfile-message: 4.0.3 - p-map@4.0.0: + micromark-extension-mdx-md@2.0.0: dependencies: - aggregate-error: 3.1.0 + micromark-util-types: 2.0.3 - p-queue@6.6.2: + micromark-extension-mdxjs-esm@3.0.0: dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + 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.3 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - p-retry@6.2.1: + micromark-extension-mdxjs@3.0.0: dependencies: - '@types/retry': 0.12.2 - is-network-error: 1.3.2 - retry: 0.13.1 + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + 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.3 - p-timeout@3.2.0: + micromark-factory-destination@2.0.1: dependencies: - p-finally: 1.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - package-json@8.1.1: + micromark-factory-label@2.0.1: dependencies: - got: 12.6.1 - registry-auth-token: 5.1.1 - registry-url: 6.0.1 - semver: 7.8.3 - - package-manager-detector@1.6.0: {} - - pako@2.2.0: {} + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - param-case@3.0.4: + micromark-factory-mdx-expression@2.0.3: dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + 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.3 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - parent-module@1.0.1: + micromark-factory-space@2.1.0: dependencies: - callsites: 3.1.0 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.3 - parse-entities@2.0.0: + micromark-factory-title@2.0.1: dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - parse-entities@4.0.2: + micromark-factory-whitespace@2.0.1: 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 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - parse-json@5.2.0: + micromark-util-character@2.1.1: dependencies: - '@babel/code-frame': 7.29.7 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse-numeric-range@1.3.0: {} + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - parse5-htmlparser2-tree-adapter@7.1.0: + micromark-util-chunked@2.0.1: dependencies: - domhandler: 5.0.3 - parse5: 7.3.0 - - parse5@6.0.1: {} + micromark-util-symbol: 2.0.1 - parse5@7.3.0: + micromark-util-classify-character@2.0.1: dependencies: - entities: 6.0.1 - - parseurl@1.3.3: {} + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - pascal-case@3.1.2: + micromark-util-combine-extensions@2.0.1: dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - path-browserify@1.0.1: {} - - path-data-parser@0.1.0: {} - - path-exists@4.0.0: {} - - path-exists@5.0.0: {} - - path-is-absolute@1.0.1: {} - - path-is-inside@1.0.2: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.3 - path-scurry@2.0.2: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - lru-cache: 11.5.1 - minipass: 7.1.3 - - path-to-regexp@0.1.13: {} + micromark-util-symbol: 2.0.1 - path-to-regexp@1.9.0: + micromark-util-decode-string@2.0.1: dependencies: - isarray: 0.0.1 - - path-to-regexp@3.3.0: {} - - path-type@4.0.0: {} + 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 - picocolors@1.1.1: {} + micromark-util-edit-map@1.0.0: + dependencies: + micromark-util-types: 2.0.3 - picomatch@2.3.2: {} + micromark-util-encode@2.0.1: {} - picomatch@4.0.4: {} + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.9 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + vfile-message: 4.0.3 - pirates@4.0.7: {} + micromark-util-html-tag-name@2.0.1: {} - pkg-dir@7.0.0: + micromark-util-normalize-identifier@2.0.1: dependencies: - find-up: 6.3.0 + micromark-util-symbol: 2.0.1 - pkijs@3.4.0: + micromark-util-resolve-all@2.0.1: dependencies: - '@noble/hashes': 1.4.0 - asn1js: 3.0.10 - bytestreamjs: 2.0.1 - pvtsutils: 1.3.6 - pvutils: 1.1.5 - tslib: 2.8.1 - - pluralize@8.0.0: {} - - points-on-curve@0.2.0: {} + micromark-util-types: 2.0.3 - points-on-path@0.2.1: + micromark-util-sanitize-uri@2.0.1: dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - polished@4.3.1: + micromark-util-subtokenize@2.1.0: dependencies: - '@babel/runtime': 7.29.7 + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + micromark-util-symbol@2.0.1: {} - postcss-calc@9.0.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 + micromark-util-types@2.0.3: {} - postcss-clamp@4.1.0(postcss@8.5.15): + micromark@4.0.3: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + 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-edit-map: 1.0.0 + 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.3 + transitivePeerDependencies: + - supports-color - postcss-color-functional-notation@7.0.12(postcss@8.5.15): + micromatch@4.0.8: dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 + braces: 3.0.3 + picomatch: 2.3.2 - postcss-color-hex-alpha@10.0.0(postcss@8.5.15): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + mime-db@1.52.0: {} - postcss-color-rebeccapurple@10.0.0(postcss@8.5.15): + mime-types@2.1.35: dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + mime-db: 1.52.0 - postcss-colormin@6.1.0(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + mime@1.6.0: {} - postcss-convert-values@6.1.0(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + mimic-fn@2.1.0: {} - postcss-custom-media@11.0.6(postcss@8.5.15): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.15 + mimic-response@3.1.0: {} - postcss-custom-properties@14.0.6(postcss@8.5.15): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + mimic-response@4.0.0: {} - postcss-custom-selectors@8.0.5(postcss@8.5.15): + minimatch@3.1.5: dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + brace-expansion: 1.1.21 - postcss-dir-pseudo-class@9.0.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + minimist@1.2.8: + optional: true - postcss-discard-comments@6.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + minipass@7.1.3: {} - postcss-discard-duplicates@6.0.3(postcss@8.5.15): + minizlib@3.1.0: dependencies: - postcss: 8.5.15 + minipass: 7.1.3 - postcss-discard-empty@6.0.3(postcss@8.5.15): + mint@4.2.1062(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/node@26.6.5)(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3): dependencies: - postcss: 8.5.15 + '@mintlify/cli': 4.0.1665(@base-ui/react@1.9.0(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3))(@types/node@26.6.5)(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(typescript@6.0.3) + transitivePeerDependencies: + - '@base-ui/react' + - '@types/node' + - '@types/react' + - bufferutil + - debug + - encoding + - puppeteer + - react-devtools-core + - react-dom + - supports-color + - ts-node + - typescript + - utf-8-validate - postcss-discard-overridden@6.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + mkdirp-classic@0.5.3: + optional: true - postcss-discard-unused@6.0.5(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.2 + ms@2.0.0: {} - postcss-double-position-gradients@6.0.4(postcss@8.5.15): - dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + ms@2.1.3: {} - postcss-focus-visible@10.0.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + mute-stream@2.0.0: {} - postcss-focus-within@9.0.1(postcss@8.5.15): + mz@2.7.0: dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 - postcss-font-variant@5.0.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + nanoid@3.3.20: {} - postcss-gap-properties@6.0.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + napi-build-utils@2.0.0: + optional: true - postcss-image-set-function@7.0.0(postcss@8.5.15): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + negotiator@0.6.3: {} - postcss-lab-function@7.0.12(postcss@8.5.15): - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/utilities': 2.0.0(postcss@8.5.15) - postcss: 8.5.15 + neotraverse@0.6.18: {} - postcss-loader@7.3.4(postcss@8.5.15)(typescript@6.0.3)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + next-mdx-remote-client@2.1.12(@types/react@19.3.0)(react-dom@19.3.1(react@19.2.3))(react@19.2.3)(unified@11.0.5): dependencies: - cosmiconfig: 8.3.6(typescript@6.0.3) - jiti: 1.21.7 - postcss: 8.5.15 - semver: 7.8.3 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) + '@babel/code-frame': 7.29.7 + '@mdx-js/mdx': 3.1.1 + '@mdx-js/react': 3.1.1(@types/react@19.3.0)(react@19.2.3) + '@types/mdx': 2.0.14 + react: 19.2.3 + react-dom: 19.3.1(react@19.2.3) + remark-mdx-remove-esm: 1.3.3(unified@11.0.5) + serialize-error: 13.0.2 + vfile: 6.0.3 + vfile-matter: 5.0.1 transitivePeerDependencies: - - typescript - - postcss-logical@8.1.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + - '@types/react' + - supports-color + - unified - postcss-merge-idents@6.0.3(postcss@8.5.15): + nimma@0.2.3: dependencies: - cssnano-utils: 4.0.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + '@jsep-plugin/regex': 1.1.0(jsep@1.6.0) + '@jsep-plugin/ternary': 1.2.0(jsep@1.6.0) + astring: 1.9.0 + jsep: 1.6.0 + optionalDependencies: + jsonpath-plus: 10.4.0 + lodash.topath: 4.5.2 - postcss-merge-longhand@6.0.5(postcss@8.5.15): + nlcst-to-string@4.0.0: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.5.15) + '@types/nlcst': 2.0.3 - postcss-merge-rules@6.1.1(postcss@8.5.15): + node-abi@3.99.0: dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-selector-parser: 6.1.2 + semver: 7.8.5 + optional: true - postcss-minify-font-values@6.1.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + node-addon-api@4.3.0: + optional: true - postcss-minify-gradients@6.0.3(postcss@8.5.15): + node-fetch@2.6.7: dependencies: - colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + whatwg-url: 5.0.0 - postcss-minify-params@6.1.0(postcss@8.5.15): + node-fetch@2.7.0: dependencies: - browserslist: 4.28.2 - cssnano-utils: 4.0.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + whatwg-url: 5.0.0 - postcss-minify-selectors@6.0.4(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.2 + non-error@0.1.0: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + normalize-path@3.0.0: {} - postcss-modules-local-by-default@4.2.0(postcss@8.5.15): - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - postcss-value-parser: 4.2.0 + normalize-url@8.1.1: {} - postcss-modules-scope@3.2.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + oauth4webapi@3.8.8: {} - postcss-modules-values@4.0.0(postcss@8.5.15): - dependencies: - icss-utils: 5.1.0(postcss@8.5.15) - postcss: 8.5.15 + object-assign@4.1.1: {} - postcss-nesting@13.0.2(postcss@8.5.15): - dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.2) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.2) - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + object-hash@3.0.0: {} - postcss-normalize-charset@6.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + object-inspect@1.13.4: {} - postcss-normalize-display-values@6.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + object-keys@1.1.1: {} - postcss-normalize-positions@6.0.2(postcss@8.5.15): + object.assign@4.1.7: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 - postcss-normalize-repeat-style@6.0.2(postcss@8.5.15): + on-finished@2.4.1: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + ee-first: 1.1.1 - postcss-normalize-string@6.0.2(postcss@8.5.15): + once@1.4.0: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + wrappy: 1.0.2 - postcss-normalize-timing-functions@6.0.2(postcss@8.5.15): + onetime@5.1.2: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + mimic-fn: 2.1.0 - postcss-normalize-unicode@6.1.0(postcss@8.5.15): - dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + oniguruma-parser@0.12.2: {} - postcss-normalize-url@6.0.2(postcss@8.5.15): + oniguruma-to-es@4.3.6: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + oniguruma-parser: 0.12.2 + regex: 6.1.0 + regex-recursion: 6.0.2 - postcss-normalize-whitespace@6.0.2(postcss@8.5.15): + open@8.4.2: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 - postcss-opacity-percentage@3.0.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + openapi-types@12.1.3: {} - postcss-ordered-values@6.0.2(postcss@8.5.15): + openid-client@6.8.2: dependencies: - cssnano-utils: 4.0.2(postcss@8.5.15) - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + jose: 6.2.12 + oauth4webapi: 3.8.8 - postcss-overflow-shorthand@6.0.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + orderedmap@2.1.1: {} - postcss-page-break@3.0.4(postcss@8.5.15): + own-keys@1.0.2: dependencies: - postcss: 8.5.15 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 - postcss-place@10.0.0(postcss@8.5.15): + p-any@4.0.0: dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + p-cancelable: 3.0.0 + p-some: 6.0.0 - postcss-preset-env@10.6.1(postcss@8.5.15): - dependencies: - '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.15) - '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.15) - '@csstools/postcss-color-function': 4.0.12(postcss@8.5.15) - '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.15) - '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.15) - '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.15) - '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.15) - '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.15) - '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.15) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.15) - '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.15) - '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.15) - '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.15) - '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.15) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.15) - '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.15) - '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.15) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.15) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.15) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.15) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.15) - '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.15) - '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.15) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.15) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.15) - '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.15) - '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.15) - '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.15) - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.15) - '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.15) - '@csstools/postcss-random-function': 2.0.1(postcss@8.5.15) - '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.15) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.15) - '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.15) - '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.15) - '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.15) - '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.15) - '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.15) - '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.15) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.15) - autoprefixer: 10.5.0(postcss@8.5.15) - browserslist: 4.28.2 - css-blank-pseudo: 7.0.1(postcss@8.5.15) - css-has-pseudo: 7.0.3(postcss@8.5.15) - css-prefers-color-scheme: 10.0.0(postcss@8.5.15) - cssdb: 8.9.0 - postcss: 8.5.15 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.15) - postcss-clamp: 4.1.0(postcss@8.5.15) - postcss-color-functional-notation: 7.0.12(postcss@8.5.15) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.15) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.15) - postcss-custom-media: 11.0.6(postcss@8.5.15) - postcss-custom-properties: 14.0.6(postcss@8.5.15) - postcss-custom-selectors: 8.0.5(postcss@8.5.15) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.15) - postcss-double-position-gradients: 6.0.4(postcss@8.5.15) - postcss-focus-visible: 10.0.1(postcss@8.5.15) - postcss-focus-within: 9.0.1(postcss@8.5.15) - postcss-font-variant: 5.0.0(postcss@8.5.15) - postcss-gap-properties: 6.0.0(postcss@8.5.15) - postcss-image-set-function: 7.0.0(postcss@8.5.15) - postcss-lab-function: 7.0.12(postcss@8.5.15) - postcss-logical: 8.1.0(postcss@8.5.15) - postcss-nesting: 13.0.2(postcss@8.5.15) - postcss-opacity-percentage: 3.0.0(postcss@8.5.15) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.15) - postcss-page-break: 3.0.4(postcss@8.5.15) - postcss-place: 10.0.0(postcss@8.5.15) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.15) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.15) - postcss-selector-not: 8.0.1(postcss@8.5.15) - - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 - - postcss-reduce-idents@6.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + p-cancelable@3.0.0: {} - postcss-reduce-initial@6.1.0(postcss@8.5.15): + p-some@6.0.0: dependencies: - browserslist: 4.28.2 - caniuse-api: 3.0.0 - postcss: 8.5.15 + aggregate-error: 4.0.1 + p-cancelable: 3.0.0 - postcss-reduce-transforms@6.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 + p-timeout@5.1.0: {} - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + pako@0.2.9: {} - postcss-selector-not@8.0.1(postcss@8.5.15): + parse-css-color@0.2.1: dependencies: - postcss: 8.5.15 - postcss-selector-parser: 7.1.2 + color-name: 1.1.4 + hex-rgb: 4.3.0 - postcss-selector-parser@6.1.2: + parse-entities@4.0.2: dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + '@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 - postcss-selector-parser@7.1.2: + parse-latin@7.0.0: dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + '@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 - postcss-sort-media-queries@5.2.0(postcss@8.5.15): + parse5@7.3.0: dependencies: - postcss: 8.5.15 - sort-css-media-queries: 2.2.0 + entities: 6.0.1 - postcss-svgo@6.0.3(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-value-parser: 4.2.0 - svgo: 3.3.3 + parseurl@1.3.3: {} - postcss-unique-selectors@6.0.4(postcss@8.5.15): - dependencies: - postcss: 8.5.15 - postcss-selector-parser: 6.1.2 + patch-console@2.0.0: {} - postcss-value-parser@4.2.0: {} + path-expression-matcher@1.6.2: {} - postcss-zindex@6.0.2(postcss@8.5.15): - dependencies: - postcss: 8.5.15 + path-is-absolute@1.0.1: {} - postcss@8.5.15: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 + path-key@3.1.1: {} - postman-code-generators@2.1.1: - dependencies: - async: 3.2.6 - detect-package-manager: 3.0.2 - lodash: 4.18.1 - postman-collection: 5.3.0 - shelljs: 0.8.5 + path-parse@1.0.7: {} - postman-collection@5.3.0: - dependencies: - '@faker-js/faker': 5.5.3 - file-type: 3.9.0 - http-reasons: 0.1.0 - iconv-lite: 0.6.3 - liquid-json: 0.3.1 - lodash: 4.17.23 - mime: 3.0.0 - mime-format: 2.0.2 - postman-url-encoder: 3.0.8 - semver: 7.7.1 - uuid: 8.3.2 + path-to-regexp@0.1.13: {} - postman-url-encoder@3.0.8: - dependencies: - punycode: 2.3.1 + picocolors@1.1.1: {} - prelude-ls@1.2.1: {} + picomatch@2.3.2: {} - prettier@3.9.4: {} + picomatch@4.0.7: {} - pretty-error@4.0.0: - dependencies: - lodash: 4.18.1 - renderkid: 3.0.0 + pirates@4.0.7: {} - pretty-time@1.1.0: {} + pony-cause@1.1.1: {} - prism-react-renderer@1.3.5(react@19.2.7): + possible-typed-array-names@1.1.0: {} + + postcss-import@15.1.0(postcss@8.5.23): dependencies: - react: 19.2.7 + postcss: 8.5.23 + postcss-value-parser: 4.2.0 + read-cache: 1.0.2 + resolve: 1.22.13 - prism-react-renderer@2.4.1(react@19.2.7): + postcss-js@4.1.0(postcss@8.5.23): dependencies: - '@types/prismjs': 1.26.6 - clsx: 2.1.1 - react: 19.2.7 + camelcase-css: 2.0.1 + postcss: 8.5.23 - prismjs@1.27.0: {} + postcss-load-config@4.0.2(postcss@8.5.23): + dependencies: + lilconfig: 3.1.4 + yaml: 2.8.3 + optionalDependencies: + postcss: 8.5.23 - prismjs@1.30.0: {} + postcss-nested@6.2.0(postcss@8.5.23): + dependencies: + postcss: 8.5.23 + postcss-selector-parser: 6.1.4 - process-nextick-args@2.0.1: {} + postcss-selector-parser@6.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 - process@0.11.10: {} + postcss-value-parser@4.2.0: {} - prompts@2.4.2: + postcss@8.5.23: dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 - prop-types@15.8.1: + posthog-node@5.17.2: dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 + '@posthog/core': 1.7.1 - property-information@5.6.0: + prebuild-install@7.1.3: dependencies: - xtend: 4.0.2 + detect-libc: 2.1.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.99.0 + pump: 3.0.4 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.5 + tunnel-agent: 0.6.0 + optional: true + + prettier@3.9.4: {} property-information@6.5.0: {} property-information@7.2.0: {} - proto-list@1.2.4: {} + prosemirror-model@1.25.4: + dependencies: + orderedmap: 2.1.1 - proxy-addr@2.0.7: + proxy-addr@2.0.8: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - punycode@1.4.1: {} + proxy-from-env@2.1.0: {} - punycode@2.3.1: {} - - pupa@3.3.0: + public-ip@5.0.0: dependencies: - escape-goat: 4.0.0 + dns-socket: 4.2.2 + got: 12.6.1 + is-ip: 3.1.0 - pvtsutils@1.3.6: + pump@3.0.4: dependencies: - tslib: 2.8.1 + end-of-stream: 1.4.5 + once: 1.4.0 + optional: true - pvutils@1.1.5: {} + punycode@2.3.1: {} - qs@6.15.2: + qs@6.14.2: dependencies: side-channel: 1.1.1 - qs@6.15.3: + qs@6.16.1: dependencies: es-define-property: 1.0.1 side-channel: 1.1.1 @@ -16837,12 +7275,6 @@ snapshots: quick-lru@5.1.1: {} - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - - range-parser@1.2.0: {} - range-parser@1.2.1: {} raw-body@2.5.3: @@ -16850,299 +7282,53 @@ snapshots: bytes: 3.1.2 http-errors: 2.0.1 iconv-lite: 0.4.24 - unpipe: 1.0.0 - - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - - react-aria-components@1.18.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@internationalized/date': 3.12.2 - '@react-types/shared': 3.35.0(react@19.2.7) - '@swc/helpers': 0.5.23 - client-only: 0.0.1 - react: 19.2.7 - react-aria: 3.49.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.47.0(react@19.2.7) - - react-aria-components@1.20.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@internationalized/date': 3.12.3 - '@internationalized/string': 3.2.10 - '@react-types/shared': 3.36.1(react@19.2.7) - '@swc/helpers': 0.5.23 - client-only: 0.0.1 - react: 19.2.7 - react-aria: 3.51.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.49.0(react@19.2.7) - - react-aria@3.49.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@internationalized/date': 3.12.2 - '@internationalized/number': 3.6.7 - '@internationalized/string': 3.2.9 - '@react-types/shared': 3.35.0(react@19.2.7) - '@swc/helpers': 0.5.23 - aria-hidden: 1.2.6 - clsx: 2.1.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.47.0(react@19.2.7) - use-sync-external-store: 1.6.0(react@19.2.7) - - react-aria@3.51.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@internationalized/date': 3.12.3 - '@internationalized/number': 3.6.7 - '@internationalized/string': 3.2.10 - '@react-types/shared': 3.36.1(react@19.2.7) - '@swc/helpers': 0.5.23 - aria-hidden: 1.2.6 - clsx: 2.1.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-stately: 3.49.0(react@19.2.7) - use-sync-external-store: 1.6.0(react@19.2.7) - - react-dom@19.2.7(react@19.2.7): - dependencies: - react: 19.2.7 - scheduler: 0.27.0 - - react-fast-compare@3.2.2: {} - - react-hook-form@7.80.0(react@19.2.7): - dependencies: - react: 19.2.7 - - react-is@16.13.1: {} - - react-is@18.3.1: {} - - react-json-view-lite@2.5.0(react@19.2.7): - dependencies: - react: 19.2.7 - - react-lifecycles-compat@3.0.4: {} - - react-live@4.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - prism-react-renderer: 2.4.1(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - sucrase: 3.35.1 - use-editable: 2.3.3(react@19.2.7) - - react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.7))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@babel/runtime': 7.29.7 - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.7)' - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - - react-magic-dropzone@1.0.1: {} - - react-markdown@10.1.0(@types/react@19.2.17)(react@19.2.7): - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/react': 19.2.17 - devlop: 1.1.0 - hast-util-to-jsx-runtime: 2.3.6 - html-url-attributes: 3.0.1 - mdast-util-to-hast: 13.2.1 - react: 19.2.7 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - unified: 11.0.5 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - react-markdown@8.0.7(@types/react@19.2.17)(react@19.2.7): - dependencies: - '@types/hast': 2.3.10 - '@types/prop-types': 15.7.15 - '@types/react': 19.2.17 - '@types/unist': 2.0.11 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 2.0.1 - prop-types: 15.8.1 - property-information: 6.5.0 - react: 19.2.7 - react-is: 18.3.1 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 - unified: 10.1.2 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color + unpipe: 1.0.0 - react-modal@3.16.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + rc@1.2.8: dependencies: - exenv: 1.2.2 - prop-types: 15.8.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-lifecycles-compat: 3.0.4 - warning: 4.0.3 + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + optional: true - react-overflow-list@0.5.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - react: 19.2.7 - react-use: 17.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - transitivePeerDependencies: - - react-dom + re2js@2.8.6: {} - react-redux@9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1): + react-dom@19.3.1(react@19.2.3): dependencies: - '@types/use-sync-external-store': 0.0.6 - react: 19.2.7 - use-sync-external-store: 1.6.0(react@19.2.7) - optionalDependencies: - '@types/react': 19.2.17 - redux: 5.0.1 - - react-router-config@5.1.1(react-router@5.3.4(react@19.2.7))(react@19.2.7): - dependencies: - '@babel/runtime': 7.29.7 - react: 19.2.7 - react-router: 5.3.4(react@19.2.7) - - react-router-dom@5.3.4(react@19.2.7): - dependencies: - '@babel/runtime': 7.29.7 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.2.7 - react-router: 5.3.4(react@19.2.7) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - - react-router@5.3.4(react@19.2.7): - dependencies: - '@babel/runtime': 7.29.7 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - path-to-regexp: 1.9.0 - prop-types: 15.8.1 - react: 19.2.7 - react-is: 16.13.1 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - - react-stately@3.47.0(react@19.2.7): - dependencies: - '@internationalized/date': 3.12.2 - '@internationalized/number': 3.6.7 - '@internationalized/string': 3.2.9 - '@react-types/shared': 3.35.0(react@19.2.7) - '@swc/helpers': 0.5.23 - react: 19.2.7 - use-sync-external-store: 1.6.0(react@19.2.7) - - react-stately@3.49.0(react@19.2.7): - dependencies: - '@internationalized/date': 3.12.3 - '@internationalized/number': 3.6.7 - '@internationalized/string': 3.2.10 - '@react-types/shared': 3.36.1(react@19.2.7) - '@swc/helpers': 0.5.23 - react: 19.2.7 - use-sync-external-store: 1.6.0(react@19.2.7) - - react-syntax-highlighter@15.6.6(react@19.2.7): - dependencies: - '@babel/runtime': 7.29.7 - highlight.js: 10.7.3 - highlightjs-vue: 1.0.0 - lowlight: 1.20.0 - prismjs: 1.30.0 - react: 19.2.7 - refractor: 3.6.0 - - react-transition-group@4.4.5(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@babel/runtime': 7.29.7 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - - react-universal-interface@0.6.2(react@19.2.7)(tslib@2.8.1): - dependencies: - react: 19.2.7 - tslib: 2.8.1 + react: 19.2.3 + scheduler: 0.28.0 - react-use@17.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + react-reconciler@0.32.0(react@19.2.3): dependencies: - '@types/js-cookie': 2.2.7 - '@xobotyi/scrollbar-width': 1.9.5 - copy-to-clipboard: 3.3.3 - fast-deep-equal: 3.1.3 - fast-shallow-equal: 1.0.0 - js-cookie: 2.2.1 - nano-css: 5.6.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) - react-universal-interface: 0.6.2(react@19.2.7)(tslib@2.8.1) - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - set-harmonic-interval: 1.0.1 - throttle-debounce: 3.0.1 - ts-easing: 0.2.0 - tslib: 2.8.1 + react: 19.2.3 + scheduler: 0.26.0 - react@19.2.7: {} + react@19.2.3: {} - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 + read-cache@1.0.2: {} readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + optional: true readdirp@3.6.0: dependencies: picomatch: 2.3.2 - readdirp@5.0.0: {} - - rechoir@0.6.2: - dependencies: - resolve: 1.22.12 - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.9 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.16.0): + recma-jsx@1.0.1(acorn@8.11.2): dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -17162,99 +7348,71 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 - redux-thunk@3.1.0(redux@5.0.1): - dependencies: - redux: 5.0.1 - - redux@5.0.1: {} - - reflect-metadata@0.2.2: {} - - refractor@3.6.0: - dependencies: - hastscript: 6.0.0 - parse-entities: 2.0.0 - prismjs: 1.27.0 - - reftools@1.1.9: {} - - regenerate-unicode-properties@10.2.2: + reflect.getprototypeof@1.0.10: dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 - regexpu-core@6.4.0: + regex-recursion@6.0.2: dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.2 - regjsgen: 0.8.0 - regjsparser: 0.13.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.1 + regex-utilities: 2.3.0 - registry-auth-token@5.1.1: - dependencies: - '@pnpm/npm-conf': 3.0.2 + regex-utilities@2.3.0: {} - registry-url@6.0.1: + regex@6.1.0: dependencies: - rc: 1.2.8 - - regjsgen@0.8.0: {} + regex-utilities: 2.3.0 - regjsparser@0.13.1: + regexp.prototype.flags@1.5.4: dependencies: - jsesc: 3.1.0 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 rehype-katex@7.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/katex': 0.16.8 hast-util-from-html-isomorphic: 2.0.0 hast-util-to-text: 4.0.2 katex: 0.16.47 - unist-util-visit-parents: 6.0.2 + unist-util-visit-parents: 6.0.1 vfile: 6.0.3 - rehype-raw@7.0.0: + rehype-minify-whitespace@6.0.2: dependencies: - '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 - vfile: 6.0.3 + '@types/hast': 3.0.5 + hast-util-minify-whitespace: 1.0.1 - rehype-recma@1.0.0: + rehype-parse@9.0.1: dependencies: - '@types/estree': 1.0.9 - '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.3 - transitivePeerDependencies: - - supports-color - - relateurl@0.2.7: {} + '@types/hast': 3.0.5 + hast-util-from-html: 2.0.3 + unified: 11.0.5 - remark-directive@3.0.1: + rehype-recma@1.0.0: dependencies: - '@types/mdast': 4.0.4 - mdast-util-directive: 3.1.0 - micromark-extension-directive: 3.0.2 - unified: 11.0.5 + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + hast-util-to-estree: 3.1.0 transitivePeerDependencies: - supports-color - remark-emoji@4.0.1: + rehype-stringify@10.0.1: dependencies: - '@types/mdast': 4.0.4 - emoticon: 4.1.0 - mdast-util-find-and-replace: 3.0.2 - node-emoji: 2.2.0 + '@types/hast': 3.0.5 + hast-util-to-html: 9.0.4 unified: 11.0.5 - remark-frontmatter@3.0.0: - dependencies: - mdast-util-frontmatter: 0.2.0 - micromark-extension-frontmatter: 0.2.2 - remark-frontmatter@5.0.0: dependencies: '@types/mdast': 4.0.4 @@ -17264,10 +7422,14 @@ snapshots: transitivePeerDependencies: - supports-color - remark-gfm@1.0.0: + remark-gfm@4.0.0: dependencies: - mdast-util-gfm: 0.1.2 - micromark-extension-gfm: 0.3.3 + '@types/mdast': 4.0.4 + 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.5 transitivePeerDependencies: - supports-color @@ -17291,93 +7453,84 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx@3.1.1: + remark-mdx-remove-esm@1.3.3(unified@11.0.5): + dependencies: + '@types/mdast': 4.0.4 + unified: 11.0.5 + unist-util-remove: 4.0.0 + + remark-mdx@3.0.1: dependencies: mdast-util-mdx: 3.0.0 micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color - remark-parse@10.0.2: + remark-mdx@3.1.0: dependencies: - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color - remark-parse@11.0.0: + remark-mdx@3.1.1: dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 - micromark-util-types: 2.0.2 - unified: 11.0.5 + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color - remark-parse@9.0.0: + remark-parse@11.0.0: dependencies: - mdast-util-from-markdown: 0.8.5 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.3 + unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-rehype@10.1.0: + remark-rehype@11.1.1: dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - - remark-rehype@11.1.2: - dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 mdast-util-to-hast: 13.2.1 unified: 11.0.5 vfile: 6.0.3 - remark-stringify@11.0.0: + remark-smartypants@3.0.2: dependencies: - '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.2 + retext: 9.0.0 + retext-smartypants: 6.2.0 unified: 11.0.5 + unist-util-visit: 5.0.0 - remark-stringify@9.0.1: + remark-stringify@11.0.0: dependencies: - mdast-util-to-markdown: 0.6.5 + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.2.0 + unified: 11.0.5 - renderkid@3.0.0: + remark@15.0.1: dependencies: - css-select: 4.3.0 - dom-converter: 0.2.0 - htmlparser2: 6.1.0 - lodash: 4.18.1 - strip-ansi: 6.0.1 - - repeat-string@1.6.1: {} + '@types/mdast': 4.0.4 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color require-directory@2.1.1: {} require-from-string@2.0.2: {} - require-like@0.1.2: {} - - requires-port@1.0.0: {} - - reselect@5.2.0: {} - - resize-observer-polyfill@1.5.1: {} + reselect@5.3.0: {} resolve-alpn@1.2.1: {} - resolve-from@4.0.0: {} - - resolve-pathname@3.0.0: {} - - resolve@1.22.12: + resolve@1.22.13: dependencies: es-errors: 1.3.0 - is-core-module: 2.16.2 + is-core-module: 2.17.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -17385,110 +7538,97 @@ snapshots: dependencies: lowercase-keys: 3.0.0 - retry@0.13.1: {} - - reusify@1.1.0: {} - - robust-predicates@3.0.3: {} - - roughjs@4.6.6: + restore-cursor@4.0.0: dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 + onetime: 5.1.2 + signal-exit: 3.0.7 - rtl-css-js@1.16.1: + retext-latin@4.0.0: dependencies: - '@babel/runtime': 7.29.7 + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.5 - rtlcss@4.3.0: + retext-smartypants@6.2.0: dependencies: - escalade: 3.2.0 - picocolors: 1.1.1 - postcss: 8.5.15 - strip-json-comments: 3.1.1 + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 - run-applescript@7.1.0: {} - - run-parallel@1.2.0: + retext-stringify@4.0.0: dependencies: - queue-microtask: 1.2.3 - - rw@1.3.3: {} + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 - sade@1.8.1: + retext@9.0.0: dependencies: - mri: 1.2.0 - - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 - safe-stable-stringify@1.1.1: {} + reusify@1.1.0: {} - safer-buffer@2.1.2: {} + run-async@3.0.0: {} - sass-loader@16.0.8(@rspack/core@1.7.11(@swc/helpers@0.5.23))(sass@1.101.0)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + run-parallel@1.2.0: dependencies: - neo-async: 2.6.2 - optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.23) - sass: 1.101.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) + queue-microtask: 1.2.3 - sass@1.101.0: + rxjs@7.8.2: dependencies: - chokidar: 5.0.0 - immutable: 5.1.6 - source-map-js: 1.2.1 - optionalDependencies: - '@parcel/watcher': 2.5.6 - - sax@1.6.0: {} + tslib: 2.8.1 - scheduler@0.27.0: {} + safe-array-concat@1.1.4: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 - schema-dts@1.1.5: {} + safe-buffer@5.2.1: {} - schema-utils@3.3.0: + safe-push-apply@1.0.0: dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.15.0 - ajv-keywords: 3.5.2(ajv@6.15.0) + es-errors: 1.3.0 + isarray: 2.0.5 - schema-utils@4.3.3: + safe-regex-test@1.1.0: dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.20.0 - ajv-formats: 2.1.1(ajv@8.20.0) - ajv-keywords: 5.1.0(ajv@8.20.0) - - screenfull@5.2.0: {} - - search-insights@2.17.3: {} + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 + safe-stable-stringify@1.1.1: {} - select-hose@2.0.0: {} + safer-buffer@2.1.2: {} - selfsigned@5.5.0: + satori@0.33.5: dependencies: - '@peculiar/x509': 1.14.3 - pkijs: 3.4.0 + '@shuding/opentype.js': 1.4.0-beta.0 + css-background-parser: 0.1.0 + css-box-shadow: 1.0.0-3 + css-gradient-parser: 0.0.17 + css-to-react-native: 3.2.0 + emoji-regex-xs: 2.0.1 + escape-html: 1.0.3 + fflate: 0.7.3 + harfbuzzjs: 0.10.0 + linebreak: 1.1.0 + parse-css-color: 0.2.1 + postcss-value-parser: 4.2.0 + yoga-layout: 3.2.1 - semver-diff@4.0.0: - dependencies: - semver: 7.8.3 + sax@1.6.1: {} - semver@6.3.1: {} + scheduler@0.26.0: {} - semver@7.7.1: {} + scheduler@0.28.0: {} - semver@7.8.3: {} + semver@7.7.4: + optional: true semver@7.8.5: {} @@ -17510,31 +7650,10 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - - serve-handler@6.1.7: - dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.5 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 - - serve-index@1.9.2: + serialize-error@13.0.2: dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.8.1 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color + non-error: 0.1.0 + type-fest: 5.10.0 serve-static@1.16.3: dependencies: @@ -17554,55 +7673,69 @@ snapshots: gopd: 1.2.0 has-property-descriptors: 1.0.2 - set-harmonic-interval@1.0.1: {} - - setprototypeof@1.2.0: {} - - shallow-clone@3.0.1: + set-function-name@2.0.2: dependencies: - kind-of: 6.0.3 - - shallowequal@1.1.0: {} + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 - shebang-command@2.0.0: + set-proto@1.0.0: dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - shell-quote@1.8.4: {} + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 - shelljs@0.8.5: - dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 + setprototypeof@1.2.0: {} - should-equal@2.0.0: + sharp-ico@0.1.5: dependencies: - should-type: 1.4.0 + decode-ico: 0.4.1 + ico-endec: 0.1.6 + sharp: 0.33.5 - should-format@3.0.3: + sharp@0.33.5: dependencies: - should-type: 1.4.0 - should-type-adaptors: 1.1.0 + color: 4.2.3 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 - should-type-adaptors@1.1.0: + shebang-command@2.0.0: dependencies: - should-type: 1.4.0 - should-util: 1.0.1 - - should-type@1.4.0: {} + shebang-regex: 3.0.0 - should-util@1.0.1: {} + shebang-regex@3.0.0: {} - should@13.2.3: + shiki@3.23.0: dependencies: - should-equal: 2.0.0 - should-format: 3.0.3 - should-type: 1.4.0 - should-type-adaptors: 1.1.0 - should-util: 1.0.1 + '@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.5 side-channel-list@1.0.1: dependencies: @@ -17634,108 +7767,80 @@ snapshots: signal-exit@3.0.7: {} - sirv@2.0.4: - dependencies: - '@polka/url': 1.0.0-next.29 - mrmime: 2.0.1 - totalist: 3.0.1 - - sisteransi@1.0.5: {} + signal-exit@4.1.0: {} - sitemap@7.1.3: - dependencies: - '@types/node': 17.0.45 - '@types/sax': 1.2.7 - arg: 5.0.2 - sax: 1.6.0 + simple-concat@1.0.1: + optional: true - skin-tone@2.0.0: + simple-get@4.0.1: dependencies: - unicode-emoji-modifier-base: 1.0.0 - - slash@3.0.0: {} - - slash@4.0.0: {} - - slugify@1.6.9: {} + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + optional: true - snake-case@3.0.4: + simple-swizzle@0.2.4: dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + is-arrayish: 0.3.4 - sockjs@0.3.24: + slice-ansi@5.0.0: dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.5 - - sort-css-media-queries@2.2.0: {} - - source-map-js@1.2.1: {} + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 - source-map-support@0.5.21: + slice-ansi@7.1.2: dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.5.6: {} - - source-map@0.6.1: {} - - source-map@0.7.6: {} - - space-separated-tokens@1.1.5: {} - - space-separated-tokens@2.0.2: {} + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 - spdy-transport@3.0.0: + socket.io-adapter@2.5.8: dependencies: debug: 4.4.3 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 + ws: 8.21.3 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - spdy@4.0.2: + socket.io-parser@4.2.7: dependencies: + '@socket.io/component-emitter': 3.1.2 debug: 4.4.3 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 transitivePeerDependencies: - supports-color - sprintf-js@1.0.3: {} + socket.io@4.8.0: + dependencies: + accepts: 1.3.8 + base64id: 2.0.0 + cors: 2.8.6 + debug: 4.3.7 + engine.io: 6.6.11 + socket.io-adapter: 2.5.8 + socket.io-parser: 4.2.7 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate - srcset@4.0.0: {} + source-map-js@1.2.2: {} - stack-generator@2.0.10: - dependencies: - stackframe: 1.3.4 + source-map@0.7.6: {} - stackframe@1.3.4: {} + space-separated-tokens@2.0.2: {} - stacktrace-gps@3.1.2: - dependencies: - source-map: 0.5.6 - stackframe: 1.3.4 + sprintf-js@1.0.3: {} - stacktrace-js@2.0.2: + stack-utils@2.0.6: dependencies: - error-stack-parser: 2.1.4 - stack-generator: 2.0.10 - stacktrace-gps: 3.1.2 - - statuses@1.5.0: {} + escape-string-regexp: 2.0.0 statuses@2.0.2: {} - std-env@3.10.0: {} + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 string-width@4.2.3: dependencies: @@ -17743,37 +7848,48 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.2.0 - string-width@7.2.0: dependencies: emoji-regex: 10.6.0 get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 - string_decoder@1.1.1: + string.prototype.codepointat@0.2.1: {} + + string.prototype.trim@1.2.11: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 + + string.prototype.trimend@1.0.10: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string.prototype.trimstart@1.0.8: dependencies: - safe-buffer: 5.1.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 + optional: true stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - stringify-object@3.3.0: - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -17782,13 +7898,12 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-bom-string@1.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-json-comments@2.0.1: {} + strip-json-comments@2.0.1: + optional: true - strip-json-comments@3.1.1: {} + strnum@2.5.1: + dependencies: + anynum: 1.0.1 style-to-js@1.1.21: dependencies: @@ -17802,13 +7917,15 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - stylehacks@6.1.1(postcss@8.5.15): + sucrase@3.34.0: dependencies: - browserslist: 4.28.2 - postcss: 8.5.15 - postcss-selector-parser: 6.1.2 - - stylis@4.4.0: {} + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 sucrase@3.35.1: dependencies: @@ -17820,96 +7937,61 @@ snapshots: tinyglobby: 0.2.17 ts-interface-checker: 0.1.13 - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} - svg-parser@2.0.4: {} + tagged-tag@1.0.0: {} - svgo@3.3.3: + tailwindcss@3.4.17: dependencies: - commander: 7.2.0 - css-select: 5.2.2 - css-tree: 2.3.1 - css-what: 6.2.2 - csso: 5.0.5 + '@alloc/quick-lru': 5.3.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.4 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 picocolors: 1.1.1 - sax: 1.6.0 - - swagger2openapi@7.0.8: - dependencies: - call-me-maybe: 1.0.2 - node-fetch: 2.7.0 - node-fetch-h2: 2.3.0 - node-readfiles: 0.2.0 - oas-kit-common: 1.0.8 - oas-resolver: 2.5.6 - oas-schema-walker: 1.1.5 - oas-validator: 5.0.8 - reftools: 1.1.9 - yaml: 1.10.3 - yargs: 17.7.3 + postcss: 8.5.23 + postcss-import: 15.1.0(postcss@8.5.23) + postcss-js: 4.1.0(postcss@8.5.23) + postcss-load-config: 4.0.2(postcss@8.5.23) + postcss-nested: 6.2.0(postcss@8.5.23) + postcss-selector-parser: 6.1.4 + resolve: 1.22.13 + sucrase: 3.35.1 transitivePeerDependencies: - - encoding - - swc-loader@0.2.7(@swc/core@1.15.41(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - '@swc/counter': 0.1.3 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - - tapable@2.3.3: {} - - terser-webpack-plugin@5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - optionalDependencies: - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - '@swc/html': 1.15.40 - lightningcss: 1.32.0 - postcss: 8.5.15 + - ts-node - terser-webpack-plugin@5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + tar-fs@2.1.5: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - optionalDependencies: - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - clean-css: 5.3.3 - cssnano: 6.1.2(postcss@8.5.15) - html-minifier-terser: 7.2.0 - postcss: 8.5.15 + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.4 + tar-stream: 2.2.0 + optional: true - terser-webpack-plugin@5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): + tar-stream@2.2.0: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.48.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - optionalDependencies: - '@swc/core': 1.15.41(@swc/helpers@0.5.23) - postcss: 8.5.15 + bl: 4.1.0 + end-of-stream: 1.4.5 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + optional: true - terser@5.48.0: + tar@7.5.21: dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 thenify-all@1.6.0: dependencies: @@ -17919,119 +8001,110 @@ snapshots: dependencies: any-promise: 1.3.0 - thingies@2.6.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - - throttle-debounce@3.0.1: {} - - thunky@1.1.0: {} - - tiny-invariant@1.3.3: {} - - tiny-warning@1.0.3: {} - - tinyexec@1.2.4: {} + tiny-inflate@1.0.3: {} tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 - tinypool@1.1.1: {} + to-data-view@1.1.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - toggle-selection@1.0.6: {} - toidentifier@1.0.1: {} - totalist@3.0.1: {} - tr46@0.0.3: {} - tree-dump@1.1.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - trim-lines@3.0.1: {} - trough@1.0.5: {} + trim-trailing-lines@2.1.0: {} trough@2.2.0: {} - ts-algebra@1.2.2: {} - - ts-api-utils@1.4.3(typescript@6.0.3): - dependencies: - typescript: 6.0.3 - - ts-dedent@2.2.0: {} - - ts-easing@0.2.0: {} - ts-interface-checker@0.1.13: {} - ts-keycode-enum@1.0.6: {} - tslib@1.14.1: {} tslib@2.8.1: {} - tsutils@3.21.0(typescript@6.0.3): + tunnel-agent@0.6.0: dependencies: - tslib: 1.14.1 - typescript: 6.0.3 + safe-buffer: 5.2.1 + optional: true - tsyringe@4.10.0: - dependencies: - tslib: 1.14.1 + twoslash-protocol@0.3.9: {} - type-check@0.4.0: + twoslash@0.3.9(typescript@6.0.3): dependencies: - prelude-ls: 1.2.1 + '@typescript/vfs': 1.6.5(typescript@6.0.3) + twoslash-protocol: 0.3.9 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color - type-fest@1.4.0: {} + type-fest@0.21.3: {} - type-fest@2.19.0: {} + type-fest@4.41.0: {} + + type-fest@5.10.0: + dependencies: + tagged-tag: 1.0.0 type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - typedarray-to-buffer@3.1.5: + typed-array-buffer@1.0.3: dependencies: - is-typedarray: 1.0.0 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 - typescript@6.0.3: {} + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 - undici-types@7.24.6: {} + typed-array-byte-offset@1.0.5: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 - unicode-canonical-property-names-ecmascript@2.0.1: {} + typed-array-length@1.0.8: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 - unicode-emoji-modifier-base@1.0.0: {} + typescript@6.0.3: {} - unicode-match-property-ecmascript@2.0.0: + unbox-primitive@1.1.0: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 - - unicode-match-property-value-ecmascript@2.2.1: {} + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 - unicode-property-aliases-ecmascript@2.2.0: {} + undici-types@8.9.0: {} - unified@10.1.2: + unicode-trie@2.0.0: dependencies: - '@types/unist': 2.0.11 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 5.3.7 + pako: 0.2.9 + tiny-inflate: 1.0.3 unified@11.0.5: dependencies: @@ -18043,33 +8116,15 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unified@9.2.2: - dependencies: - '@types/unist': 2.0.11 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - - unique-string@3.0.0: - dependencies: - crypto-random-string: 4.0.0 - - unist-builder@3.0.1: + unist-builder@4.0.0: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 3.0.3 unist-util-find-after@5.0.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-generated@2.0.1: {} - - unist-util-is@4.1.0: {} - unist-util-is@5.2.1: dependencies: '@types/unist': 2.0.11 @@ -18078,67 +8133,56 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-position-from-estree@2.0.0: + unist-util-map@4.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-position@4.0.4: - dependencies: - '@types/unist': 2.0.11 - - unist-util-position@5.0.0: + unist-util-modify-children@4.0.0: dependencies: '@types/unist': 3.0.3 + array-iterate: 2.0.1 - unist-util-remove-position@5.0.0: + unist-util-position-from-estree@2.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit: 5.1.0 - unist-util-select@4.0.3: + unist-util-position@5.0.0: dependencies: - '@types/unist': 2.0.11 - css-selector-parser: 1.4.1 - nth-check: 2.1.1 - zwitch: 2.0.4 + '@types/unist': 3.0.3 - unist-util-stringify-position@2.0.3: + unist-util-remove-position@5.0.0: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 - unist-util-stringify-position@3.0.3: + unist-util-remove@4.0.0: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.1 unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@3.1.1: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - - unist-util-visit-parents@4.1.1: + unist-util-visit-children@3.0.0: dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 + '@types/unist': 3.0.3 unist-util-visit-parents@5.1.3: dependencies: '@types/unist': 2.0.11 unist-util-is: 5.2.1 - unist-util-visit-parents@6.0.2: + unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@3.1.0: + unist-util-visit-parents@6.0.2: dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents: 4.1.1 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 unist-util-visit@4.1.2: dependencies: @@ -18146,7 +8190,7 @@ snapshots: unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 - unist-util-visit@5.1.0: + unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 @@ -18156,79 +8200,27 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.2.3(browserslist@4.28.2): - dependencies: - browserslist: 4.28.2 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-notifier@6.0.2: - dependencies: - boxen: 7.1.1 - chalk: 5.6.2 - configstore: 6.0.0 - has-yarn: 3.0.0 - import-lazy: 4.0.0 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - is-npm: 6.1.0 - is-yarn-global: 0.4.1 - latest-version: 7.0.0 - pupa: 3.3.0 - semver: 7.8.3 - semver-diff: 4.0.0 - xdg-basedir: 5.1.0 - uri-js@4.4.1: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - loader-utils: 2.0.4 - mime-types: 2.1.35 - schema-utils: 3.3.0 - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - optionalDependencies: - file-loader: 6.2.0(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - - url@0.11.4: - dependencies: - punycode: 1.4.1 - qs: 6.15.3 - - use-editable@2.3.3(react@19.2.7): - dependencies: - react: 19.2.7 - - use-resize-observer@9.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): - dependencies: - '@juggle/resize-observer': 3.4.0 - react: 19.2.7 - react-dom: 19.2.7(react@19.2.7) + urijs@1.19.11: {} - use-sync-external-store@1.6.0(react@19.2.7): + use-sync-external-store@1.7.0(react@19.2.3): dependencies: - react: 19.2.7 + react: 19.2.3 util-deprecate@1.0.2: {} - utila@0.4.0: {} - utility-types@3.11.0: {} utils-merge@1.0.1: {} - uuid@14.0.1: {} - - uuid@8.3.2: {} + uuid@11.1.1: {} - uvu@0.5.6: - dependencies: - dequal: 2.0.3 - diff: 5.2.2 - kleur: 4.1.5 - sade: 1.8.1 + valibot@1.5.0(typescript@6.0.3): + optionalDependencies: + typescript: 6.0.3 validate.io-array@1.0.6: {} @@ -18245,290 +8237,32 @@ snapshots: validate.io-number@1.0.3: {} - value-equal@1.0.1: {} - vary@1.1.2: {} - vfile-location@4.1.0: - dependencies: - '@types/unist': 2.0.11 - vfile: 5.3.7 - vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 vfile: 6.0.3 - vfile-message@2.0.4: + vfile-matter@5.0.1: dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position: 2.0.3 - - vfile-message@3.1.4: - dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position: 3.0.3 + vfile: 6.0.3 + yaml: 2.8.3 vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - vfile@4.2.1: - dependencies: - '@types/unist': 2.0.11 - is-buffer: 2.0.5 - unist-util-stringify-position: 2.0.3 - vfile-message: 2.0.4 - - vfile@5.3.7: - dependencies: - '@types/unist': 2.0.11 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - vfile@6.0.3: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.3 - warning@4.0.3: - dependencies: - loose-envify: 1.4.0 - - watchpack@2.5.1: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - - wbuf@1.7.3: - dependencies: - minimalistic-assert: 1.0.1 - web-namespaces@2.0.1: {} webidl-conversions@3.0.1: {} - webpack-bundle-analyzer@4.10.2: - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.16.0 - acorn-walk: 8.3.5 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - opener: 1.5.2 - picocolors: 1.1.1 - sirv: 2.0.4 - ws: 7.5.11 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - colorette: 2.0.20 - memfs: 4.57.6(tslib@2.8.1) - mime-types: 3.0.2 - on-finished: 2.4.1 - range-parser: 1.2.1 - schema-utils: 4.3.3 - optionalDependencies: - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - tslib - - webpack-dev-server@5.2.4(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.8 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.4.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.1 - connect-history-api-fallback: 2.0.0 - express: 4.22.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.4.0 - launch-editor: 2.14.1 - open: 10.2.0 - p-retry: 6.2.1 - schema-utils: 4.3.3 - selfsigned: 5.5.0 - serve-index: 1.9.2 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - ws: 8.21.0 - optionalDependencies: - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - tslib - - utf-8-validate - - webpack-merge@5.10.0: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-merge@6.0.1: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-sources@3.5.0: {} - - webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.15): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.23.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.23.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15): - dependencies: - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.23.0 - es-module-lexer: 2.1.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - loader-runner: 4.3.2 - mime-db: 1.54.0 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpackbar@7.0.0(@rspack/core@1.7.11(@swc/helpers@0.5.23))(webpack@5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15)): - dependencies: - ansis: 3.17.0 - consola: 3.4.2 - pretty-time: 1.1.0 - std-env: 3.10.0 - optionalDependencies: - '@rspack/core': 1.7.11(@swc/helpers@0.5.23) - webpack: 5.107.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(postcss@8.5.15) - - websocket-driver@0.7.5: - dependencies: - http-parser-js: 0.5.10 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - - websocket-extensions@0.1.4: {} - whatwg-fetch@3.6.20: {} whatwg-url@5.0.0: @@ -18536,31 +8270,66 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which@2.0.2: + which-boxed-primitive@1.1.1: dependencies: - isexe: 2.0.0 + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 - widest-line@4.0.1: + which-builtin-type@1.2.1: dependencies: - string-width: 5.1.2 - - wildcard@2.0.1: {} + call-bound: 1.0.4 + function.prototype.name: 1.2.0 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.24 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.24: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 - wolfy87-eventemitter@5.2.9: {} + which@2.0.2: + dependencies: + isexe: 2.0.0 - word-wrap@1.2.5: {} + widest-line@5.0.0: + dependencies: + string-width: 7.2.0 - wrap-ansi@7.0.0: + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: + wrap-ansi@7.0.0: dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.2.0 + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 wrap-ansi@9.0.2: dependencies: @@ -18570,52 +8339,35 @@ snapshots: wrappy@1.0.2: {} - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 + ws@8.21.3: {} - ws@7.5.11: {} + ws@8.22.0: {} - ws@8.21.0: {} + xml-naming@0.3.0: {} - wsl-utils@0.1.0: + xml2js@0.6.2: dependencies: - is-wsl: 3.1.1 - - xdg-basedir@5.1.0: {} + sax: 1.6.1 + xmlbuilder: 11.0.1 - xml-formatter@3.7.0: - dependencies: - xml-parser-xo: 4.1.6 + xmlbuilder@11.0.1: {} - xml-js@1.6.11: + xss@1.0.15: dependencies: - sax: 1.6.0 - - xml-parser-xo@4.1.6: {} - - xtend@4.0.2: {} + commander: 2.20.3 + cssfilter: 0.0.10 y18n@5.0.8: {} - yallist@3.1.1: {} - - yaml-ast-parser@0.0.43: {} - - yaml@1.10.2: {} + yallist@5.0.0: {} - yaml@1.10.3: {} - - yaml@2.9.0: {} + yaml@2.8.3: {} yargs-parser@21.1.1: {} yargs-parser@22.0.0: {} - yargs@17.7.3: + yargs@17.7.1: dependencies: cliui: 8.0.1 escalade: 3.2.0 @@ -18634,14 +8386,16 @@ snapshots: y18n: 5.0.8 yargs-parser: 22.0.0 - yocto-queue@0.1.0: {} + yoctocolors-cjs@2.1.3: {} - yocto-queue@1.2.2: {} + yoga-layout@3.2.1: {} - zustand@3.7.2(react@19.2.7): - optionalDependencies: - react: 19.2.7 + zod-to-json-schema@3.20.4(zod@3.24.0): + dependencies: + zod: 3.24.0 + + zod@3.24.0: {} - zwitch@1.0.5: {} + zod@4.3.6: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 772223c31..0d0dc9831 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,17 +3,12 @@ blockExoticSubdeps: true strictDepBuilds: true allowBuilds: - '@parcel/watcher': true - '@swc/core': true - core-js: true - core-js-pure: true - postman-code-generators: true - protobufjs: true + '@scarf/scarf': false # install telemetry + esbuild: true # needed by mint dev + keytar: false # OS keychain, only for `mint login` + sharp: false # mint dev works without it trustPolicy: no-downgrade trustPolicyExclude: - 'detect-port@1.6.1' - 'semver@6.3.1' - -patchedDependencies: - '@stoplight/json-schema-viewer@4.16.4': patches/@stoplight__json-schema-viewer.patch diff --git a/redirects.json b/redirects.json new file mode 100644 index 000000000..a0e3716cf --- /dev/null +++ b/redirects.json @@ -0,0 +1,6475 @@ +[ + { + "source": "/assets/audits/2024-01-03%20-%20Veridise%20-%20stellar-core%20v20.0.0%20-%20soroban.pdf", + "destination": "/assets/audits/2024-01-03-veridise-stellar-core-v20.0.0-soroban.pdf" + }, + { + "source": "/meeting-notes/tags", + "destination": "/meetings" + }, + { + "source": "/assets/audits/2024-12-20%20-%20OtterSec%20-%20stellar-rpc%20commit%20a60044e.pdf", + "destination": "/assets/audits/2024-12-20-ottersec-stellar-rpc-commit-a60044e.pdf" + }, + { + "source": "/assets/audits/2025-10-17%20-%20Oak%20-%20stellar-core%20v23.0.0%20-%20protocol%2023%20changes.pdf", + "destination": "/assets/audits/2025-10-17-oak-stellar-core-v23.0.0-protocol-23-changes.pdf" + }, + { + "source": "/assets/audits/2025-11-13%20-%20Oak%20-%20stellar-core%20v24.0.0%20-%20protocol%2024%20changes.pdf", + "destination": "/assets/audits/2025-11-13-oak-stellar-core-v24.0.0-protocol-24-changes.pdf" + }, + { + "source": "/assets/audits/2026-02-06%20-%20Runtime%20Verification%20-%20stellar-core%20v25.0.0%20-%20soroban%20environment.pdf", + "destination": "/assets/audits/2026-02-06-runtime-verification-stellar-core-v25.0.0-soroban-environment.pdf" + }, + { + "source": "/assets/audits/2027-03-07%20-%20Halborn%20-%20bytes-lit%20v0.0.5.pdf", + "destination": "/assets/audits/2027-03-07-halborn-bytes-lit-v0.0.5.pdf" + }, + { + "source": "/assets/audits/2027-03-07%20-%20Halborn%20-%20crates-git-revision%20v0.0.6.pdf", + "destination": "/assets/audits/2027-03-07-halborn-crates-git-revision-v0.0.6.pdf" + }, + { + "source": "/assets/audits/2027-03-07%20-%20Halborn%20-%20soroban-poseidon%20v25.0.0.pdf", + "destination": "/assets/audits/2027-03-07-halborn-soroban-poseidon-v25.0.0.pdf" + }, + { + "source": "/assets/audits/2027-03-07%20-%20Halborn%20-%20soroban-sdk%20v25.1.0.pdf", + "destination": "/assets/audits/2027-03-07-halborn-soroban-sdk-v25.1.0.pdf" + }, + { + "source": "/assets/audits/2027-03-07%20-%20Halborn%20-%20stellar-strkey%20v0.0.13%20v0.0.16.pdf", + "destination": "/assets/audits/2027-03-07-halborn-stellar-strkey-v0.0.13-v0.0.16.pdf" + }, + { + "source": "/docs/learn/glossary/accounts", + "destination": "/docs/learn/fundamentals/stellar-data-structures/accounts" + }, + { + "source": "/docs/glossary/accounts", + "destination": "/docs/learn/fundamentals/stellar-data-structures/accounts" + }, + { + "source": "/docs/learn/glossary/assets", + "destination": "/docs/learn/fundamentals/stellar-data-structures/assets" + }, + { + "source": "/docs/glossary/assets", + "destination": "/docs/learn/fundamentals/stellar-data-structures/assets" + }, + { + "source": "/docs/learn/glossary/channels", + "destination": "/docs/build/guides/transactions/channel-accounts" + }, + { + "source": "/docs/glossary/channels", + "destination": "/docs/build/guides/transactions/channel-accounts" + }, + { + "source": "/docs/learn/glossary/claimable-balance", + "destination": "/docs/build/guides/transactions/claimable-balances" + }, + { + "source": "/docs/glossary/claimable-balance", + "destination": "/docs/build/guides/transactions/claimable-balances" + }, + { + "source": "/docs/learn/glossary/clawback", + "destination": "/docs/build/guides/transactions/clawbacks" + }, + { + "source": "/docs/glossary/clawback", + "destination": "/docs/build/guides/transactions/clawbacks" + }, + { + "source": "/docs/learn/glossary/decentralized-exchange", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools#sdex" + }, + { + "source": "/docs/glossary/decentralized-exchange", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools#sdex" + }, + { + "source": "/docs/learn/glossary/federation", + "destination": "/docs/learn/glossary#federation" + }, + { + "source": "/docs/glossary/federation", + "destination": "/docs/learn/glossary#federation" + }, + { + "source": "/docs/learn/glossary/fee-bumps", + "destination": "/docs/build/guides/transactions/fee-bump-transactions" + }, + { + "source": "/docs/glossary/fee-bumps", + "destination": "/docs/build/guides/transactions/fee-bump-transactions" + }, + { + "source": "/docs/learn/glossary/fees", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/glossary/fees", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/learn/encyclopedia/fees-surge-pricing-fee-strategies", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/encyclopedia/fees-surge-pricing-fee-strategies", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/learn/glossary/inflation", + "destination": "/docs/learn/glossary#inflation" + }, + { + "source": "/docs/glossary/inflation", + "destination": "/docs/learn/glossary#inflation" + }, + { + "source": "/docs/learn/glossary/ledger", + "destination": "/docs/learn/fundamentals/stellar-data-structures/ledgers" + }, + { + "source": "/docs/glossary/ledger", + "destination": "/docs/learn/fundamentals/stellar-data-structures/ledgers" + }, + { + "source": "/docs/learn/glossary/liquidity-pools", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools#liquidity-pools" + }, + { + "source": "/docs/glossary/liquidity-pools", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools#liquidity-pools" + }, + { + "source": "/docs/learn/encyclopedia/liquidity-on-stellar-sdex-and-liquidity-pools/:slug*", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" + }, + { + "source": "/docs/encyclopedia/liquidity-on-stellar-sdex-and-liquidity-pools/:slug*", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" + }, + { + "source": "/docs/learn/glossary/lumen-supply", + "destination": "/docs/learn/fundamentals/lumens#lumen-supply-metrics" + }, + { + "source": "/docs/glossary/lumen-supply", + "destination": "/docs/learn/fundamentals/lumens#lumen-supply-metrics" + }, + { + "source": "/docs/learn/glossary/minimum-balance", + "destination": "/docs/learn/fundamentals/lumens#minimum-balance" + }, + { + "source": "/docs/glossary/minimum-balance", + "destination": "/docs/learn/fundamentals/lumens#minimum-balance" + }, + { + "source": "/docs/learn/glossary/multisig", + "destination": "/docs/learn/fundamentals/transactions/signatures-multisig" + }, + { + "source": "/docs/glossary/multisig", + "destination": "/docs/learn/fundamentals/transactions/signatures-multisig" + }, + { + "source": "/docs/learn/glossary/muxed-accounts", + "destination": "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos" + }, + { + "source": "/docs/glossary/muxed-accounts", + "destination": "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos" + }, + { + "source": "/docs/learn/glossary/network-passphrase", + "destination": "/docs/learn/glossary#passphrase" + }, + { + "source": "/docs/glossary/network-passphrase", + "destination": "/docs/learn/glossary#passphrase" + }, + { + "source": "/docs/learn/glossary/operations", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions#operations" + }, + { + "source": "/docs/glossary/operations", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions#operations" + }, + { + "source": "/docs/learn/glossary/scp", + "destination": "/docs/learn/fundamentals/stellar-consensus-protocol" + }, + { + "source": "/docs/glossary/scp", + "destination": "/docs/learn/fundamentals/stellar-consensus-protocol" + }, + { + "source": "/docs/learn/glossary/sponsored-reserves", + "destination": "/docs/build/guides/transactions/sponsored-reserves" + }, + { + "source": "/docs/glossary/sponsored-reserves", + "destination": "/docs/build/guides/transactions/sponsored-reserves" + }, + { + "source": "/docs/learn/glossary/testnet", + "destination": "/docs/networks" + }, + { + "source": "/docs/glossary/testnet", + "destination": "/docs/networks" + }, + { + "source": "/docs/learn/glossary/transactions", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions" + }, + { + "source": "/docs/glossary/transactions", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions" + }, + { + "source": "/docs/glossary/xdr", + "destination": "/docs/learn/fundamentals/data-format/xdr" + }, + { + "source": "/docs/tools/sdks/library", + "destination": "/docs/tools/sdks" + }, + { + "source": "/docs/software-and-sdks", + "destination": "/docs/tools/sdks" + }, + { + "source": "/docs/tools-and-sdks/:slug*", + "destination": "/docs/tools/sdks/:slug*" + }, + { + "source": "/docs/data/indexers/data-indexers", + "destination": "/docs/data/indexers" + }, + { + "source": "/docs/tools/developer-tools/data-indexers", + "destination": "/docs/data/indexers" + }, + { + "source": "/docs/data/indexers/indexer-providers/indexer-providers", + "destination": "/docs/data/indexers" + }, + { + "source": "/docs/data/indexers/indexer-providers", + "destination": "/docs/data/indexers" + }, + { + "source": "/docs/start/introduction", + "destination": "/docs" + }, + { + "source": "/docs/start/list-of-operations", + "destination": "/docs/learn/fundamentals/transactions/list-of-operations" + }, + { + "source": "/docs/start/stellar-stack", + "destination": "/docs/learn/fundamentals/stellar-stack" + }, + { + "source": "/docs/tutorials/handling-errors", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors" + }, + { + "source": "/docs/tutorials/securing-projects", + "destination": "/docs/build/security-docs/securing-web-based-projects" + }, + { + "source": "/docs/tutorials/moneygram-access-integration-guide", + "destination": "https://developer.moneygram.com/moneygram-developer/docs/integrate-moneygram-ramps" + }, + { + "source": "/docs/fundamentals-and-concepts/testnet-and-pubnet", + "destination": "/docs/networks" + }, + { + "source": "/api", + "destination": "/docs/data/apis/horizon" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/custom-account", + "destination": "/docs/build/smart-contracts/example-contracts/complex-account" + }, + { + "source": "/network/horizon/resources/cb-retrieve-related-operations", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + }, + { + "source": "/network/horizon/resources/cb-retrieve-related-transactions", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions" + }, + { + "source": "/network/horizon/resources/get-all-offers", + "destination": "/docs/data/apis/horizon/api-reference/get-all-offers" + }, + { + "source": "/network/horizon/resources/get-all-trades", + "destination": "/docs/data/apis/horizon/api-reference/get-all-trades" + }, + { + "source": "/network/horizon/resources/get-data-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-data-by-account-id" + }, + { + "source": "/network/horizon/resources/get-effects-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id" + }, + { + "source": "/network/horizon/resources/get-offer-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id" + }, + { + "source": "/network/horizon/resources/get-offers-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id" + }, + { + "source": "/network/horizon/resources/get-operations-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id" + }, + { + "source": "/network/horizon/resources/get-payments-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id" + }, + { + "source": "/network/horizon/resources/get-trades-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id" + }, + { + "source": "/network/horizon/resources/get-trades-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + }, + { + "source": "/network/horizon/resources/get-transactions-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id" + }, + { + "source": "/network/horizon/resources/list-all-accounts", + "destination": "/docs/data/apis/horizon/api-reference/list-all-accounts" + }, + { + "source": "/network/horizon/resources/list-all-assets", + "destination": "/docs/data/apis/horizon/api-reference/list-all-assets" + }, + { + "source": "/network/horizon/resources/list-all-claimable-balances", + "destination": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances" + }, + { + "source": "/network/horizon/resources/list-all-effects", + "destination": "/docs/data/apis/horizon/api-reference/list-all-effects" + }, + { + "source": "/network/horizon/resources/list-all-ledgers", + "destination": "/docs/data/apis/horizon/api-reference/list-all-ledgers" + }, + { + "source": "/network/horizon/resources/list-all-operations", + "destination": "/docs/data/apis/horizon/api-reference/list-all-operations" + }, + { + "source": "/network/horizon/resources/list-all-payments", + "destination": "/docs/data/apis/horizon/api-reference/list-all-payments" + }, + { + "source": "/network/horizon/resources/list-all-transactions", + "destination": "/docs/data/apis/horizon/api-reference/list-all-transactions" + }, + { + "source": "/network/horizon/resources/list-liquidity-pools", + "destination": "/docs/data/apis/horizon/api-reference/list-liquidity-pools" + }, + { + "source": "/network/horizon/resources/list-strict-receive-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths" + }, + { + "source": "/network/horizon/resources/list-strict-send-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + }, + { + "source": "/network/horizon/resources/list-trade-aggregations", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations" + }, + { + "source": "/network/horizon/resources/retrieve-a-claimable-balance", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance" + }, + { + "source": "/network/horizon/resources/retrieve-a-ledger", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger" + }, + { + "source": "/network/horizon/resources/retrieve-a-ledgers-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects" + }, + { + "source": "/network/horizon/resources/retrieve-a-ledgers-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations" + }, + { + "source": "/network/horizon/resources/retrieve-a-ledgers-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments" + }, + { + "source": "/network/horizon/resources/retrieve-a-ledgers-transactions", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions" + }, + { + "source": "/network/horizon/resources/retrieve-a-liquidity-pool", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool" + }, + { + "source": "/network/horizon/resources/retrieve-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/network/horizon/resources/retrieve-a-transactions-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects" + }, + { + "source": "/network/horizon/resources/retrieve-a-transactions-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations" + }, + { + "source": "/network/horizon/resources/retrieve-a-transactions-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + }, + { + "source": "/network/horizon/resources/retrieve-an-account", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-account" + }, + { + "source": "/network/horizon/resources/retrieve-an-operation", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operation" + }, + { + "source": "/network/horizon/resources/retrieve-an-operations-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects" + }, + { + "source": "/network/horizon/resources/retrieve-an-order-book", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book" + }, + { + "source": "/network/horizon/resources/retrieve-fee-stats", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats" + }, + { + "source": "/network/horizon/resources/retrieve-related-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-effects" + }, + { + "source": "/network/horizon/resources/retrieve-related-trades", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-trades" + }, + { + "source": "/network/horizon/resources/submit-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-a-transaction" + }, + { + "source": "/network/horizon/resources/submit-async-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-async-transaction" + }, + { + "source": "/network/resources/cb-retrieve-related-operations", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + }, + { + "source": "/network/resources/cb-retrieve-related-transactions", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions" + }, + { + "source": "/network/resources/get-all-offers", + "destination": "/docs/data/apis/horizon/api-reference/get-all-offers" + }, + { + "source": "/network/resources/get-all-trades", + "destination": "/docs/data/apis/horizon/api-reference/get-all-trades" + }, + { + "source": "/network/resources/get-data-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-data-by-account-id" + }, + { + "source": "/network/resources/get-effects-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id" + }, + { + "source": "/network/resources/get-offer-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id" + }, + { + "source": "/network/resources/get-offers-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id" + }, + { + "source": "/network/resources/get-operations-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id" + }, + { + "source": "/network/resources/get-payments-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id" + }, + { + "source": "/network/resources/get-trades-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id" + }, + { + "source": "/network/resources/get-trades-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + }, + { + "source": "/network/resources/get-transactions-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id" + }, + { + "source": "/network/resources/list-all-accounts", + "destination": "/docs/data/apis/horizon/api-reference/list-all-accounts" + }, + { + "source": "/network/resources/list-all-assets", + "destination": "/docs/data/apis/horizon/api-reference/list-all-assets" + }, + { + "source": "/network/resources/list-all-claimable-balances", + "destination": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances" + }, + { + "source": "/network/resources/list-all-effects", + "destination": "/docs/data/apis/horizon/api-reference/list-all-effects" + }, + { + "source": "/network/resources/list-all-ledgers", + "destination": "/docs/data/apis/horizon/api-reference/list-all-ledgers" + }, + { + "source": "/network/resources/list-all-operations", + "destination": "/docs/data/apis/horizon/api-reference/list-all-operations" + }, + { + "source": "/network/resources/list-all-payments", + "destination": "/docs/data/apis/horizon/api-reference/list-all-payments" + }, + { + "source": "/network/resources/list-all-transactions", + "destination": "/docs/data/apis/horizon/api-reference/list-all-transactions" + }, + { + "source": "/network/resources/list-liquidity-pools", + "destination": "/docs/data/apis/horizon/api-reference/list-liquidity-pools" + }, + { + "source": "/network/resources/list-strict-receive-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths" + }, + { + "source": "/network/resources/list-strict-send-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + }, + { + "source": "/network/resources/list-trade-aggregations", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations" + }, + { + "source": "/network/resources/retrieve-a-claimable-balance", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance" + }, + { + "source": "/network/resources/retrieve-a-ledger", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger" + }, + { + "source": "/network/resources/retrieve-a-ledgers-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects" + }, + { + "source": "/network/resources/retrieve-a-ledgers-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations" + }, + { + "source": "/network/resources/retrieve-a-ledgers-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments" + }, + { + "source": "/network/resources/retrieve-a-ledgers-transactions", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions" + }, + { + "source": "/network/resources/retrieve-a-liquidity-pool", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool" + }, + { + "source": "/network/resources/retrieve-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/network/resources/retrieve-a-transactions-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects" + }, + { + "source": "/network/resources/retrieve-a-transactions-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations" + }, + { + "source": "/network/resources/retrieve-a-transactions-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + }, + { + "source": "/network/resources/retrieve-an-account", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-account" + }, + { + "source": "/network/resources/retrieve-an-operation", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operation" + }, + { + "source": "/network/resources/retrieve-an-operations-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects" + }, + { + "source": "/network/resources/retrieve-an-order-book", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book" + }, + { + "source": "/network/resources/retrieve-fee-stats", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats" + }, + { + "source": "/network/resources/retrieve-related-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-effects" + }, + { + "source": "/network/resources/retrieve-related-trades", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-trades" + }, + { + "source": "/network/resources/submit-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-a-transaction" + }, + { + "source": "/network/resources/submit-async-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-async-transaction" + }, + { + "source": "/api/horizon/resources/cb-retrieve-related-operations", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + }, + { + "source": "/api/horizon/resources/cb-retrieve-related-transactions", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions" + }, + { + "source": "/api/horizon/resources/get-all-offers", + "destination": "/docs/data/apis/horizon/api-reference/get-all-offers" + }, + { + "source": "/api/horizon/resources/get-all-trades", + "destination": "/docs/data/apis/horizon/api-reference/get-all-trades" + }, + { + "source": "/api/horizon/resources/get-data-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-data-by-account-id" + }, + { + "source": "/api/horizon/resources/get-effects-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id" + }, + { + "source": "/api/horizon/resources/get-offer-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id" + }, + { + "source": "/api/horizon/resources/get-offers-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id" + }, + { + "source": "/api/horizon/resources/get-operations-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id" + }, + { + "source": "/api/horizon/resources/get-payments-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id" + }, + { + "source": "/api/horizon/resources/get-trades-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id" + }, + { + "source": "/api/horizon/resources/get-trades-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + }, + { + "source": "/api/horizon/resources/get-transactions-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id" + }, + { + "source": "/api/horizon/resources/list-all-accounts", + "destination": "/docs/data/apis/horizon/api-reference/list-all-accounts" + }, + { + "source": "/api/horizon/resources/list-all-assets", + "destination": "/docs/data/apis/horizon/api-reference/list-all-assets" + }, + { + "source": "/api/horizon/resources/list-all-claimable-balances", + "destination": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances" + }, + { + "source": "/api/horizon/resources/list-all-effects", + "destination": "/docs/data/apis/horizon/api-reference/list-all-effects" + }, + { + "source": "/api/horizon/resources/list-all-ledgers", + "destination": "/docs/data/apis/horizon/api-reference/list-all-ledgers" + }, + { + "source": "/api/horizon/resources/list-all-operations", + "destination": "/docs/data/apis/horizon/api-reference/list-all-operations" + }, + { + "source": "/api/horizon/resources/list-all-payments", + "destination": "/docs/data/apis/horizon/api-reference/list-all-payments" + }, + { + "source": "/api/horizon/resources/list-all-transactions", + "destination": "/docs/data/apis/horizon/api-reference/list-all-transactions" + }, + { + "source": "/api/horizon/resources/list-liquidity-pools", + "destination": "/docs/data/apis/horizon/api-reference/list-liquidity-pools" + }, + { + "source": "/api/horizon/resources/list-strict-receive-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths" + }, + { + "source": "/api/horizon/resources/list-strict-send-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + }, + { + "source": "/api/horizon/resources/list-trade-aggregations", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations" + }, + { + "source": "/api/horizon/resources/retrieve-a-claimable-balance", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance" + }, + { + "source": "/api/horizon/resources/retrieve-a-ledger", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger" + }, + { + "source": "/api/horizon/resources/retrieve-a-ledgers-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects" + }, + { + "source": "/api/horizon/resources/retrieve-a-ledgers-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations" + }, + { + "source": "/api/horizon/resources/retrieve-a-ledgers-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments" + }, + { + "source": "/api/horizon/resources/retrieve-a-ledgers-transactions", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions" + }, + { + "source": "/api/horizon/resources/retrieve-a-liquidity-pool", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool" + }, + { + "source": "/api/horizon/resources/retrieve-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/api/horizon/resources/retrieve-a-transactions-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects" + }, + { + "source": "/api/horizon/resources/retrieve-a-transactions-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations" + }, + { + "source": "/api/horizon/resources/retrieve-a-transactions-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + }, + { + "source": "/api/horizon/resources/retrieve-an-account", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-account" + }, + { + "source": "/api/horizon/resources/retrieve-an-operation", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operation" + }, + { + "source": "/api/horizon/resources/retrieve-an-operations-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects" + }, + { + "source": "/api/horizon/resources/retrieve-an-order-book", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book" + }, + { + "source": "/api/horizon/resources/retrieve-fee-stats", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats" + }, + { + "source": "/api/horizon/resources/retrieve-related-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-effects" + }, + { + "source": "/api/horizon/resources/retrieve-related-trades", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-trades" + }, + { + "source": "/api/horizon/resources/submit-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-a-transaction" + }, + { + "source": "/api/horizon/resources/submit-async-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-async-transaction" + }, + { + "source": "/api/resources/cb-retrieve-related-operations", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + }, + { + "source": "/api/resources/cb-retrieve-related-transactions", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions" + }, + { + "source": "/api/resources/get-all-offers", + "destination": "/docs/data/apis/horizon/api-reference/get-all-offers" + }, + { + "source": "/api/resources/get-all-trades", + "destination": "/docs/data/apis/horizon/api-reference/get-all-trades" + }, + { + "source": "/api/resources/get-data-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-data-by-account-id" + }, + { + "source": "/api/resources/get-effects-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id" + }, + { + "source": "/api/resources/get-offer-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id" + }, + { + "source": "/api/resources/get-offers-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id" + }, + { + "source": "/api/resources/get-operations-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id" + }, + { + "source": "/api/resources/get-payments-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id" + }, + { + "source": "/api/resources/get-trades-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id" + }, + { + "source": "/api/resources/get-trades-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + }, + { + "source": "/api/resources/get-transactions-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id" + }, + { + "source": "/api/resources/list-all-accounts", + "destination": "/docs/data/apis/horizon/api-reference/list-all-accounts" + }, + { + "source": "/api/resources/list-all-assets", + "destination": "/docs/data/apis/horizon/api-reference/list-all-assets" + }, + { + "source": "/api/resources/list-all-claimable-balances", + "destination": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances" + }, + { + "source": "/api/resources/list-all-effects", + "destination": "/docs/data/apis/horizon/api-reference/list-all-effects" + }, + { + "source": "/api/resources/list-all-ledgers", + "destination": "/docs/data/apis/horizon/api-reference/list-all-ledgers" + }, + { + "source": "/api/resources/list-all-operations", + "destination": "/docs/data/apis/horizon/api-reference/list-all-operations" + }, + { + "source": "/api/resources/list-all-payments", + "destination": "/docs/data/apis/horizon/api-reference/list-all-payments" + }, + { + "source": "/api/resources/list-all-transactions", + "destination": "/docs/data/apis/horizon/api-reference/list-all-transactions" + }, + { + "source": "/api/resources/list-liquidity-pools", + "destination": "/docs/data/apis/horizon/api-reference/list-liquidity-pools" + }, + { + "source": "/api/resources/list-strict-receive-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths" + }, + { + "source": "/api/resources/list-strict-send-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + }, + { + "source": "/api/resources/list-trade-aggregations", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations" + }, + { + "source": "/api/resources/retrieve-a-claimable-balance", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance" + }, + { + "source": "/api/resources/retrieve-a-ledger", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger" + }, + { + "source": "/api/resources/retrieve-a-ledgers-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects" + }, + { + "source": "/api/resources/retrieve-a-ledgers-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations" + }, + { + "source": "/api/resources/retrieve-a-ledgers-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments" + }, + { + "source": "/api/resources/retrieve-a-ledgers-transactions", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions" + }, + { + "source": "/api/resources/retrieve-a-liquidity-pool", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool" + }, + { + "source": "/api/resources/retrieve-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/api/resources/retrieve-a-transactions-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects" + }, + { + "source": "/api/resources/retrieve-a-transactions-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations" + }, + { + "source": "/api/resources/retrieve-a-transactions-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + }, + { + "source": "/api/resources/retrieve-an-account", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-account" + }, + { + "source": "/api/resources/retrieve-an-operation", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operation" + }, + { + "source": "/api/resources/retrieve-an-operations-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects" + }, + { + "source": "/api/resources/retrieve-an-order-book", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book" + }, + { + "source": "/api/resources/retrieve-fee-stats", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats" + }, + { + "source": "/api/resources/retrieve-related-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-effects" + }, + { + "source": "/api/resources/retrieve-related-trades", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-trades" + }, + { + "source": "/api/resources/submit-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-a-transaction" + }, + { + "source": "/api/resources/submit-async-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-async-transaction" + }, + { + "source": "/network/horizon/resources/operations/object/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/:slug*" + }, + { + "source": "/network/resources/operations/object/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/:slug*" + }, + { + "source": "/api/horizon/resources/operations/object/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/:slug*" + }, + { + "source": "/api/resources/operations/object/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/:slug*" + }, + { + "source": "/network/horizon/resources/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/resources/:slug*/object" + }, + { + "source": "/network/horizon/aggregations/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/:slug*/object" + }, + { + "source": "/network/resources/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/resources/:slug*/object" + }, + { + "source": "/network/aggregations/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/:slug*/object" + }, + { + "source": "/api/horizon/resources/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/resources/:slug*/object" + }, + { + "source": "/api/horizon/aggregations/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/:slug*/object" + }, + { + "source": "/api/resources/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/resources/:slug*/object" + }, + { + "source": "/api/aggregations/:slug*/object", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/:slug*/object" + }, + { + "source": "/network/horizon/api-reference/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/network/horizon/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/network/api-reference/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/network/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/api/horizon/api-reference/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/api/horizon/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/api/api-reference/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/api/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/docs/data/horizon/api-reference/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/docs/data/horizon/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/docs/data/api-reference/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/docs/data/aggregations/fee-stats/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats/:slug*" + }, + { + "source": "/network/horizon/api-reference/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/network/horizon/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/network/api-reference/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/network/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/api/horizon/api-reference/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/api/horizon/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/api/api-reference/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/api/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/docs/data/horizon/api-reference/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/docs/data/horizon/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/docs/data/api-reference/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/docs/data/aggregations/order-books/single/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book/:slug*" + }, + { + "source": "/network/horizon/api-reference/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/network/horizon/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/network/api-reference/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/network/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/api/horizon/api-reference/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/api/horizon/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/api/api-reference/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/api/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/docs/data/horizon/api-reference/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/docs/data/horizon/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/docs/data/api-reference/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/docs/data/aggregations/paths/strict-receive/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths/:slug*" + }, + { + "source": "/network/horizon/api-reference/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/network/horizon/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/network/api-reference/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/network/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/api/horizon/api-reference/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/api/horizon/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/api/api-reference/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/api/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/docs/data/horizon/api-reference/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/docs/data/horizon/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/docs/data/api-reference/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/docs/data/aggregations/paths/strict-send/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths/:slug*" + }, + { + "source": "/network/horizon/api-reference/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/network/horizon/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/network/api-reference/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/network/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/api/horizon/api-reference/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/api/horizon/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/api/api-reference/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/api/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/docs/data/horizon/api-reference/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/docs/data/horizon/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/docs/data/api-reference/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/docs/data/aggregations/trade-aggregations/list/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations/:slug*" + }, + { + "source": "/docs/data/horizon/api-reference/resources/cb-retrieve-related-operations", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + }, + { + "source": "/docs/data/horizon/api-reference/resources/cb-retrieve-related-transactions", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-all-offers", + "destination": "/docs/data/apis/horizon/api-reference/get-all-offers" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-all-trades", + "destination": "/docs/data/apis/horizon/api-reference/get-all-trades" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-data-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-data-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-effects-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-offer-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-offers-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-operations-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-payments-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-trades-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-trades-by-offer-id", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/get-transactions-by-account-id", + "destination": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-accounts", + "destination": "/docs/data/apis/horizon/api-reference/list-all-accounts" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-assets", + "destination": "/docs/data/apis/horizon/api-reference/list-all-assets" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-claimable-balances", + "destination": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-effects", + "destination": "/docs/data/apis/horizon/api-reference/list-all-effects" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-ledgers", + "destination": "/docs/data/apis/horizon/api-reference/list-all-ledgers" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-operations", + "destination": "/docs/data/apis/horizon/api-reference/list-all-operations" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-payments", + "destination": "/docs/data/apis/horizon/api-reference/list-all-payments" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-all-transactions", + "destination": "/docs/data/apis/horizon/api-reference/list-all-transactions" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-liquidity-pools", + "destination": "/docs/data/apis/horizon/api-reference/list-liquidity-pools" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-strict-receive-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-strict-send-payment-paths", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + }, + { + "source": "/docs/data/horizon/api-reference/resources/list-trade-aggregations", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-claimable-balance", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-ledger", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-ledgers-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-ledgers-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-ledgers-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-ledgers-transactions", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-liquidity-pool", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-transactions-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-transactions-operations", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-a-transactions-payments", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-an-account", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-account" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-an-operation", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operation" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-an-operations-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-an-order-book", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-fee-stats", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-related-effects", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-effects" + }, + { + "source": "/docs/data/horizon/api-reference/resources/retrieve-related-trades", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-trades" + }, + { + "source": "/docs/data/horizon/api-reference/resources/submit-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-a-transaction" + }, + { + "source": "/docs/data/horizon/api-reference/resources/submit-async-transaction", + "destination": "/docs/data/apis/horizon/api-reference/submit-async-transaction" + }, + { + "source": "/network/horizon/resources/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/resources/:slug*" + }, + { + "source": "/network/horizon/structure/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/structure/:slug*" + }, + { + "source": "/network/horizon/aggregations/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/:slug*" + }, + { + "source": "/network/horizon/errors/:slug*", + "destination": "/docs/data/apis/horizon/api-reference/errors/:slug*" + }, + { + "source": "/network/horizon/:slug*", + "destination": "/docs/data/apis/horizon/:slug*" + }, + { + "source": "/api/horizon/:slug*", + "destination": "/docs/data/apis/horizon/:slug*" + }, + { + "source": "/network/anchor-platform/resources/:slug*", + "destination": "/docs/platforms/anchor-platform/api-reference" + }, + { + "source": "/network/anchor-platform/callbacks/:slug*", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/:slug*" + }, + { + "source": "/network/anchor-platform/custody-server/:slug*", + "destination": "/docs/platforms/anchor-platform/api-reference" + }, + { + "source": "/network/anchor-platform/rpc/:slug*", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/:slug*" + }, + { + "source": "/network/stellar-disbursement-platform/resources/:slug*", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/:slug*" + }, + { + "source": "/network/anchor-platform", + "destination": "/docs/platforms/anchor-platform" + }, + { + "source": "/network/anchor-platform/:slug*", + "destination": "/docs/platforms/anchor-platform/:slug*" + }, + { + "source": "/network/stellar-disbursement-platform", + "destination": "/docs/platforms/stellar-disbursement-platform" + }, + { + "source": "/network/stellar-disbursement-platform/:slug*", + "destination": "/docs/platforms/stellar-disbursement-platform/:slug*" + }, + { + "source": "/api/anchor-platform", + "destination": "/docs/platforms/anchor-platform" + }, + { + "source": "/api/anchor-platform/:slug*", + "destination": "/docs/platforms/anchor-platform/:slug*" + }, + { + "source": "/api/stellar-disbursement-platform", + "destination": "/docs/platforms/stellar-disbursement-platform" + }, + { + "source": "/api/stellar-disbursement-platform/:slug*", + "destination": "/docs/platforms/stellar-disbursement-platform/:slug*" + }, + { + "source": "/network/soroban-rpc/methods/:slug*", + "destination": "/docs/data/apis/rpc/api-reference/methods/:slug*" + }, + { + "source": "/network/soroban-rpc/json-rpc/:slug*", + "destination": "/docs/data/apis/rpc/api-reference/structure/json-rpc" + }, + { + "source": "/network/soroban-rpc/pagination/:slug*", + "destination": "/docs/data/apis/rpc/api-reference/structure/pagination" + }, + { + "source": "/ap_api/:slug*", + "destination": "/docs/platforms/anchor-platform/:slug*" + }, + { + "source": "/docs/category/anchor-platform", + "destination": "/docs/platforms/anchor-platform/admin-guide" + }, + { + "source": "/docs/anchoring-assets/", + "destination": "/docs/learn/fundamentals/anchors" + }, + { + "source": "/docs/anchoring-assets/overview", + "destination": "/docs/learn/fundamentals/anchors" + }, + { + "source": "/docs/anchoring-assets", + "destination": "/docs/learn/fundamentals/anchors" + }, + { + "source": "/docs/anchoring-assets/:slug*", + "destination": "/docs/learn/fundamentals/anchors" + }, + { + "source": "/docs/category/use-the-stellar-disbursement-platform", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide" + }, + { + "source": "/docs/stellar-disbursement-platform/:slug*", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/:slug*" + }, + { + "source": "/docs/run-api-server", + "destination": "/docs/data/apis/horizon/admin-guide/overview" + }, + { + "source": "/docs/run-api-server/:slug*", + "destination": "/docs/data/apis/horizon/admin-guide/:slug*" + }, + { + "source": "/docs/run-platform-server", + "destination": "/docs/data/apis/horizon/admin-guide/overview" + }, + { + "source": "/docs/run-platform-server/:slug*", + "destination": "/docs/data/apis/horizon/admin-guide/:slug*" + }, + { + "source": "/docs/run-core-node", + "destination": "/docs/validators" + }, + { + "source": "/docs/run-core-node/tier-1-orgs", + "destination": "/docs/validators/tier-1-orgs" + }, + { + "source": "/network/core-node/admin-guide/tier-1-orgs", + "destination": "/docs/validators/tier-1-orgs" + }, + { + "source": "/docs/run-core-node/:slug*", + "destination": "/docs/validators/admin-guide/:slug*" + }, + { + "source": "/docs/category/accessing-historical-data", + "destination": "/docs/data/analytics/hubble" + }, + { + "source": "/docs/category/access-historical-data", + "destination": "/docs/data/analytics/hubble" + }, + { + "source": "/docs/accessing-data/overview", + "destination": "/docs/data/analytics/hubble" + }, + { + "source": "/docs/accessing-data/:slug*", + "destination": "/docs/data/analytics/hubble/:slug*" + }, + { + "source": "/docs/fundamentals-and-concepts/:slug*", + "destination": "/docs/learn/fundamentals" + }, + { + "source": "/docs/category/encyclopedia", + "destination": "/docs/learn/fundamentals" + }, + { + "source": "/docs/encyclopedia/:slug*", + "destination": "/docs/learn/encyclopedia/:slug*" + }, + { + "source": "/docs/glossary/:slug*", + "destination": "/docs/learn/glossary/:slug*" + }, + { + "source": "/docs/learn", + "destination": "/docs/learn/fundamentals" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/retrieve-a-transaction", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/platforms/anchor-platform/api-reference/resources/get-transaction", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transaction" + }, + { + "source": "/docs/learn/smart-contract-internals/fees-and-metering", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/learn/migrate/introduction-to-solidity-and-rust", + "destination": "/docs/learn/migrate/evm/introduction-to-solidity-and-rust" + }, + { + "source": "/docs/learn/smart-contract-internals/state-expiration", + "destination": "/docs/learn/fundamentals/contract-development/storage/state-archival" + }, + { + "source": "/platforms/soroban-rpc/methods/:slug*", + "destination": "/docs/data/apis/rpc/api-reference/methods/:slug*" + }, + { + "source": "/network/soroban-rpc/getEvents", + "destination": "/docs/data/apis/rpc/api-reference/methods/getEvents" + }, + { + "source": "/docs/smart-contracts/example-contracts/stellar-asset-contract", + "destination": "/docs/tokens/stellar-asset-contract" + }, + { + "source": "/docs/smart-contracts/faq", + "destination": "/docs/build/smart-contracts/overview#soroban-faqs" + }, + { + "source": "/docs/learn/smart-contract-internals/faq", + "destination": "/docs/build/smart-contracts/overview#soroban-faqs" + }, + { + "source": "/docs/learn/smart-contract-internals/high-level-overview/:slug*", + "destination": "/docs/learn/fundamentals/contract-development" + }, + { + "source": "/docs/smart-contracts/tokens/token-interface.mdx", + "destination": "/docs/tokens/token-interface" + }, + { + "source": "/network/anchor-platform/anchor", + "destination": "/docs/platforms/anchor-platform" + }, + { + "source": "/docs/examples/auth", + "destination": "/docs/build/smart-contracts/example-contracts/auth" + }, + { + "source": "/docs/reference", + "destination": "/docs/networks" + }, + { + "source": "/docs/reference/futurenet", + "destination": "/docs/networks" + }, + { + "source": "/docs/reference/:slug*", + "destination": "/docs/networks/:slug*" + }, + { + "source": "/docs/SDKs/rust-auth", + "destination": "/docs/tools/sdks#soroban-rust-sdk" + }, + { + "source": "/docs/category/cross-border-payments", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep31" + }, + { + "source": "/docs/category/hosted-deposits-and-withdrawals", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24" + }, + { + "source": "/docs/category/programmatic-deposits-and-withdrawals", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep6" + }, + { + "source": "/docs/category/stellar-authentication", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep10" + }, + { + "source": "/docs/category/web-authentication-for-contracts", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep45" + }, + { + "source": "/platforms/anchor-platform/admin-guide/sep1/:slug*", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep1/:slug*" + }, + { + "source": "/platforms/anchor-platform/admin-guide/sep6/:slug*", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep6/:slug*" + }, + { + "source": "/platforms/anchor-platform/admin-guide/sep10/:slug*", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep10/:slug*" + }, + { + "source": "/platforms/anchor-platform/admin-guide/sep24/:slug*", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/:slug*" + }, + { + "source": "/platforms/anchor-platform/admin-guide/sep31/:slug*", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep31/:slug*" + }, + { + "source": "/platforms/anchor-platform/admin-guide/sep45/:slug*", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep45/:slug*" + }, + { + "source": "/dapps", + "destination": "/docs/learn/interactive" + }, + { + "source": "/docs/learn/interactive/dapps", + "destination": "/docs/learn/interactive" + }, + { + "source": "/docs/learn/networks", + "destination": "/docs/networks" + }, + { + "source": "/docs/learn/fundamentals/networks", + "destination": "/docs/networks" + }, + { + "source": "/meeting-notes/2024-01-18", + "destination": "/meetings/2024/01/18" + }, + { + "source": "/meeting-notes/2024-01-26", + "destination": "/meetings/2024/01/26" + }, + { + "source": "/meeting-notes/2024-02-01", + "destination": "/meetings/2024/02/01" + }, + { + "source": "/meeting-notes/2024-02-08", + "destination": "/meetings/2024/02/08" + }, + { + "source": "/meeting-notes/2024-02-15", + "destination": "/meetings/2024/02/15" + }, + { + "source": "/meeting-notes/2024-02-22", + "destination": "/meetings/2024/02/22" + }, + { + "source": "/meeting-notes/2024-02-29", + "destination": "/meetings/2024/02/29" + }, + { + "source": "/meeting-notes/2024-03-07", + "destination": "/meetings/2024/03/07" + }, + { + "source": "/meeting-notes/2024-03-14", + "destination": "/meetings/2024/03/14" + }, + { + "source": "/meeting-notes/2024-03-21", + "destination": "/meetings/2024/03/21" + }, + { + "source": "/meeting-notes/2024-03-28", + "destination": "/meetings/2024/03/28" + }, + { + "source": "/meeting-notes/2024-04-04", + "destination": "/meetings/2024/04/04" + }, + { + "source": "/meeting-notes/2024-04-11", + "destination": "/meetings/2024/04/11" + }, + { + "source": "/meeting-notes/2024-04-18", + "destination": "/meetings/2024/04/18" + }, + { + "source": "/meeting-notes/2024-04-25", + "destination": "/meetings/2024/04/25" + }, + { + "source": "/meeting-notes/2024-05-02", + "destination": "/meetings/2024/05/02" + }, + { + "source": "/meeting-notes/2024-05-09", + "destination": "/meetings/2024/05/09" + }, + { + "source": "/meeting-notes/2024-06-13", + "destination": "/meetings/2024/06/13" + }, + { + "source": "/meeting-notes/2024-06-20", + "destination": "/meetings/2024/06/20" + }, + { + "source": "/meeting-notes/2024-06-27", + "destination": "/meetings/2024/06/27" + }, + { + "source": "/meeting-notes/2024-07-11", + "destination": "/meetings/2024/07/11" + }, + { + "source": "/meeting-notes/2024-07-18", + "destination": "/meetings/2024/07/18" + }, + { + "source": "/meeting-notes/2024-07-25", + "destination": "/meetings/2024/07/25" + }, + { + "source": "/meeting-notes/2024-08-01", + "destination": "/meetings/2024/08/01" + }, + { + "source": "/meeting-notes/2024-08-08", + "destination": "/meetings/2024/08/08" + }, + { + "source": "/meeting-notes/2024-08-15", + "destination": "/meetings/2024/08/15" + }, + { + "source": "/meeting-notes/2024-08-22", + "destination": "/meetings/2024/08/22" + }, + { + "source": "/meeting-notes/2024-08-29", + "destination": "/meetings/2024/08/29" + }, + { + "source": "/meeting-notes/2024-09-05", + "destination": "/meetings/2024/09/05" + }, + { + "source": "/meeting-notes/2024-09-12", + "destination": "/meetings/2024/09/12" + }, + { + "source": "/meeting-notes/2024-09-19", + "destination": "/meetings/2024/09/19" + }, + { + "source": "/meeting-notes/2024-09-26", + "destination": "/meetings/2024/09/26" + }, + { + "source": "/meeting-notes/2024-10-24", + "destination": "/meetings/2024/10/24" + }, + { + "source": "/meeting-notes/2024-11-14", + "destination": "/meetings/2024/11/14" + }, + { + "source": "/meeting-notes/2024-12-05", + "destination": "/meetings/2024/12/05" + }, + { + "source": "/meeting-notes/2024-12-12", + "destination": "/meetings/2024/12/12" + }, + { + "source": "/meeting-notes/2024-12-19", + "destination": "/meetings/2024/12/19" + }, + { + "source": "/meeting-notes/2025-01-16", + "destination": "/meetings/2025/01/16" + }, + { + "source": "/meeting-notes/2025-01-23", + "destination": "/meetings/2025/01/23" + }, + { + "source": "/meeting-notes/2025-01-30", + "destination": "/meetings/2025/01/30" + }, + { + "source": "/meeting-notes/2025-02-06", + "destination": "/meetings/2025/02/06" + }, + { + "source": "/meeting-notes/2025-02-13", + "destination": "/meetings/2025/02/13" + }, + { + "source": "/meeting-notes/2025-02-20", + "destination": "/meetings/2025/02/20" + }, + { + "source": "/meeting-notes/2025-02-27", + "destination": "/meetings/2025/02/27" + }, + { + "source": "/meeting-notes/2025-03-06", + "destination": "/meetings/2025/03/06" + }, + { + "source": "/meeting-notes/2025-03-27", + "destination": "/meetings/2025/03/27" + }, + { + "source": "/meeting-notes/2025-04-03", + "destination": "/meetings/2025/04/03" + }, + { + "source": "/meeting-notes/2025-04-10", + "destination": "/meetings/2025/04/10" + }, + { + "source": "/meeting-notes/2025-04-17", + "destination": "/meetings/2025/04/17" + }, + { + "source": "/meeting-notes/2025-05-01", + "destination": "/meetings/2025/05/01" + }, + { + "source": "/meeting-notes/2025-05-22", + "destination": "/meetings/2025/05/22" + }, + { + "source": "/meeting-notes/2025-07-10", + "destination": "/meetings/2025/07/10" + }, + { + "source": "/meeting-notes/2025-07-17", + "destination": "/meetings/2025/07/17" + }, + { + "source": "/meeting-notes/2025-07-24", + "destination": "/meetings/2025/07/24" + }, + { + "source": "/meeting-notes/2025-08-07", + "destination": "/meetings/2025/08/07" + }, + { + "source": "/meeting-notes/2025-09-25", + "destination": "/meetings/2025/09/25" + }, + { + "source": "/meeting-notes/2025-10-02", + "destination": "/meetings/2025/10/02" + }, + { + "source": "/meeting-notes/2025-10-09", + "destination": "/meetings/2025/10/09" + }, + { + "source": "/meeting-notes/2025-10-16", + "destination": "/meetings/2025/10/16" + }, + { + "source": "/meeting-notes/2025-10-23", + "destination": "/meetings/2025/10/23" + }, + { + "source": "/meeting-notes/2025-10-30", + "destination": "/meetings/2025/10/30" + }, + { + "source": "/meeting-notes/2025-11-06", + "destination": "/meetings/2025/11/06" + }, + { + "source": "/meeting-notes/2026-01-22", + "destination": "/meetings/2026/01/22" + }, + { + "source": "/meeting-notes/2026-01-29", + "destination": "/meetings/2026/01/29" + }, + { + "source": "/meeting-notes/2026-02-26", + "destination": "/meetings/2026/02/26" + }, + { + "source": "/meeting-notes/2026-04-16", + "destination": "/meetings/2026/04/16" + }, + { + "source": "/meeting-notes/2026-04-23", + "destination": "/meetings/2026/04/23" + }, + { + "source": "/meeting-notes/2026-04-30", + "destination": "/meetings/2026/04/30" + }, + { + "source": "/meeting-notes/2026-05-07", + "destination": "/meetings/2026/05/07" + }, + { + "source": "/meeting-notes/2026-05-14", + "destination": "/meetings/2026/05/14" + }, + { + "source": "/meeting-notes/2026-05-21", + "destination": "/meetings/2026/05/21" + }, + { + "source": "/meeting-notes/2026-06-11", + "destination": "/meetings/2026/06/11" + }, + { + "source": "/meeting-notes/2026-06-18", + "destination": "/meetings/2026/06/18" + }, + { + "source": "/meeting-notes/2026-06-25", + "destination": "/meetings/2026/06/25" + }, + { + "source": "/meeting-notes/2026-07-02", + "destination": "/meetings/2026/07/02" + }, + { + "source": "/meeting-notes/2026-07-16", + "destination": "/meetings/2026/07/16" + }, + { + "source": "/meeting-notes/2026-07-23", + "destination": "/meetings/2026/07/23" + }, + { + "source": "/meeting-notes/2026-07-30", + "destination": "/meetings/2026/07/30" + }, + { + "source": "/meeting-notes/2026-08-06", + "destination": "/meetings/2026/08/06" + }, + { + "source": "/meeting-notes/2026-08-13", + "destination": "/meetings/2026/08/13" + }, + { + "source": "/meeting-notes/:slug*", + "destination": "/meetings/:slug*" + }, + { + "source": "/docs/category/build-a-wallet", + "destination": "/docs/build/apps/wallet" + }, + { + "source": "/docs/category/build-a-wallet-with-the-wallet-sdk", + "destination": "/docs/build/apps/wallet" + }, + { + "source": "/docs/category/build-a-payment-app-with-the-js-sdk", + "destination": "/docs/build/apps/example-application-tutorial" + }, + { + "source": "/docs/category/anchor-integration", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration" + }, + { + "source": "/docs/category/build-custom-network-ingestion-pipeline", + "destination": "/docs/build/apps/ingest-sdk" + }, + { + "source": "/docs/learn/smart-contract-internals/authorization/:slug*", + "destination": "/docs/learn/fundamentals/contract-development/authorization/:slug*" + }, + { + "source": "/docs/learn/smart-contract-internals/types/built-in-types", + "destination": "/docs/learn/fundamentals/contract-development/types/built-in-types" + }, + { + "source": "/docs/learn/smart-contract-internals/types/custom-types", + "destination": "/docs/learn/fundamentals/contract-development/types/custom-types" + }, + { + "source": "/docs/learn/smart-contract-internals/types/fully-typed-contracts", + "destination": "/docs/learn/fundamentals/contract-development/types/fully-typed-contracts" + }, + { + "source": "/docs/learn/smart-contract-internals/contract-lifecycle", + "destination": "/docs/learn/fundamentals/contract-development/contract-lifecycle" + }, + { + "source": "/docs/learn/smart-contract-internals/rust-dialect", + "destination": "/docs/learn/fundamentals/contract-development/rust-dialect" + }, + { + "source": "/docs/learn/smart-contract-internals/debugging", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging" + }, + { + "source": "/docs/learn/smart-contract-internals/debugging-errors", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors" + }, + { + "source": "/docs/learn/smart-contract-internals/environment-concepts", + "destination": "/docs/learn/fundamentals/contract-development/environment-concepts" + }, + { + "source": "/docs/learn/smart-contract-internals/errors", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/errors" + }, + { + "source": "/docs/learn/smart-contract-internals/events", + "destination": "/docs/learn/fundamentals/stellar-data-structures/events" + }, + { + "source": "/docs/learn/smart-contract-internals/contract-interactions/overview", + "destination": "/docs/learn/fundamentals/contract-development/overview" + }, + { + "source": "/docs/learn/smart-contract-internals/contract-interactions/cross-contract", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/cross-contract" + }, + { + "source": "/docs/learn/smart-contract-internals/contract-interactions/tests", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/tests" + }, + { + "source": "/docs/learn/smart-contract-internals/contract-interactions/stellar-transaction", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/stellar-transaction" + }, + { + "source": "/docs/learn/smart-contract-internals/contract-interactions/transaction-simulation", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/transaction-simulation" + }, + { + "source": "/docs/learn/smart-contract-internals/persisting-data", + "destination": "/docs/learn/fundamentals/contract-development/storage/persisting-data" + }, + { + "source": "/docs/learn/smart-contract-internals/state-archival", + "destination": "/docs/learn/fundamentals/contract-development/storage/state-archival" + }, + { + "source": "/docs/learn/encyclopedia/anchors", + "destination": "/docs/learn/fundamentals/anchors" + }, + { + "source": "/docs/learn/encyclopedia/channel-accounts", + "destination": "/docs/build/guides/transactions/channel-accounts" + }, + { + "source": "/docs/learn/encyclopedia/claimable-balances", + "destination": "/docs/build/guides/transactions/claimable-balances" + }, + { + "source": "/docs/learn/encyclopedia/clawbacks", + "destination": "/docs/build/guides/transactions/clawbacks" + }, + { + "source": "/docs/learn/encyclopedia/federation", + "destination": "/docs/learn/glossary#federation" + }, + { + "source": "/docs/learn/encyclopedia/fee-bump-transactions", + "destination": "/docs/build/guides/transactions/fee-bump-transactions" + }, + { + "source": "/docs/learn/encyclopedia/contract-development/fees-and-metering", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/learn/encyclopedia/inflation", + "destination": "/docs/learn/glossary#inflation" + }, + { + "source": "/docs/learn/encyclopedia/ledger-headers", + "destination": "/docs/learn/fundamentals/stellar-data-structures/ledgers#ledger-headers" + }, + { + "source": "/docs/learn/encyclopedia/liquidity-on-stellar-sdex-liquidity-pools", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" + }, + { + "source": "/docs/learn/encyclopedia/sdex", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" + }, + { + "source": "/docs/learn/encyclopedia/sdex/liquidity-on-stellar-sdex-liquidity-pools", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" + }, + { + "source": "/docs/learn/encyclopedia/lumen-supply-metrics", + "destination": "/docs/learn/fundamentals/lumens#lumen-supply-metrics" + }, + { + "source": "/docs/learn/encyclopedia/memos", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions#memo" + }, + { + "source": "/docs/learn/encyclopedia/network-passphrases", + "destination": "/docs/learn/glossary#passphrase" + }, + { + "source": "/docs/learn/encyclopedia/path-payments", + "destination": "/docs/build/guides/transactions/path-payments" + }, + { + "source": "/docs/learn/encyclopedia/pooled-accounts-muxed-accounts-memos", + "destination": "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos" + }, + { + "source": "/docs/learn/encyclopedia/securing-web-based-projects", + "destination": "/docs/build/security-docs/securing-web-based-projects" + }, + { + "source": "/docs/learn/encyclopedia/signatures-multisig", + "destination": "/docs/learn/fundamentals/transactions/signatures-multisig" + }, + { + "source": "/docs/learn/encyclopedia/sponsored-reserves", + "destination": "/docs/build/guides/transactions/sponsored-reserves" + }, + { + "source": "/docs/learn/encyclopedia/xdr", + "destination": "/docs/learn/fundamentals/data-format/xdr" + }, + { + "source": "/network/core-node/:slug*", + "destination": "/docs/validators/:slug*" + }, + { + "source": "/network/hubble/connecting/:slug*", + "destination": "/docs/data/analytics/hubble/analyst-guide/connecting/:slug*" + }, + { + "source": "/network/hubble/optimizing-queries/:slug*", + "destination": "/docs/data/analytics/hubble/analyst-guide/optimizing-queries/:slug*" + }, + { + "source": "/network/hubble/viewing-metadata/:slug*", + "destination": "/docs/data/analytics/hubble/analyst-guide/viewing-metadata/:slug*" + }, + { + "source": "/network/hubble/:slug*", + "destination": "/docs/data/analytics/hubble/:slug*" + }, + { + "source": "/network/soroban-rpc/:slug*", + "destination": "/docs/data/apis/rpc/:slug*" + }, + { + "source": "/docs/category/issue-assets", + "destination": "/docs/tokens" + }, + { + "source": "/docs/issuing-assets/:slug*", + "destination": "/docs/tokens/:slug*" + }, + { + "source": "/docs/smart-contracts/tokens/wayfinding/:slug*", + "destination": "/docs/tokens/:slug*" + }, + { + "source": "/docs/smart-contracts/tokens/:slug*", + "destination": "/docs/tokens/:slug*" + }, + { + "source": "/docs/category/basic-tutorials", + "destination": "/docs/build/guides/basics" + }, + { + "source": "/docs/tutorials/:slug*", + "destination": "/docs/build/guides/basics/:slug*" + }, + { + "source": "/docs/category/build-applications", + "destination": "/docs/build/apps" + }, + { + "source": "/docs/building-apps/:slug*", + "destination": "/docs/build/apps/:slug*" + }, + { + "source": "/docs/smart-contracts", + "destination": "/docs/build/smart-contracts/overview" + }, + { + "source": "/docs/smart-contracts/guides/:slug*", + "destination": "/docs/build/guides/:slug*" + }, + { + "source": "/docs/smart-contracts/smart-wallets/:slug*", + "destination": "/docs/build/guides/contract-accounts/:slug*" + }, + { + "source": "/docs/build/apps/smart-wallets/:slug*", + "destination": "/docs/build/guides/contract-accounts/:slug*" + }, + { + "source": "/docs/smart-contracts/getting-started/create-an-app/:slug*", + "destination": "/docs/build/apps/dapp-frontend/:slug*" + }, + { + "source": "/docs/smart-contracts/:slug*", + "destination": "/docs/build/smart-contracts/:slug*" + }, + { + "source": "/docs/build/guides/basics/follow-received-payments/:slug*", + "destination": "/docs/build/guides/transactions/send-and-receive-payments/:slug*" + }, + { + "source": "/docs/build/guides/transactions/install-wasm-bytecode/:slug*", + "destination": "/docs/build/guides/transactions/upload-wasm-bytecode/:slug*" + }, + { + "source": "/docs/build/guides/testing/detecting-changes-with-test-snapshots/:slug*", + "destination": "/docs/build/guides/testing/differential-tests-with-test-snapshots/:slug*" + }, + { + "source": "/docs/build/guides/testing/integration-tests-with-mainnet-data/:slug*", + "destination": "/docs/build/guides/testing/fork-testing/:slug*" + }, + { + "source": "/docs/data/hubble/admin-guide/:slug*", + "destination": "/docs/data/analytics/hubble/developer-guide/:slug*" + }, + { + "source": "/docs/data/hubble/analytics-platforms/:slug*", + "destination": "/docs/data/analytics/analytics-providers" + }, + { + "source": "/docs/data/hubble/:slug*", + "destination": "/docs/data/analytics/hubble/:slug*" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/accounts", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/accounts" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/claimable-balances", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/claimable-balances" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/contract-code", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-code" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/contract-data", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-data" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/liquidity-pools", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/liquidity-pools" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/offers", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/offers" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/trustlines", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/trustlines" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/ttl", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/ttl" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-assets", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-assets" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-contract-events", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-contract-events" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-effects", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-effects" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-ledgers", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-ledgers" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-operations", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-operations" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-trades", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-trades" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/history-transactions", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-transactions" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/enriched-history-operations", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations" + }, + { + "source": "/docs/data/rpc/:slug*", + "destination": "/docs/data/apis/rpc/:slug*" + }, + { + "source": "/docs/data/apis/rpc/rpc-providers/:slug*", + "destination": "/docs/data/apis/rpc/providers/:slug*" + }, + { + "source": "/docs/data/apis/api-providers/:slug*", + "destination": "/docs/data/apis/rpc/providers/:slug*" + }, + { + "source": "/docs/data/horizon/:slug*", + "destination": "/docs/data/apis/horizon/:slug*" + }, + { + "source": "/docs/data/migrate-from-horizon-to-rpc/:slug*", + "destination": "/docs/data/apis/migrate-from-horizon-to-rpc/:slug*" + }, + { + "source": "/docs/data/apis/horizon/horizon-providers/:slug*", + "destination": "/docs/data/apis/horizon/providers/:slug*" + }, + { + "source": "/docs/data/galexie/:slug*", + "destination": "/docs/data/indexers/build-your-own/galexie/:slug*" + }, + { + "source": "/docs/data/data-indexers/:slug*", + "destination": "/docs/data/indexers/:slug*" + }, + { + "source": "/docs/tools/developer-tools/cli/:slug*", + "destination": "/docs/tools/cli/:slug*" + }, + { + "source": "/docs/tools/developer-tools/lab/:slug*", + "destination": "/docs/tools/lab/:slug*" + }, + { + "source": "/docs/tools/developer-tools/quickstart/:slug*", + "destination": "/docs/tools/quickstart/:slug*" + }, + { + "source": "/docs/tools/developer-tools/openzepplin-contracts/:slug*", + "destination": "/docs/tools/openzeppelin-contracts" + }, + { + "source": "/docs/tools/cli/cookbook/install-deploy/:slug*", + "destination": "/docs/tools/cli/cookbook/upload-deploy/:slug*" + }, + { + "source": "/docs/tools/cli/cookbook/install-wasm/:slug*", + "destination": "/docs/tools/cli/cookbook/upload-wasm/:slug*" + }, + { + "source": "/docs/build/guides/cli/install-deploy/:slug*", + "destination": "/docs/tools/cli/cookbook/upload-deploy/:slug*" + }, + { + "source": "/docs/build/guides/cli/install-wasm/:slug*", + "destination": "/docs/tools/cli/cookbook/upload-wasm/:slug*" + }, + { + "source": "/docs/build/guides/cli/:slug*", + "destination": "/docs/tools/cli/cookbook/:slug*" + }, + { + "source": "/docs/build/apps/moneygram-access-integration-guide", + "destination": "https://developer.moneygram.com/moneygram-developer/docs/integrate-moneygram-ramps" + }, + { + "source": "/docs/learn/encyclopedia/data-format", + "destination": "/docs/learn/fundamentals/data-format" + }, + { + "source": "/docs/learn/encyclopedia/data-format/xdr", + "destination": "/docs/learn/fundamentals/data-format/xdr" + }, + { + "source": "/docs/learn/encyclopedia/data-format/xdr-json", + "destination": "/docs/learn/fundamentals/data-format/xdr-json" + }, + { + "source": "/platforms/stellar-disbursement-platform/admin-guide/anchor-platform-integration-points", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide" + }, + { + "source": "/platforms/stellar-disbursement-platform/admin-guide/single-tenant-to-multi-tenant-migration", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide" + }, + { + "source": "/platforms/stellar-disbursement-platform/admin-guide/tenant-provisioning", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/advanced-configuration#provisioning-tenants" + }, + { + "source": "/platforms/stellar-disbursement-platform/admin-guide/secure-operation-manual", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/security" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/wallets", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/distribution-accounts" + }, + { + "source": "/platforms/:slug*", + "destination": "/docs/platforms/:slug*" + }, + { + "source": "/docs/learn/encyclopedia/errors-and-debugging/:slug*", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/:slug*" + }, + { + "source": "/docs/learn/encyclopedia/security/authorization/:slug*", + "destination": "/docs/learn/fundamentals/contract-development/authorization/:slug*" + }, + { + "source": "/docs/learn/encyclopedia/storage/:slug*", + "destination": "/docs/learn/fundamentals/contract-development/storage/:slug*" + }, + { + "source": "/docs/learn/encyclopedia/contract-development/:slug*", + "destination": "/docs/learn/fundamentals/contract-development/:slug*" + }, + { + "source": "/docs/learn/encyclopedia/security/signatures-multisig", + "destination": "/docs/learn/fundamentals/transactions/signatures-multisig" + }, + { + "source": "/docs/learn/encyclopedia/security/securing-web-based-projects", + "destination": "/docs/build/security-docs/securing-web-based-projects" + }, + { + "source": "/docs/learn/encyclopedia/security", + "destination": "/docs/learn/fundamentals/transactions/signatures-multisig" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/channel-accounts", + "destination": "/docs/build/guides/transactions/channel-accounts" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/claimable-balances", + "destination": "/docs/build/guides/transactions/claimable-balances" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/clawbacks", + "destination": "/docs/build/guides/transactions/clawbacks" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/fee-bump-transactions", + "destination": "/docs/build/guides/transactions/fee-bump-transactions" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/memos", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions#memo" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/path-payments", + "destination": "/docs/build/guides/transactions/path-payments" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/pooled-accounts-muxed-accounts-memos", + "destination": "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves", + "destination": "/docs/build/guides/transactions/sponsored-reserves" + }, + { + "source": "/docs/learn/encyclopedia/transactions-specialized", + "destination": "/docs/build/guides/transactions" + }, + { + "source": "/docs/build/guides/basics/create-account", + "destination": "/docs/build/guides/transactions/create-account" + }, + { + "source": "/docs/build/guides/basics/send-and-receive-payments", + "destination": "/docs/build/guides/transactions/send-and-receive-payments" + }, + { + "source": "/docs/learn/fundamentals/contract-development/events", + "destination": "/docs/learn/fundamentals/stellar-data-structures/events" + }, + { + "source": "/docs/learn/encyclopedia", + "destination": "/docs/learn/fundamentals" + }, + { + "source": "/docs/build/apps/x402/:slug*", + "destination": "/docs/build/agentic-payments/x402/:slug*" + }, + { + "source": "/docs/tools/developer-tools/building-with-ai/:slug*", + "destination": "/docs/build/building-with-ai/:slug*" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/fungible-token", + "destination": "/docs/build/smart-contracts/example-contracts/tokens" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/non-fungible-token", + "destination": "/docs/build/smart-contracts/example-contracts/tokens" + }, + { + "source": "/api/:slug*", + "destination": "/docs/data/apis/horizon/:slug*" + }, + { + "source": "/docs/build/agentic-payments/index.html", + "destination": "/docs/build/agentic-payments/index" + }, + { + "source": "/docs/build/agentic-payments/mpp/channel-guide.html", + "destination": "/docs/build/agentic-payments/mpp/channel-guide" + }, + { + "source": "/docs/build/agentic-payments/mpp/charge-guide.html", + "destination": "/docs/build/agentic-payments/mpp/charge-guide" + }, + { + "source": "/docs/build/agentic-payments/mpp/index.html", + "destination": "/docs/build/agentic-payments/mpp/index" + }, + { + "source": "/docs/build/agentic-payments/x402/built-on-stellar.html", + "destination": "/docs/build/agentic-payments/x402/built-on-stellar" + }, + { + "source": "/docs/build/agentic-payments/x402/index.html", + "destination": "/docs/build/agentic-payments/x402/index" + }, + { + "source": "/docs/build/agentic-payments/x402/quickstart-guide.html", + "destination": "/docs/build/agentic-payments/x402/quickstart-guide" + }, + { + "source": "/docs/build/apps/application-design-considerations.html", + "destination": "/docs/build/apps/application-design-considerations" + }, + { + "source": "/docs/build/apps/dapp-frontend.html", + "destination": "/docs/build/apps/dapp-frontend" + }, + { + "source": "/docs/build/apps/example-application-tutorial/account-creation.html", + "destination": "/docs/build/apps/example-application-tutorial/account-creation" + }, + { + "source": "/docs/build/apps/example-application-tutorial/anchor-integration/index.html", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration/index" + }, + { + "source": "/docs/build/apps/example-application-tutorial/anchor-integration/sep1.html", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration/sep1" + }, + { + "source": "/docs/build/apps/example-application-tutorial/anchor-integration/sep10.html", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration/sep10" + }, + { + "source": "/docs/build/apps/example-application-tutorial/anchor-integration/sep24.html", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration/sep24" + }, + { + "source": "/docs/build/apps/example-application-tutorial/anchor-integration/sep6.html", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration/sep6" + }, + { + "source": "/docs/build/apps/example-application-tutorial/anchor-integration/setup.html", + "destination": "/docs/build/apps/example-application-tutorial/anchor-integration/setup" + }, + { + "source": "/docs/build/apps/example-application-tutorial/confirmation-modal.html", + "destination": "/docs/build/apps/example-application-tutorial/confirmation-modal" + }, + { + "source": "/docs/build/apps/example-application-tutorial/contacts-list.html", + "destination": "/docs/build/apps/example-application-tutorial/contacts-list" + }, + { + "source": "/docs/build/apps/example-application-tutorial/index.html", + "destination": "/docs/build/apps/example-application-tutorial/index" + }, + { + "source": "/docs/build/apps/example-application-tutorial/manage-trust.html", + "destination": "/docs/build/apps/example-application-tutorial/manage-trust" + }, + { + "source": "/docs/build/apps/example-application-tutorial/overview.html", + "destination": "/docs/build/apps/example-application-tutorial/overview" + }, + { + "source": "/docs/build/apps/example-application-tutorial/path-payment.html", + "destination": "/docs/build/apps/example-application-tutorial/path-payment" + }, + { + "source": "/docs/build/apps/example-application-tutorial/payment.html", + "destination": "/docs/build/apps/example-application-tutorial/payment" + }, + { + "source": "/docs/build/apps/example-application-tutorial/querying-data.html", + "destination": "/docs/build/apps/example-application-tutorial/querying-data" + }, + { + "source": "/docs/build/apps/guestbook/bindings.html", + "destination": "/docs/build/apps/guestbook/bindings" + }, + { + "source": "/docs/build/apps/guestbook/frontend.html", + "destination": "/docs/build/apps/guestbook/frontend" + }, + { + "source": "/docs/build/apps/guestbook/index.html", + "destination": "/docs/build/apps/guestbook/index" + }, + { + "source": "/docs/build/apps/guestbook/overview.html", + "destination": "/docs/build/apps/guestbook/overview" + }, + { + "source": "/docs/build/apps/guestbook/passkeys-prerequisites.html", + "destination": "/docs/build/apps/guestbook/passkeys-prerequisites" + }, + { + "source": "/docs/build/apps/guestbook/setup-passkeys.html", + "destination": "/docs/build/apps/guestbook/setup-passkeys" + }, + { + "source": "/docs/build/apps/guestbook/smart-contract.html", + "destination": "/docs/build/apps/guestbook/smart-contract" + }, + { + "source": "/docs/build/apps/index.html", + "destination": "/docs/build/apps/index" + }, + { + "source": "/docs/build/apps/ingest-sdk/index.html", + "destination": "/docs/build/apps/ingest-sdk/index" + }, + { + "source": "/docs/build/apps/ingest-sdk/ingestion-pipeline-code.html", + "destination": "/docs/build/apps/ingest-sdk/ingestion-pipeline-code" + }, + { + "source": "/docs/build/apps/ingest-sdk/overview.html", + "destination": "/docs/build/apps/ingest-sdk/overview" + }, + { + "source": "/docs/build/apps/overview.html", + "destination": "/docs/build/apps/overview" + }, + { + "source": "/docs/build/apps/privacy.html", + "destination": "/docs/build/apps/privacy" + }, + { + "source": "/docs/build/apps/swift-payment-app.html", + "destination": "/docs/build/apps/swift-payment-app" + }, + { + "source": "/docs/build/apps/wallet/index.html", + "destination": "/docs/build/apps/wallet/index" + }, + { + "source": "/docs/build/apps/wallet/intro.html", + "destination": "/docs/build/apps/wallet/intro" + }, + { + "source": "/docs/build/apps/wallet/overview.html", + "destination": "/docs/build/apps/wallet/overview" + }, + { + "source": "/docs/build/apps/wallet/sep10.html", + "destination": "/docs/build/apps/wallet/sep10" + }, + { + "source": "/docs/build/apps/wallet/sep24.html", + "destination": "/docs/build/apps/wallet/sep24" + }, + { + "source": "/docs/build/apps/wallet/sep30.html", + "destination": "/docs/build/apps/wallet/sep30" + }, + { + "source": "/docs/build/apps/wallet/sep38.html", + "destination": "/docs/build/apps/wallet/sep38" + }, + { + "source": "/docs/build/apps/wallet/sep6.html", + "destination": "/docs/build/apps/wallet/sep6" + }, + { + "source": "/docs/build/apps/wallet/sep7.html", + "destination": "/docs/build/apps/wallet/sep7" + }, + { + "source": "/docs/build/apps/wallet/stellar.html", + "destination": "/docs/build/apps/wallet/stellar" + }, + { + "source": "/docs/build/apps/zk.html", + "destination": "/docs/build/apps/zk" + }, + { + "source": "/docs/build/building-with-ai.html", + "destination": "/docs/build/building-with-ai" + }, + { + "source": "/docs/build/guides/archival/create-restoration-footprint-js.html", + "destination": "/docs/build/guides/archival/create-restoration-footprint-js" + }, + { + "source": "/docs/build/guides/archival/extend-persistent-entry-js.html", + "destination": "/docs/build/guides/archival/extend-persistent-entry-js" + }, + { + "source": "/docs/build/guides/archival/index.html", + "destination": "/docs/build/guides/archival/index" + }, + { + "source": "/docs/build/guides/archival/restore-contract-js.html", + "destination": "/docs/build/guides/archival/restore-contract-js" + }, + { + "source": "/docs/build/guides/archival/restore-data-js.html", + "destination": "/docs/build/guides/archival/restore-data-js" + }, + { + "source": "/docs/build/guides/archival/test-ttl-extension.html", + "destination": "/docs/build/guides/archival/test-ttl-extension" + }, + { + "source": "/docs/build/guides/auth/check-auth-tutorials.html", + "destination": "/docs/build/guides/auth/check-auth-tutorials" + }, + { + "source": "/docs/build/guides/auth/contract-authorization.html", + "destination": "/docs/build/guides/auth/contract-authorization" + }, + { + "source": "/docs/build/guides/auth/index.html", + "destination": "/docs/build/guides/auth/index" + }, + { + "source": "/docs/build/guides/basics/automate-reset-data.html", + "destination": "/docs/build/guides/basics/automate-reset-data" + }, + { + "source": "/docs/build/guides/basics/classic-transition.html", + "destination": "/docs/build/guides/basics/classic-transition" + }, + { + "source": "/docs/build/guides/basics/index.html", + "destination": "/docs/build/guides/basics/index" + }, + { + "source": "/docs/build/guides/basics/verify-trustlines.html", + "destination": "/docs/build/guides/basics/verify-trustlines" + }, + { + "source": "/docs/build/guides/contract-accounts/advanced-patterns.html", + "destination": "/docs/build/guides/contract-accounts/advanced-patterns" + }, + { + "source": "/docs/build/guides/contract-accounts/examples.html", + "destination": "/docs/build/guides/contract-accounts/examples" + }, + { + "source": "/docs/build/guides/contract-accounts/index.html", + "destination": "/docs/build/guides/contract-accounts/index" + }, + { + "source": "/docs/build/guides/contract-accounts/smart-wallets.html", + "destination": "/docs/build/guides/contract-accounts/smart-wallets" + }, + { + "source": "/docs/build/guides/conventions/cross-contract.html", + "destination": "/docs/build/guides/conventions/cross-contract" + }, + { + "source": "/docs/build/guides/conventions/deploy-contract.html", + "destination": "/docs/build/guides/conventions/deploy-contract" + }, + { + "source": "/docs/build/guides/conventions/deploy-sac-with-code.html", + "destination": "/docs/build/guides/conventions/deploy-sac-with-code" + }, + { + "source": "/docs/build/guides/conventions/error-enum.html", + "destination": "/docs/build/guides/conventions/error-enum" + }, + { + "source": "/docs/build/guides/conventions/extending-wasm-ttl.html", + "destination": "/docs/build/guides/conventions/extending-wasm-ttl" + }, + { + "source": "/docs/build/guides/conventions/index.html", + "destination": "/docs/build/guides/conventions/index" + }, + { + "source": "/docs/build/guides/conventions/upgrading-contracts.html", + "destination": "/docs/build/guides/conventions/upgrading-contracts" + }, + { + "source": "/docs/build/guides/conventions/wasm-metadata.html", + "destination": "/docs/build/guides/conventions/wasm-metadata" + }, + { + "source": "/docs/build/guides/conventions/workspace.html", + "destination": "/docs/build/guides/conventions/workspace" + }, + { + "source": "/docs/build/guides/conversions/address-conversions.html", + "destination": "/docs/build/guides/conversions/address-conversions" + }, + { + "source": "/docs/build/guides/conversions/bytes-conversions.html", + "destination": "/docs/build/guides/conversions/bytes-conversions" + }, + { + "source": "/docs/build/guides/conversions/index.html", + "destination": "/docs/build/guides/conversions/index" + }, + { + "source": "/docs/build/guides/conversions/scval-conversions.html", + "destination": "/docs/build/guides/conversions/scval-conversions" + }, + { + "source": "/docs/build/guides/conversions/string-conversions.html", + "destination": "/docs/build/guides/conversions/string-conversions" + }, + { + "source": "/docs/build/guides/dapps/frontend-guide.html", + "destination": "/docs/build/guides/dapps/frontend-guide" + }, + { + "source": "/docs/build/guides/dapps/index.html", + "destination": "/docs/build/guides/dapps/index" + }, + { + "source": "/docs/build/guides/dapps/initialization.html", + "destination": "/docs/build/guides/dapps/initialization" + }, + { + "source": "/docs/build/guides/dapps/soroban-contract-init-template.html", + "destination": "/docs/build/guides/dapps/soroban-contract-init-template" + }, + { + "source": "/docs/build/guides/dapps/state-archival.html", + "destination": "/docs/build/guides/dapps/state-archival" + }, + { + "source": "/docs/build/guides/dapps/working-with-contract-specs.html", + "destination": "/docs/build/guides/dapps/working-with-contract-specs" + }, + { + "source": "/docs/build/guides/events/consume.html", + "destination": "/docs/build/guides/events/consume" + }, + { + "source": "/docs/build/guides/events/index.html", + "destination": "/docs/build/guides/events/index" + }, + { + "source": "/docs/build/guides/events/ingest.html", + "destination": "/docs/build/guides/events/ingest" + }, + { + "source": "/docs/build/guides/events/publish.html", + "destination": "/docs/build/guides/events/publish" + }, + { + "source": "/docs/build/guides/fees/analyzing-smart-contract-cost.html", + "destination": "/docs/build/guides/fees/analyzing-smart-contract-cost" + }, + { + "source": "/docs/build/guides/fees/index.html", + "destination": "/docs/build/guides/fees/index" + }, + { + "source": "/docs/build/guides/freighter/connect-testnet.html", + "destination": "/docs/build/guides/freighter/connect-testnet" + }, + { + "source": "/docs/build/guides/freighter/enable-soroban-tokens.html", + "destination": "/docs/build/guides/freighter/enable-soroban-tokens" + }, + { + "source": "/docs/build/guides/freighter/index.html", + "destination": "/docs/build/guides/freighter/index" + }, + { + "source": "/docs/build/guides/freighter/integrate-freighter-react.html", + "destination": "/docs/build/guides/freighter/integrate-freighter-react" + }, + { + "source": "/docs/build/guides/freighter/prompt-to-sign-tx.html", + "destination": "/docs/build/guides/freighter/prompt-to-sign-tx" + }, + { + "source": "/docs/build/guides/freighter/send-token-payments.html", + "destination": "/docs/build/guides/freighter/send-token-payments" + }, + { + "source": "/docs/build/guides/freighter/sign-auth-entries.html", + "destination": "/docs/build/guides/freighter/sign-auth-entries" + }, + { + "source": "/docs/build/guides/freighter/sign-soroban-xdrs.html", + "destination": "/docs/build/guides/freighter/sign-soroban-xdrs" + }, + { + "source": "/docs/build/guides/index.html", + "destination": "/docs/build/guides/index" + }, + { + "source": "/docs/build/guides/rpc/generate-ledger-keys-python.html", + "destination": "/docs/build/guides/rpc/generate-ledger-keys-python" + }, + { + "source": "/docs/build/guides/rpc/index.html", + "destination": "/docs/build/guides/rpc/index" + }, + { + "source": "/docs/build/guides/rpc/retrieve-contract-code-js.html", + "destination": "/docs/build/guides/rpc/retrieve-contract-code-js" + }, + { + "source": "/docs/build/guides/rpc/retrieve-contract-code-python.html", + "destination": "/docs/build/guides/rpc/retrieve-contract-code-python" + }, + { + "source": "/docs/build/guides/storage/choosing-the-right-storage.html", + "destination": "/docs/build/guides/storage/choosing-the-right-storage" + }, + { + "source": "/docs/build/guides/storage/index.html", + "destination": "/docs/build/guides/storage/index" + }, + { + "source": "/docs/build/guides/storage/migrate-contract-storage.html", + "destination": "/docs/build/guides/storage/migrate-contract-storage" + }, + { + "source": "/docs/build/guides/storage/storage-strategies.html", + "destination": "/docs/build/guides/storage/storage-strategies" + }, + { + "source": "/docs/build/guides/storage/use-instance.html", + "destination": "/docs/build/guides/storage/use-instance" + }, + { + "source": "/docs/build/guides/storage/use-persistent.html", + "destination": "/docs/build/guides/storage/use-persistent" + }, + { + "source": "/docs/build/guides/storage/use-temporary.html", + "destination": "/docs/build/guides/storage/use-temporary" + }, + { + "source": "/docs/build/guides/testing/code-coverage.html", + "destination": "/docs/build/guides/testing/code-coverage" + }, + { + "source": "/docs/build/guides/testing/differential-tests.html", + "destination": "/docs/build/guides/testing/differential-tests" + }, + { + "source": "/docs/build/guides/testing/differential-tests-with-test-snapshots.html", + "destination": "/docs/build/guides/testing/differential-tests-with-test-snapshots" + }, + { + "source": "/docs/build/guides/testing/fork-testing.html", + "destination": "/docs/build/guides/testing/fork-testing" + }, + { + "source": "/docs/build/guides/testing/fuzzing.html", + "destination": "/docs/build/guides/testing/fuzzing" + }, + { + "source": "/docs/build/guides/testing/index.html", + "destination": "/docs/build/guides/testing/index" + }, + { + "source": "/docs/build/guides/testing/integration-tests.html", + "destination": "/docs/build/guides/testing/integration-tests" + }, + { + "source": "/docs/build/guides/testing/ledger-snapshot-testing.html", + "destination": "/docs/build/guides/testing/ledger-snapshot-testing" + }, + { + "source": "/docs/build/guides/testing/mocking.html", + "destination": "/docs/build/guides/testing/mocking" + }, + { + "source": "/docs/build/guides/testing/mutation-testing.html", + "destination": "/docs/build/guides/testing/mutation-testing" + }, + { + "source": "/docs/build/guides/testing/test-contract-auth.html", + "destination": "/docs/build/guides/testing/test-contract-auth" + }, + { + "source": "/docs/build/guides/testing/test-contract-events.html", + "destination": "/docs/build/guides/testing/test-contract-events" + }, + { + "source": "/docs/build/guides/testing/unit-tests.html", + "destination": "/docs/build/guides/testing/unit-tests" + }, + { + "source": "/docs/build/guides/tokens/custom-sac-admin.html", + "destination": "/docs/build/guides/tokens/custom-sac-admin" + }, + { + "source": "/docs/build/guides/tokens/deploying-a-sac.html", + "destination": "/docs/build/guides/tokens/deploying-a-sac" + }, + { + "source": "/docs/build/guides/tokens/index.html", + "destination": "/docs/build/guides/tokens/index" + }, + { + "source": "/docs/build/guides/tokens/stellar-asset-contract.html", + "destination": "/docs/build/guides/tokens/stellar-asset-contract" + }, + { + "source": "/docs/build/guides/transactions/channel-accounts.html", + "destination": "/docs/build/guides/transactions/channel-accounts" + }, + { + "source": "/docs/build/guides/transactions/claimable-balances.html", + "destination": "/docs/build/guides/transactions/claimable-balances" + }, + { + "source": "/docs/build/guides/transactions/clawbacks.html", + "destination": "/docs/build/guides/transactions/clawbacks" + }, + { + "source": "/docs/build/guides/transactions/create-account.html", + "destination": "/docs/build/guides/transactions/create-account" + }, + { + "source": "/docs/build/guides/transactions/fee-bump-transactions.html", + "destination": "/docs/build/guides/transactions/fee-bump-transactions" + }, + { + "source": "/docs/build/guides/transactions/index.html", + "destination": "/docs/build/guides/transactions/index" + }, + { + "source": "/docs/build/guides/transactions/install-deploy-contract-with-code.html", + "destination": "/docs/build/guides/transactions/install-deploy-contract-with-code" + }, + { + "source": "/docs/build/guides/transactions/invoke-contract-tx-sdk.html", + "destination": "/docs/build/guides/transactions/invoke-contract-tx-sdk" + }, + { + "source": "/docs/build/guides/transactions/path-payments.html", + "destination": "/docs/build/guides/transactions/path-payments" + }, + { + "source": "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos.html", + "destination": "/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos" + }, + { + "source": "/docs/build/guides/transactions/send-and-receive-c-accounts.html", + "destination": "/docs/build/guides/transactions/send-and-receive-c-accounts" + }, + { + "source": "/docs/build/guides/transactions/send-and-receive-payments.html", + "destination": "/docs/build/guides/transactions/send-and-receive-payments" + }, + { + "source": "/docs/build/guides/transactions/signing-soroban-invocations.html", + "destination": "/docs/build/guides/transactions/signing-soroban-invocations" + }, + { + "source": "/docs/build/guides/transactions/simulateTransaction-Deep-Dive.html", + "destination": "/docs/build/guides/transactions/simulateTransaction-Deep-Dive" + }, + { + "source": "/docs/build/guides/transactions/sponsored-reserves.html", + "destination": "/docs/build/guides/transactions/sponsored-reserves" + }, + { + "source": "/docs/build/guides/transactions/submit-transaction-wait-js.html", + "destination": "/docs/build/guides/transactions/submit-transaction-wait-js" + }, + { + "source": "/docs/build/guides/transactions/upload-wasm-bytecode.html", + "destination": "/docs/build/guides/transactions/upload-wasm-bytecode" + }, + { + "source": "/docs/build/index.html", + "destination": "/docs/build/index" + }, + { + "source": "/docs/build/security-docs/index.html", + "destination": "/docs/build/security-docs/index" + }, + { + "source": "/docs/build/security-docs/monitoring/index.html", + "destination": "/docs/build/security-docs/monitoring/index" + }, + { + "source": "/docs/build/security-docs/monitoring/monitoring-template-builders.html", + "destination": "/docs/build/security-docs/monitoring/monitoring-template-builders" + }, + { + "source": "/docs/build/security-docs/monitoring/monitoring-template-users.html", + "destination": "/docs/build/security-docs/monitoring/monitoring-template-users" + }, + { + "source": "/docs/build/security-docs/securing-web-based-projects.html", + "destination": "/docs/build/security-docs/securing-web-based-projects" + }, + { + "source": "/docs/build/security-docs/threat-modeling/STRIDE-template.html", + "destination": "/docs/build/security-docs/threat-modeling/STRIDE-template" + }, + { + "source": "/docs/build/security-docs/threat-modeling/index.html", + "destination": "/docs/build/security-docs/threat-modeling/index" + }, + { + "source": "/docs/build/security-docs/threat-modeling/pizza-restaurant-example.html", + "destination": "/docs/build/security-docs/threat-modeling/pizza-restaurant-example" + }, + { + "source": "/docs/build/security-docs/threat-modeling/threat-modeling-description.html", + "destination": "/docs/build/security-docs/threat-modeling/threat-modeling-description" + }, + { + "source": "/docs/build/security-docs/threat-modeling/threat-modeling-how-to.html", + "destination": "/docs/build/security-docs/threat-modeling/threat-modeling-how-to" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/alloc.html", + "destination": "/docs/build/smart-contracts/example-contracts/alloc" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/atomic-multi-swap.html", + "destination": "/docs/build/smart-contracts/example-contracts/atomic-multi-swap" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/atomic-swap.html", + "destination": "/docs/build/smart-contracts/example-contracts/atomic-swap" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/auth.html", + "destination": "/docs/build/smart-contracts/example-contracts/auth" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/bls-signature.html", + "destination": "/docs/build/smart-contracts/example-contracts/bls-signature" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/complex-account.html", + "destination": "/docs/build/smart-contracts/example-contracts/complex-account" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/cross-contract-call.html", + "destination": "/docs/build/smart-contracts/example-contracts/cross-contract-call" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/custom-types.html", + "destination": "/docs/build/smart-contracts/example-contracts/custom-types" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/delegate-auth.html", + "destination": "/docs/build/smart-contracts/example-contracts/delegate-auth" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/deployer.html", + "destination": "/docs/build/smart-contracts/example-contracts/deployer" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/errors.html", + "destination": "/docs/build/smart-contracts/example-contracts/errors" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/events.html", + "destination": "/docs/build/smart-contracts/example-contracts/events" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/fuzzing.html", + "destination": "/docs/build/smart-contracts/example-contracts/fuzzing" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/index.html", + "destination": "/docs/build/smart-contracts/example-contracts/index" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/liquidity-pool.html", + "destination": "/docs/build/smart-contracts/example-contracts/liquidity-pool" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/logging.html", + "destination": "/docs/build/smart-contracts/example-contracts/logging" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/mint-lock.html", + "destination": "/docs/build/smart-contracts/example-contracts/mint-lock" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/simple-account.html", + "destination": "/docs/build/smart-contracts/example-contracts/simple-account" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/single-offer-sale.html", + "destination": "/docs/build/smart-contracts/example-contracts/single-offer-sale" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/storage.html", + "destination": "/docs/build/smart-contracts/example-contracts/storage" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/timelock.html", + "destination": "/docs/build/smart-contracts/example-contracts/timelock" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/tokens.html", + "destination": "/docs/build/smart-contracts/example-contracts/tokens" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/upgradeable-contract.html", + "destination": "/docs/build/smart-contracts/example-contracts/upgradeable-contract" + }, + { + "source": "/docs/build/smart-contracts/example-contracts/workspace.html", + "destination": "/docs/build/smart-contracts/example-contracts/workspace" + }, + { + "source": "/docs/build/smart-contracts/getting-started/deploy-increment-contract.html", + "destination": "/docs/build/smart-contracts/getting-started/deploy-increment-contract" + }, + { + "source": "/docs/build/smart-contracts/getting-started/deploy-to-testnet.html", + "destination": "/docs/build/smart-contracts/getting-started/deploy-to-testnet" + }, + { + "source": "/docs/build/smart-contracts/getting-started/hello-world.html", + "destination": "/docs/build/smart-contracts/getting-started/hello-world" + }, + { + "source": "/docs/build/smart-contracts/getting-started/hello-world-frontend.html", + "destination": "/docs/build/smart-contracts/getting-started/hello-world-frontend" + }, + { + "source": "/docs/build/smart-contracts/getting-started/index.html", + "destination": "/docs/build/smart-contracts/getting-started/index" + }, + { + "source": "/docs/build/smart-contracts/getting-started/setup.html", + "destination": "/docs/build/smart-contracts/getting-started/setup" + }, + { + "source": "/docs/build/smart-contracts/getting-started/storing-data.html", + "destination": "/docs/build/smart-contracts/getting-started/storing-data" + }, + { + "source": "/docs/build/smart-contracts/index.html", + "destination": "/docs/build/smart-contracts/index" + }, + { + "source": "/docs/build/smart-contracts/overview.html", + "destination": "/docs/build/smart-contracts/overview" + }, + { + "source": "/docs/data/analytics/analytics-providers/analytics-providers.html", + "destination": "/docs/data/analytics/analytics-providers" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/connecting.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/connecting" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/creating-visualizations.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/creating-visualizations" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/history-vs-state-tables.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/history-vs-state-tables" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/index.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/index" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/optimizing-queries.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/optimizing-queries" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/queries-for-horizon-like-data.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/queries-for-horizon-like-data" + }, + { + "source": "/docs/data/analytics/hubble/analyst-guide/viewing-metadata.html", + "destination": "/docs/data/analytics/hubble/analyst-guide/viewing-metadata" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/account-signers.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/account-signers" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/accounts.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/accounts" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/claimable-balances.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/claimable-balances" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/config-settings.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/config-settings" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-code.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-code" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-data.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-data" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/evicted-keys.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/evicted-keys" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-assets.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-assets" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-contract-events.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-contract-events" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-effects.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-effects" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-ledgers.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-ledgers" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-operations.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-operations" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-trades.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-trades" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-transactions.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-transactions" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/index.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/index" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/liquidity-pools.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/liquidity-pools" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/offers.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/offers" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/restored-key.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/restored-key" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/trustlines.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/trustlines" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/ttl.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/ttl" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/account-balances-daily-agg.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/account-balances-daily-agg" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/asset-balances-daily-agg.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/asset-balances-daily-agg" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/daily-fee-stats-agg.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/daily-fee-stats-agg" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-fee-agg-account.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-fee-agg-account" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-soroban-fee-agg-contract.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-soroban-fee-agg-contract" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/index.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/index" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/ledger-fee-stats-agg.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/ledger-fee-stats-agg" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/soroban-core-metrics.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/soroban-core-metrics" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/trade-agg.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/trade-agg" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/tvl-agg.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/tvl-agg" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/index.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/index" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/account-signers-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/account-signers-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/claimable-balances-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/claimable-balances-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-code-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-code-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations-soroban.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations-soroban" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/evicted-keys-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/evicted-keys-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/index.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/index" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/offers-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/offers-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-cex-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-cex-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-fex-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-fex-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-sdex-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-sdex-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/token-transfers-raw.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/token-transfers-raw" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-snapshot.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-snapshot" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/ttl-current.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/ttl-current" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-lineage.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-lineage", + "permanent": true + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/data-model-diagram.html", + "destination": "/docs/data/analytics/hubble/data-catalog/data-model-diagram" + }, + { + "source": "/docs/data/analytics/hubble/data-catalog/index.html", + "destination": "/docs/data/analytics/hubble/data-catalog/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/backfill/JS-UDF.html", + "destination": "/docs/data/analytics/hubble/developer-guide/backfill/JS-UDF" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/backfill/data-import.html", + "destination": "/docs/data/analytics/hubble/developer-guide/backfill/data-import" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/backfill/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/backfill/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/connecting-to-bigquery/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/connecting-to-bigquery/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/data-curation/architecture.html", + "destination": "/docs/data/analytics/hubble/developer-guide/data-curation/architecture" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/data-curation/getting-started.html", + "destination": "/docs/data/analytics/hubble/developer-guide/data-curation/getting-started" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/data-curation/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/data-curation/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/data-curation/overview.html", + "destination": "/docs/data/analytics/hubble/developer-guide/data-curation/overview" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/architecture.html", + "destination": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/architecture" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/getting-started.html", + "destination": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/getting-started" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/overview.html", + "destination": "/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/overview" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/architecture.html", + "destination": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/architecture" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/getting-started.html", + "destination": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/getting-started" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/overview.html", + "destination": "/docs/data/analytics/hubble/developer-guide/source-system-ingestion/overview" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/visualization/getting-started.html", + "destination": "/docs/data/analytics/hubble/developer-guide/visualization/getting-started" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/visualization/index.html", + "destination": "/docs/data/analytics/hubble/developer-guide/visualization/index" + }, + { + "source": "/docs/data/analytics/hubble/developer-guide/visualization/overview.html", + "destination": "/docs/data/analytics/hubble/developer-guide/visualization/overview" + }, + { + "source": "/docs/data/analytics/hubble/index.html", + "destination": "/docs/data/analytics/hubble/index" + }, + { + "source": "/docs/data/analytics/index.html", + "destination": "/docs/data/analytics/index" + }, + { + "source": "/docs/data/analytics/public-dashboards.html", + "destination": "/docs/data/analytics/public-dashboards" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/configuring.html", + "destination": "/docs/data/apis/horizon/admin-guide/configuring" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/index.html", + "destination": "/docs/data/apis/horizon/admin-guide/index" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/ingestion.html", + "destination": "/docs/data/apis/horizon/admin-guide/ingestion" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/ingestion-filtering.html", + "destination": "/docs/data/apis/horizon/admin-guide/ingestion-filtering" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/installing.html", + "destination": "/docs/data/apis/horizon/admin-guide/installing" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/monitoring.html", + "destination": "/docs/data/apis/horizon/admin-guide/monitoring" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/overview.html", + "destination": "/docs/data/apis/horizon/admin-guide/overview" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/prerequisites.html", + "destination": "/docs/data/apis/horizon/admin-guide/prerequisites" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/running.html", + "destination": "/docs/data/apis/horizon/admin-guide/running" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/scaling.html", + "destination": "/docs/data/apis/horizon/admin-guide/scaling" + }, + { + "source": "/docs/data/apis/horizon/admin-guide/upgrading.html", + "destination": "/docs/data/apis/horizon/admin-guide/upgrading" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/fee-stats/index.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/fee-stats/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/fee-stats/object.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/fee-stats/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/index.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/order-books/index.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/order-books/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/order-books/object.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/order-books/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/paths/index.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/paths/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/paths/object.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/paths/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/index.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/object.html", + "destination": "/docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations.html", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions.html", + "destination": "/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/error-handling.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/error-handling" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/before-history.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/before-history" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/index.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/stale-history.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/stale-history" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/timeout.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/timeout" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-failed.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-failed" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-malformed.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-malformed" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/index.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/standard.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/http-status-codes/standard" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/index.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/response.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/response" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/index.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/account-merge.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/account-merge" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/allow-trust.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/allow-trust" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/bump-sequence.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/bump-sequence" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/change-trust.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/change-trust" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-account.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-account" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-passive-sell-offer.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-passive-sell-offer" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/index.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-buy-offer.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-buy-offer" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-data.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-data" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-sell-offer.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-sell-offer" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-receive.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-receive" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-send.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-send" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/payment.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/payment" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/set-options.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/set-options" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/operations.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/operations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/errors/result-codes/transactions.html", + "destination": "/docs/data/apis/horizon/api-reference/errors/result-codes/transactions" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-all-offers.html", + "destination": "/docs/data/apis/horizon/api-reference/get-all-offers" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-all-trades.html", + "destination": "/docs/data/apis/horizon/api-reference/get-all-trades" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-data-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-data-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-effects-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-offer-by-offer-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-offers-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-operations-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-payments-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-trades-by-offer-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id.html", + "destination": "/docs/data/apis/horizon/api-reference/get-transactions-by-account-id" + }, + { + "source": "/docs/data/apis/horizon/api-reference/index.html", + "destination": "/docs/data/apis/horizon/api-reference/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-accounts.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-accounts" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-assets.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-assets" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-claimable-balances" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-effects.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-effects" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-ledgers.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-ledgers" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-operations.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-operations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-payments.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-payments" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-all-transactions.html", + "destination": "/docs/data/apis/horizon/api-reference/list-all-transactions" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-liquidity-pools.html", + "destination": "/docs/data/apis/horizon/api-reference/list-liquidity-pools" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths.html", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths.html", + "destination": "/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths" + }, + { + "source": "/docs/data/apis/horizon/api-reference/list-trade-aggregations.html", + "destination": "/docs/data/apis/horizon/api-reference/list-trade-aggregations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/lp-retrieve-related-operations.html", + "destination": "/docs/data/apis/horizon/api-reference/lp-retrieve-related-operations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/lp-retrieve-related-transactions.html", + "destination": "/docs/data/apis/horizon/api-reference/lp-retrieve-related-transactions" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/accounts/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/accounts/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/accounts/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/accounts/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/assets/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/assets/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/assets/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/assets/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/claimablebalances/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/claimablebalances/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/claimablebalances/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/claimablebalances/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/effects/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/effects/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/effects/types.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/effects/types" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/ledgers/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/ledgers/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/ledgers/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/ledgers/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/liquiditypools/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/liquiditypools/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/offers/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/offers/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/offers/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/offers/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/account-merge.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/account-merge" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/allow-trust.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/allow-trust" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/begin-sponsoring-future-reserves.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/begin-sponsoring-future-reserves" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/bump-sequence.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/bump-sequence" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/buy-offer.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/buy-offer" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/change-trust.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/change-trust" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/claim-claimable-balance.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/claim-claimable-balance" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/create-account.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/create-account" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/create-claimable-balance.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/create-claimable-balance" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/end-sponsoring-future-reserves.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/end-sponsoring-future-reserves" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/extend-footprint-ttl.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/extend-footprint-ttl" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/invoke-host-function.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/invoke-host-function" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-deposit.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-deposit" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-withdraw.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-withdraw" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/manage-data.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/manage-data" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/passive-sell-offer.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/passive-sell-offer" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-receive.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-receive" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-send.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-send" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/restore-footprint.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/restore-footprint" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/revoke-sponsorship.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/revoke-sponsorship" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/sell-offer.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/sell-offer" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/operations/object/set-options.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/operations/object/set-options" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/payments/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/payments/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/payments/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/payments/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/trades/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/trades/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/trades/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/trades/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/transactions/index.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/transactions/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/resources/transactions/object.html", + "destination": "/docs/data/apis/horizon/api-reference/resources/transactions/object" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledger" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transaction" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-an-account.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-account" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-an-operation.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operation" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-an-order-book" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-fee-stats" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-related-effects.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-effects" + }, + { + "source": "/docs/data/apis/horizon/api-reference/retrieve-related-trades.html", + "destination": "/docs/data/apis/horizon/api-reference/retrieve-related-trades" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/consistency.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/consistency" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/index.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/pagination/index.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/pagination/index" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/pagination/page-arguments.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/pagination/page-arguments" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/rate-limiting.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/rate-limiting" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/response-format.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/response-format" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/streaming.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/streaming" + }, + { + "source": "/docs/data/apis/horizon/api-reference/structure/xdr.html", + "destination": "/docs/data/apis/horizon/api-reference/structure/xdr" + }, + { + "source": "/docs/data/apis/horizon/api-reference/submit-a-transaction.html", + "destination": "/docs/data/apis/horizon/api-reference/submit-a-transaction" + }, + { + "source": "/docs/data/apis/horizon/api-reference/submit-async-transaction.html", + "destination": "/docs/data/apis/horizon/api-reference/submit-async-transaction" + }, + { + "source": "/docs/data/apis/horizon/index.html", + "destination": "/docs/data/apis/horizon/index" + }, + { + "source": "/docs/data/apis/horizon/providers.html", + "destination": "/docs/data/apis/horizon/providers" + }, + { + "source": "/docs/data/apis/index.html", + "destination": "/docs/data/apis/index" + }, + { + "source": "/docs/data/apis/migrate-from-horizon-to-rpc.html", + "destination": "/docs/data/apis/migrate-from-horizon-to-rpc" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/configuring.html", + "destination": "/docs/data/apis/rpc/admin-guide/configuring" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/data-lake-integration.html", + "destination": "/docs/data/apis/rpc/admin-guide/data-lake-integration" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/development.html", + "destination": "/docs/data/apis/rpc/admin-guide/development" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/index.html", + "destination": "/docs/data/apis/rpc/admin-guide/index" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/installing.html", + "destination": "/docs/data/apis/rpc/admin-guide/installing" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/monitoring.html", + "destination": "/docs/data/apis/rpc/admin-guide/monitoring" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/prerequisites.html", + "destination": "/docs/data/apis/rpc/admin-guide/prerequisites" + }, + { + "source": "/docs/data/apis/rpc/admin-guide/running.html", + "destination": "/docs/data/apis/rpc/admin-guide/running" + }, + { + "source": "/docs/data/apis/rpc/api-reference/index.html", + "destination": "/docs/data/apis/rpc/api-reference/index" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getEvents.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getEvents" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getFeeStats.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getFeeStats" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getHealth.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getHealth" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getLatestLedger.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getLatestLedger" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getLedgerEntries.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getLedgerEntries" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getLedgers.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getLedgers" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getNetwork.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getNetwork" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getTransaction.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getTransaction" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getTransactions.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getTransactions" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/getVersionInfo.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/getVersionInfo" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/index.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/index" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/sendTransaction.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/sendTransaction" + }, + { + "source": "/docs/data/apis/rpc/api-reference/methods/simulateTransaction.html", + "destination": "/docs/data/apis/rpc/api-reference/methods/simulateTransaction" + }, + { + "source": "/docs/data/apis/rpc/api-reference/structure/data-format.html", + "destination": "/docs/data/apis/rpc/api-reference/structure/data-format" + }, + { + "source": "/docs/data/apis/rpc/api-reference/structure/index.html", + "destination": "/docs/data/apis/rpc/api-reference/structure/index" + }, + { + "source": "/docs/data/apis/rpc/api-reference/structure/json-rpc.html", + "destination": "/docs/data/apis/rpc/api-reference/structure/json-rpc" + }, + { + "source": "/docs/data/apis/rpc/api-reference/structure/pagination.html", + "destination": "/docs/data/apis/rpc/api-reference/structure/pagination" + }, + { + "source": "/docs/data/apis/rpc/index.html", + "destination": "/docs/data/apis/rpc/index" + }, + { + "source": "/docs/data/apis/rpc/providers.html", + "destination": "/docs/data/apis/rpc/providers" + }, + { + "source": "/docs/data/index.html", + "destination": "/docs/data/index" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/configuring.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/configuring" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/full-history-exporting.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/full-history-exporting" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/index.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/index" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/installing.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/installing" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/monitoring.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/monitoring" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/prerequisites.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/prerequisites" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/running.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/running" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/admin_guide/setup.html", + "destination": "/docs/data/indexers/build-your-own/galexie/admin_guide/setup" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/examples/gcs-export.html", + "destination": "/docs/data/indexers/build-your-own/galexie/examples/gcs-export" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/examples/index.html", + "destination": "/docs/data/indexers/build-your-own/galexie/examples/index" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/index.html", + "destination": "/docs/data/indexers/build-your-own/galexie/index" + }, + { + "source": "/docs/data/indexers/build-your-own/galexie/providers.html", + "destination": "/docs/data/indexers/build-your-own/galexie/providers" + }, + { + "source": "/docs/data/indexers/build-your-own/index.html", + "destination": "/docs/data/indexers/build-your-own/index" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/architecture.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/architecture" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/index.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/index" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/bufferedstoragebackend.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/bufferedstoragebackend" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/captivecore.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/captivecore" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/index.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/index" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/rpcledgerbackend.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/rpcledgerbackend" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerreaders.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerreaders" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/prerequisites.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/prerequisites" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/examples/changes.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/examples/changes" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/examples/index.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/examples/index" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/examples/ledger_entry_statistics.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/examples/ledger_entry_statistics" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/examples/transaction_statistics.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/examples/transaction_statistics" + }, + { + "source": "/docs/data/indexers/build-your-own/ingest-sdk/index.html", + "destination": "/docs/data/indexers/build-your-own/ingest-sdk/index" + }, + { + "source": "/docs/data/indexers/build-your-own/processors/index.html", + "destination": "/docs/data/indexers/build-your-own/processors/index" + }, + { + "source": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/event_stats.html", + "destination": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/event_stats" + }, + { + "source": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/filter_events.html", + "destination": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/filter_events" + }, + { + "source": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/index.html", + "destination": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/index" + }, + { + "source": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/index.html", + "destination": "/docs/data/indexers/build-your-own/processors/token-transfer-processor/index" + }, + { + "source": "/docs/data/indexers/index.html", + "destination": "/docs/data/indexers/index" + }, + { + "source": "/docs/data/oracles/index.html", + "destination": "/docs/data/oracles/index" + }, + { + "source": "/docs/data/oracles/oracle-providers.html", + "destination": "/docs/data/oracles/oracle-providers" + }, + { + "source": "/docs/learn/fundamentals/anchors.html", + "destination": "/docs/learn/fundamentals/anchors" + }, + { + "source": "/docs/learn/fundamentals/contract-development/authorization.html", + "destination": "/docs/learn/fundamentals/contract-development/authorization" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-interactions/cross-contract.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/cross-contract" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-interactions/index.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/index" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-interactions/overview.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/overview" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-interactions/stellar-transaction.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/stellar-transaction" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-interactions/tests.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/tests" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-interactions/transaction-simulation.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-interactions/transaction-simulation" + }, + { + "source": "/docs/learn/fundamentals/contract-development/contract-lifecycle.html", + "destination": "/docs/learn/fundamentals/contract-development/contract-lifecycle" + }, + { + "source": "/docs/learn/fundamentals/contract-development/environment-concepts.html", + "destination": "/docs/learn/fundamentals/contract-development/environment-concepts" + }, + { + "source": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging.html", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging" + }, + { + "source": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors.html", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors" + }, + { + "source": "/docs/learn/fundamentals/contract-development/errors-and-debugging/errors.html", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/errors" + }, + { + "source": "/docs/learn/fundamentals/contract-development/errors-and-debugging/index.html", + "destination": "/docs/learn/fundamentals/contract-development/errors-and-debugging/index" + }, + { + "source": "/docs/learn/fundamentals/contract-development/index.html", + "destination": "/docs/learn/fundamentals/contract-development/index" + }, + { + "source": "/docs/learn/fundamentals/contract-development/overview.html", + "destination": "/docs/learn/fundamentals/contract-development/overview" + }, + { + "source": "/docs/learn/fundamentals/contract-development/rust-dialect.html", + "destination": "/docs/learn/fundamentals/contract-development/rust-dialect" + }, + { + "source": "/docs/learn/fundamentals/contract-development/storage/index.html", + "destination": "/docs/learn/fundamentals/contract-development/storage/index" + }, + { + "source": "/docs/learn/fundamentals/contract-development/storage/persisting-data.html", + "destination": "/docs/learn/fundamentals/contract-development/storage/persisting-data" + }, + { + "source": "/docs/learn/fundamentals/contract-development/storage/state-archival.html", + "destination": "/docs/learn/fundamentals/contract-development/storage/state-archival" + }, + { + "source": "/docs/learn/fundamentals/contract-development/types/built-in-types.html", + "destination": "/docs/learn/fundamentals/contract-development/types/built-in-types" + }, + { + "source": "/docs/learn/fundamentals/contract-development/types/custom-types.html", + "destination": "/docs/learn/fundamentals/contract-development/types/custom-types" + }, + { + "source": "/docs/learn/fundamentals/contract-development/types/fully-typed-contracts.html", + "destination": "/docs/learn/fundamentals/contract-development/types/fully-typed-contracts" + }, + { + "source": "/docs/learn/fundamentals/contract-development/types/index.html", + "destination": "/docs/learn/fundamentals/contract-development/types/index" + }, + { + "source": "/docs/learn/fundamentals/data-format/index.html", + "destination": "/docs/learn/fundamentals/data-format/index" + }, + { + "source": "/docs/learn/fundamentals/data-format/xdr.html", + "destination": "/docs/learn/fundamentals/data-format/xdr" + }, + { + "source": "/docs/learn/fundamentals/data-format/xdr-json.html", + "destination": "/docs/learn/fundamentals/data-format/xdr-json" + }, + { + "source": "/docs/learn/fundamentals/fees-resource-limits-metering.html", + "destination": "/docs/learn/fundamentals/fees-resource-limits-metering" + }, + { + "source": "/docs/learn/fundamentals/index.html", + "destination": "/docs/learn/fundamentals/index" + }, + { + "source": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools.html", + "destination": "/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools" + }, + { + "source": "/docs/learn/fundamentals/lumens.html", + "destination": "/docs/learn/fundamentals/lumens" + }, + { + "source": "/docs/learn/fundamentals/stellar-consensus-protocol.html", + "destination": "/docs/learn/fundamentals/stellar-consensus-protocol" + }, + { + "source": "/docs/learn/fundamentals/stellar-data-structures/accounts.html", + "destination": "/docs/learn/fundamentals/stellar-data-structures/accounts" + }, + { + "source": "/docs/learn/fundamentals/stellar-data-structures/assets.html", + "destination": "/docs/learn/fundamentals/stellar-data-structures/assets" + }, + { + "source": "/docs/learn/fundamentals/stellar-data-structures/contracts.html", + "destination": "/docs/learn/fundamentals/stellar-data-structures/contracts" + }, + { + "source": "/docs/learn/fundamentals/stellar-data-structures/events.html", + "destination": "/docs/learn/fundamentals/stellar-data-structures/events" + }, + { + "source": "/docs/learn/fundamentals/stellar-data-structures/index.html", + "destination": "/docs/learn/fundamentals/stellar-data-structures/index" + }, + { + "source": "/docs/learn/fundamentals/stellar-data-structures/ledgers.html", + "destination": "/docs/learn/fundamentals/stellar-data-structures/ledgers" + }, + { + "source": "/docs/learn/fundamentals/stellar-ecosystem-proposals.html", + "destination": "/docs/learn/fundamentals/stellar-ecosystem-proposals" + }, + { + "source": "/docs/learn/fundamentals/stellar-stack.html", + "destination": "/docs/learn/fundamentals/stellar-stack" + }, + { + "source": "/docs/learn/fundamentals/transactions/index.html", + "destination": "/docs/learn/fundamentals/transactions/index" + }, + { + "source": "/docs/learn/fundamentals/transactions/list-of-operations.html", + "destination": "/docs/learn/fundamentals/transactions/list-of-operations" + }, + { + "source": "/docs/learn/fundamentals/transactions/operations-and-transactions.html", + "destination": "/docs/learn/fundamentals/transactions/operations-and-transactions" + }, + { + "source": "/docs/learn/fundamentals/transactions/signatures-multisig.html", + "destination": "/docs/learn/fundamentals/transactions/signatures-multisig" + }, + { + "source": "/docs/learn/fundamentals/transactions/transaction-lifecycle.html", + "destination": "/docs/learn/fundamentals/transactions/transaction-lifecycle" + }, + { + "source": "/docs/learn/glossary.html", + "destination": "/docs/learn/glossary" + }, + { + "source": "/docs/learn/interactive/dapp-world.html", + "destination": "/docs/learn/interactive/dapp-world" + }, + { + "source": "/docs/learn/interactive/fca00c.html", + "destination": "/docs/learn/interactive/fca00c" + }, + { + "source": "/docs/learn/interactive/index.html", + "destination": "/docs/learn/interactive/index" + }, + { + "source": "/docs/learn/interactive/quest.html", + "destination": "/docs/learn/interactive/quest" + }, + { + "source": "/docs/learn/migrate/evm/index.html", + "destination": "/docs/learn/migrate/evm/index" + }, + { + "source": "/docs/learn/migrate/evm/introduction-to-solidity-and-rust.html", + "destination": "/docs/learn/migrate/evm/introduction-to-solidity-and-rust" + }, + { + "source": "/docs/learn/migrate/evm/smart-contract-deployment.html", + "destination": "/docs/learn/migrate/evm/smart-contract-deployment" + }, + { + "source": "/docs/learn/migrate/evm/solidity-and-rust-advanced-concepts.html", + "destination": "/docs/learn/migrate/evm/solidity-and-rust-advanced-concepts" + }, + { + "source": "/docs/learn/migrate/evm/solidity-and-rust-basics.html", + "destination": "/docs/learn/migrate/evm/solidity-and-rust-basics" + }, + { + "source": "/docs/learn/migrate/evm/solidity-support-via-solang.html", + "destination": "/docs/learn/migrate/evm/solidity-support-via-solang" + }, + { + "source": "/docs/learn/migrate/index.html", + "destination": "/docs/learn/migrate/index" + }, + { + "source": "/docs/networks/audits/index.html", + "destination": "/docs/networks/audits/index" + }, + { + "source": "/docs/networks/audits/soroban-poseidon.html", + "destination": "/docs/networks/audits/soroban-poseidon" + }, + { + "source": "/docs/networks/audits/soroban-sdk.html", + "destination": "/docs/networks/audits/soroban-sdk" + }, + { + "source": "/docs/networks/audits/stellar-core.html", + "destination": "/docs/networks/audits/stellar-core" + }, + { + "source": "/docs/networks/audits/stellar-rpc.html", + "destination": "/docs/networks/audits/stellar-rpc" + }, + { + "source": "/docs/networks/index.html", + "destination": "/docs/networks/index" + }, + { + "source": "/docs/networks/resource-limits-fees.html", + "destination": "/docs/networks/resource-limits-fees" + }, + { + "source": "/docs/networks/software-versions.html", + "destination": "/docs/networks/software-versions" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/architecture.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/architecture" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/assets-and-client-wallets.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/assets-and-client-wallets" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/events/delivery.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/events/delivery" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/events/getting-started.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/events/getting-started" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/events/index.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/events/index" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/events/integration.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/events/integration" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/getting-started.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/getting-started" + }, + { + "source": "/docs/platforms/anchor-platform/admin-guide/index.html", + "destination": "/docs/platforms/anchor-platform/admin-guide/index" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/callbacks/del-customer.html", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/del-customer" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/callbacks/get-customer.html", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/get-customer" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/callbacks/get-rates.html", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/get-rates" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/callbacks/index.html", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/index" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/callbacks/post-event.html", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/post-event" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/callbacks/put-customer.html", + "destination": "/docs/platforms/anchor-platform/api-reference/callbacks/put-customer" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/index.html", + "destination": "/docs/platforms/anchor-platform/api-reference/index" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/index.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/index" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/index.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/index" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_payment.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_payment" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_refund.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_refund" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transactions.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transactions" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/index.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/index" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_amounts_updated.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_amounts_updated" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_customer_info_updated.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_customer_info_updated" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_interactive_flow_completed.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_interactive_flow_completed" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_available.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_available" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_pending.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_pending" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_received.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_received" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_sent.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_sent" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_received.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_received" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_sent.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_sent" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_pending.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_pending" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_sent.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_sent" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_error.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_error" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_expired.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_expired" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_on_hold.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_on_hold" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_recovery.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_recovery" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_trust_set.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_trust_set" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_offchain_funds.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_offchain_funds" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_onchain_funds.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_onchain_funds" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_trust.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_trust" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/rpc/overview.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/rpc/overview" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transaction.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transaction" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transactions.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transactions" + }, + { + "source": "/docs/platforms/anchor-platform/api-reference/platform/transactions/index.html", + "destination": "/docs/platforms/anchor-platform/api-reference/platform/transactions/index" + }, + { + "source": "/docs/platforms/anchor-platform/index.html", + "destination": "/docs/platforms/anchor-platform/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep1/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep1/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep10/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep10/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/configuration.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/configuration" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/example.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/example" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/faq.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/faq" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/getting-started.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/getting-started" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/integration.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/integration" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep24/setting-up-production-server.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep24/setting-up-production-server" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep31/configuration.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep31/configuration" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep31/getting-started.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep31/getting-started" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep31/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep31/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep31/integration.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep31/integration" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep45/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep45/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep6/configuration.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep6/configuration" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep6/getting-started.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep6/getting-started" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep6/index.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep6/index" + }, + { + "source": "/docs/platforms/anchor-platform/sep-guide/sep6/integration.html", + "destination": "/docs/platforms/anchor-platform/sep-guide/sep6/integration" + }, + { + "source": "/docs/platforms/index.html", + "destination": "/docs/platforms/index" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/advanced-configuration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/advanced-configuration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/cli-manual.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/cli-manual" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/configuring-sdp.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/configuring-sdp" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/deploy-the-sdp.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/deploy-the-sdp" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/design-and-architecture.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/design-and-architecture" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/embedded-wallets.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/embedded-wallets" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/getting-started.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/getting-started" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/index.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/index" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/making-your-wallet-sdp-ready.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/making-your-wallet-sdp-ready" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/monitoring.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/monitoring" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/overview.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/overview" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/security.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/security" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/troubleshooting.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/troubleshooting" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/account-picker.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/account-picker" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/analytics.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/analytics" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/circle-configuration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/circle-configuration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/dashboard-home.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/dashboard-home" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/disbursements.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/disbursements" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/distribution-accounts.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/distribution-accounts" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/index.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/index" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/payments.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/payments" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/receivers.html", + "destination": "/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/receivers" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/admin.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/admin" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/api-keys.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/api-keys" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/archive-distribution-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/archive-distribution-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/authenticate-mfa.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/authenticate-mfa" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/authentication.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/authentication" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/balances.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/balances" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/bridge-integration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/bridge-integration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-api-key.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-api-key" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-asset.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-asset" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-direct-payment.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-direct-payment" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-disbursement.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-disbursement" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-distribution-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-distribution-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-receiver.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-receiver" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-tenant.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-tenant" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-user.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-user" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/create-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/create-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/default-tenant.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/default-tenant" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-a-disbursement.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-a-disbursement" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-api-key.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-api-key" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-asset.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-asset" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/delete-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/disbursements.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/disbursements" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/distribution-wallets.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/distribution-wallets" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/download-disbursement-instructions.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/download-disbursement-instructions" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/export-disbursements.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/export-disbursements" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/export-payments-csv.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/export-payments-csv" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/export-receivers-csv.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/export-receivers-csv" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/forgot-password.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/forgot-password" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-assets.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-assets" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-roles.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-roles" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-tenants.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-tenants" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-users.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-users" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-wallets.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-all-wallets" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-api-key.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-api-key" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-bridge-integration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-bridge-integration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-audit.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-audit" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-balance.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-balance" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-capabilities.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-capabilities" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallets-total-balance.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallets-total-balance" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-circle-balances.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-circle-balances" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-info.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-info" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-logo.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-logo" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-profile.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-profile" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-receiver-registration-info.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-receiver-registration-info" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/get-sep-24-info.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/get-sep-24-info" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/grant-distribution-wallet-membership.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/grant-distribution-wallet-membership" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/index.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/index" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-payments.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-payments" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-receivers.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-all-receivers" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-api-keys.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-api-keys" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallet-memberships.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallet-memberships" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallets.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallets" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-receiver-verification-types.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-receiver-verification-types" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/list-registration-contact-types.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/list-registration-contact-types" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/log-in.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/log-in" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/organization.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/organization" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/patch-organization-circle.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/patch-organization-circle" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/payments.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/payments" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/profile.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/profile" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/promote-distribution-wallet-to-default.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/promote-distribution-wallet-to-default" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/provide-signed-challenge-transaction.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/provide-signed-challenge-transaction" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/receivers.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/receivers" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/refresh-token.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/refresh-token" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/registration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/registration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/request-challenge-transaction.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/request-challenge-transaction" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/request-registration-url.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/request-registration-url" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/reset-password.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/reset-password" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/reset-user-password.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/reset-user-password" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-payment.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-payment" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-tenant.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-tenant" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-all-statistics.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-all-statistics" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-disbursement-statistics.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-disbursement-statistics" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-stellar-info-file.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-stellar-info-file" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/retry-payments.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/retry-payments" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/revoke-distribution-wallet-membership.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/revoke-distribution-wallet-membership" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/soft-delete-a-tenant.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/soft-delete-a-tenant" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/start-wallet-registration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/start-wallet-registration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/statistics.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/statistics" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-a-disbursement-status.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-a-disbursement-status" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-a-tenant.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-a-tenant" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-api-key.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-api-key" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-bridge-integration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-bridge-integration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-organization-profile.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-organization-profile" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-payment-status.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-payment-status" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet-status.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet-status" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-user-activation-status.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-user-activation-status" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-user-profile.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-user-profile" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-user-role.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-user-role" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/update-wallet.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/update-wallet" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/users.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/users" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration.html", + "destination": "/docs/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration" + }, + { + "source": "/docs/platforms/stellar-disbursement-platform/index.html", + "destination": "/docs/platforms/stellar-disbursement-platform/index" + }, + { + "source": "/docs/tokens/anatomy-of-an-asset.html", + "destination": "/docs/tokens/anatomy-of-an-asset" + }, + { + "source": "/docs/tokens/control-asset-access.html", + "destination": "/docs/tokens/control-asset-access" + }, + { + "source": "/docs/tokens/cross-chain-transfers.html", + "destination": "/docs/tokens/cross-chain-transfers" + }, + { + "source": "/docs/tokens/how-to-issue-an-asset.html", + "destination": "/docs/tokens/how-to-issue-an-asset" + }, + { + "source": "/docs/tokens/index.html", + "destination": "/docs/tokens/index" + }, + { + "source": "/docs/tokens/publishing-asset-info.html", + "destination": "/docs/tokens/publishing-asset-info" + }, + { + "source": "/docs/tokens/quickstart.html", + "destination": "/docs/tokens/quickstart" + }, + { + "source": "/docs/tokens/stellar-asset-contract.html", + "destination": "/docs/tokens/stellar-asset-contract" + }, + { + "source": "/docs/tokens/token-interface.html", + "destination": "/docs/tokens/token-interface" + }, + { + "source": "/docs/tokens/usdt0-layerzero.html", + "destination": "/docs/tokens/usdt0-layerzero" + }, + { + "source": "/launch/usdt0.html", + "destination": "/launch/usdt0" + }, + { + "source": "/docs/tools/cli/cookbook/asset-management.html", + "destination": "/docs/tools/cli/cookbook/asset-management" + }, + { + "source": "/docs/tools/cli/cookbook/contract-build-meta.html", + "destination": "/docs/tools/cli/cookbook/contract-build-meta" + }, + { + "source": "/docs/tools/cli/cookbook/contract-invoke-arguments.html", + "destination": "/docs/tools/cli/cookbook/contract-invoke-arguments" + }, + { + "source": "/docs/tools/cli/cookbook/contract-lifecycle.html", + "destination": "/docs/tools/cli/cookbook/contract-lifecycle" + }, + { + "source": "/docs/tools/cli/cookbook/deploy-contract.html", + "destination": "/docs/tools/cli/cookbook/deploy-contract" + }, + { + "source": "/docs/tools/cli/cookbook/deploy-stellar-asset-contract.html", + "destination": "/docs/tools/cli/cookbook/deploy-stellar-asset-contract" + }, + { + "source": "/docs/tools/cli/cookbook/extend-contract-instance.html", + "destination": "/docs/tools/cli/cookbook/extend-contract-instance" + }, + { + "source": "/docs/tools/cli/cookbook/extend-contract-storage.html", + "destination": "/docs/tools/cli/cookbook/extend-contract-storage" + }, + { + "source": "/docs/tools/cli/cookbook/extend-contract-wasm.html", + "destination": "/docs/tools/cli/cookbook/extend-contract-wasm" + }, + { + "source": "/docs/tools/cli/cookbook/index.html", + "destination": "/docs/tools/cli/cookbook/index" + }, + { + "source": "/docs/tools/cli/cookbook/payments-and-assets.html", + "destination": "/docs/tools/cli/cookbook/payments-and-assets" + }, + { + "source": "/docs/tools/cli/cookbook/restore-contract-instance.html", + "destination": "/docs/tools/cli/cookbook/restore-contract-instance" + }, + { + "source": "/docs/tools/cli/cookbook/restore-contract-storage.html", + "destination": "/docs/tools/cli/cookbook/restore-contract-storage" + }, + { + "source": "/docs/tools/cli/cookbook/stellar-keys.html", + "destination": "/docs/tools/cli/cookbook/stellar-keys" + }, + { + "source": "/docs/tools/cli/cookbook/tx-new.html", + "destination": "/docs/tools/cli/cookbook/tx-new" + }, + { + "source": "/docs/tools/cli/cookbook/tx-new-create-claimable-balance.html", + "destination": "/docs/tools/cli/cookbook/tx-new-create-claimable-balance" + }, + { + "source": "/docs/tools/cli/cookbook/tx-op-add.html", + "destination": "/docs/tools/cli/cookbook/tx-op-add" + }, + { + "source": "/docs/tools/cli/cookbook/tx-sign.html", + "destination": "/docs/tools/cli/cookbook/tx-sign" + }, + { + "source": "/docs/tools/cli/cookbook/upload-deploy.html", + "destination": "/docs/tools/cli/cookbook/upload-deploy" + }, + { + "source": "/docs/tools/cli/cookbook/upload-wasm.html", + "destination": "/docs/tools/cli/cookbook/upload-wasm" + }, + { + "source": "/docs/tools/cli/index.html", + "destination": "/docs/tools/cli/index" + }, + { + "source": "/docs/tools/cli/install-cli.html", + "destination": "/docs/tools/cli/install-cli" + }, + { + "source": "/docs/tools/cli/plugins.html", + "destination": "/docs/tools/cli/plugins" + }, + { + "source": "/docs/tools/cli/plugins-list.html", + "destination": "/docs/tools/cli/plugins-list" + }, + { + "source": "/docs/tools/cli/stellar-cli.html", + "destination": "/docs/tools/cli/stellar-cli" + }, + { + "source": "/docs/tools/developer-tools/analytics-platforms.html", + "destination": "/docs/tools/developer-tools/analytics-platforms" + }, + { + "source": "/docs/tools/developer-tools/anchor-tools.html", + "destination": "/docs/tools/developer-tools/anchor-tools" + }, + { + "source": "/docs/tools/developer-tools/asset-tools.html", + "destination": "/docs/tools/developer-tools/asset-tools" + }, + { + "source": "/docs/tools/developer-tools/block-explorers.html", + "destination": "/docs/tools/developer-tools/block-explorers" + }, + { + "source": "/docs/tools/developer-tools/index.html", + "destination": "/docs/tools/developer-tools/index" + }, + { + "source": "/docs/tools/developer-tools/jupyter-notebooks.html", + "destination": "/docs/tools/developer-tools/jupyter-notebooks" + }, + { + "source": "/docs/tools/developer-tools/network-insights.html", + "destination": "/docs/tools/developer-tools/network-insights" + }, + { + "source": "/docs/tools/developer-tools/network-status.html", + "destination": "/docs/tools/developer-tools/network-status" + }, + { + "source": "/docs/tools/developer-tools/node-operator-tools.html", + "destination": "/docs/tools/developer-tools/node-operator-tools" + }, + { + "source": "/docs/tools/developer-tools/online-ide.html", + "destination": "/docs/tools/developer-tools/online-ide" + }, + { + "source": "/docs/tools/developer-tools/security-tools.html", + "destination": "/docs/tools/developer-tools/security-tools" + }, + { + "source": "/docs/tools/developer-tools/wallets.html", + "destination": "/docs/tools/developer-tools/wallets" + }, + { + "source": "/docs/tools/index.html", + "destination": "/docs/tools/index" + }, + { + "source": "/docs/tools/infra-tools/cross-chain.html", + "destination": "/docs/tools/infra-tools/cross-chain" + }, + { + "source": "/docs/tools/infra-tools/index.html", + "destination": "/docs/tools/infra-tools/index" + }, + { + "source": "/docs/tools/lab/account.html", + "destination": "/docs/tools/lab/account" + }, + { + "source": "/docs/tools/lab/api-explorer/horizon-endpoint.html", + "destination": "/docs/tools/lab/api-explorer/horizon-endpoint" + }, + { + "source": "/docs/tools/lab/api-explorer/index.html", + "destination": "/docs/tools/lab/api-explorer/index" + }, + { + "source": "/docs/tools/lab/api-explorer/rpc-methods.html", + "destination": "/docs/tools/lab/api-explorer/rpc-methods" + }, + { + "source": "/docs/tools/lab/index.html", + "destination": "/docs/tools/lab/index" + }, + { + "source": "/docs/tools/lab/quickstart-with-lab.html", + "destination": "/docs/tools/lab/quickstart-with-lab" + }, + { + "source": "/docs/tools/lab/saved/index.html", + "destination": "/docs/tools/lab/saved/index" + }, + { + "source": "/docs/tools/lab/saved/keypairs.html", + "destination": "/docs/tools/lab/saved/keypairs" + }, + { + "source": "/docs/tools/lab/saved/requests.html", + "destination": "/docs/tools/lab/saved/requests" + }, + { + "source": "/docs/tools/lab/saved/transactions.html", + "destination": "/docs/tools/lab/saved/transactions" + }, + { + "source": "/docs/tools/lab/smart-contracts/contract-explorer.html", + "destination": "/docs/tools/lab/smart-contracts/contract-explorer" + }, + { + "source": "/docs/tools/lab/smart-contracts/index.html", + "destination": "/docs/tools/lab/smart-contracts/index" + }, + { + "source": "/docs/tools/lab/smart-contracts/smart-contract-list.html", + "destination": "/docs/tools/lab/smart-contracts/smart-contract-list" + }, + { + "source": "/docs/tools/lab/smart-contracts/upload-deploy-contract.html", + "destination": "/docs/tools/lab/smart-contracts/upload-deploy-contract" + }, + { + "source": "/docs/tools/lab/transaction-dashboard.html", + "destination": "/docs/tools/lab/transaction-dashboard" + }, + { + "source": "/docs/tools/lab/transactions.html", + "destination": "/docs/tools/lab/transactions" + }, + { + "source": "/docs/tools/lab/view-xdr/diff-xdr.html", + "destination": "/docs/tools/lab/view-xdr/diff-xdr" + }, + { + "source": "/docs/tools/lab/view-xdr/index.html", + "destination": "/docs/tools/lab/view-xdr/index" + }, + { + "source": "/docs/tools/lab/view-xdr/json-to-xdr.html", + "destination": "/docs/tools/lab/view-xdr/json-to-xdr" + }, + { + "source": "/docs/tools/lab/view-xdr/xdr-to-json.html", + "destination": "/docs/tools/lab/view-xdr/xdr-to-json" + }, + { + "source": "/docs/tools/openzeppelin-contracts.html", + "destination": "/docs/tools/openzeppelin-contracts" + }, + { + "source": "/docs/tools/openzeppelin-relayer.html", + "destination": "/docs/tools/openzeppelin-relayer" + }, + { + "source": "/docs/tools/quickstart/advanced-usage/container.html", + "destination": "/docs/tools/quickstart/advanced-usage/container" + }, + { + "source": "/docs/tools/quickstart/advanced-usage/index.html", + "destination": "/docs/tools/quickstart/advanced-usage/index" + }, + { + "source": "/docs/tools/quickstart/advanced-usage/operation-modes.html", + "destination": "/docs/tools/quickstart/advanced-usage/operation-modes" + }, + { + "source": "/docs/tools/quickstart/advanced-usage/ports.html", + "destination": "/docs/tools/quickstart/advanced-usage/ports" + }, + { + "source": "/docs/tools/quickstart/advanced-usage/run-command-examples.html", + "destination": "/docs/tools/quickstart/advanced-usage/run-command-examples" + }, + { + "source": "/docs/tools/quickstart/advanced-usage/service-options.html", + "destination": "/docs/tools/quickstart/advanced-usage/service-options" + }, + { + "source": "/docs/tools/quickstart/cloud/digitalocean.html", + "destination": "/docs/tools/quickstart/cloud/digitalocean" + }, + { + "source": "/docs/tools/quickstart/cloud/fly.io.html", + "destination": "/docs/tools/quickstart/cloud/fly.io" + }, + { + "source": "/docs/tools/quickstart/cloud/index.html", + "destination": "/docs/tools/quickstart/cloud/index" + }, + { + "source": "/docs/tools/quickstart/debugging/diagnostic-events.html", + "destination": "/docs/tools/quickstart/debugging/diagnostic-events" + }, + { + "source": "/docs/tools/quickstart/debugging/index.html", + "destination": "/docs/tools/quickstart/debugging/index" + }, + { + "source": "/docs/tools/quickstart/debugging/viewing-logs.html", + "destination": "/docs/tools/quickstart/debugging/viewing-logs" + }, + { + "source": "/docs/tools/quickstart/explorer.html", + "destination": "/docs/tools/quickstart/explorer" + }, + { + "source": "/docs/tools/quickstart/faucet.html", + "destination": "/docs/tools/quickstart/faucet" + }, + { + "source": "/docs/tools/quickstart/getting-started/connect-stellar-lab.html", + "destination": "/docs/tools/quickstart/getting-started/connect-stellar-lab" + }, + { + "source": "/docs/tools/quickstart/getting-started/deploy-smart-contract.html", + "destination": "/docs/tools/quickstart/getting-started/deploy-smart-contract" + }, + { + "source": "/docs/tools/quickstart/getting-started/index.html", + "destination": "/docs/tools/quickstart/getting-started/index" + }, + { + "source": "/docs/tools/quickstart/index.html", + "destination": "/docs/tools/quickstart/index" + }, + { + "source": "/docs/tools/quickstart/network-modes.html", + "destination": "/docs/tools/quickstart/network-modes" + }, + { + "source": "/docs/tools/ramps/index.html", + "destination": "/docs/tools/ramps/index" + }, + { + "source": "/docs/tools/ramps/moneygram.html", + "destination": "/docs/tools/ramps/moneygram" + }, + { + "source": "/docs/tools/scaffold-stellar.html", + "destination": "/docs/tools/scaffold-stellar" + }, + { + "source": "/docs/tools/sdks/build-your-own.html", + "destination": "/docs/tools/sdks/build-your-own" + }, + { + "source": "/docs/tools/sdks/client-sdks.html", + "destination": "/docs/tools/sdks/client-sdks" + }, + { + "source": "/docs/tools/sdks/contract-sdks.html", + "destination": "/docs/tools/sdks/contract-sdks" + }, + { + "source": "/docs/tools/sdks/index.html", + "destination": "/docs/tools/sdks/index" + }, + { + "source": "/docs/validators/admin-guide/advanced.html", + "destination": "/docs/validators/admin-guide/advanced" + }, + { + "source": "/docs/validators/admin-guide/commands.html", + "destination": "/docs/validators/admin-guide/commands" + }, + { + "source": "/docs/validators/admin-guide/configuring.html", + "destination": "/docs/validators/admin-guide/configuring" + }, + { + "source": "/docs/validators/admin-guide/environment-preparation.html", + "destination": "/docs/validators/admin-guide/environment-preparation" + }, + { + "source": "/docs/validators/admin-guide/index.html", + "destination": "/docs/validators/admin-guide/index" + }, + { + "source": "/docs/validators/admin-guide/installation.html", + "destination": "/docs/validators/admin-guide/installation" + }, + { + "source": "/docs/validators/admin-guide/logging.html", + "destination": "/docs/validators/admin-guide/logging" + }, + { + "source": "/docs/validators/admin-guide/maintenance.html", + "destination": "/docs/validators/admin-guide/maintenance" + }, + { + "source": "/docs/validators/admin-guide/monitoring.html", + "destination": "/docs/validators/admin-guide/monitoring" + }, + { + "source": "/docs/validators/admin-guide/network-upgrades.html", + "destination": "/docs/validators/admin-guide/network-upgrades" + }, + { + "source": "/docs/validators/admin-guide/prerequisites.html", + "destination": "/docs/validators/admin-guide/prerequisites" + }, + { + "source": "/docs/validators/admin-guide/publishing-history-archives.html", + "destination": "/docs/validators/admin-guide/publishing-history-archives" + }, + { + "source": "/docs/validators/admin-guide/running-node.html", + "destination": "/docs/validators/admin-guide/running-node" + }, + { + "source": "/docs/validators/admin-guide/soroban-settings.html", + "destination": "/docs/validators/admin-guide/soroban-settings" + }, + { + "source": "/docs/validators/index.html", + "destination": "/docs/validators/index" + }, + { + "source": "/docs/validators/tier-1-orgs.html", + "destination": "/docs/validators/tier-1-orgs" + }, + { + "source": "/index.html", + "destination": "/index" + }, + { + "source": "/meetings/2024/01/18.html", + "destination": "/meetings/2024/01/18" + }, + { + "source": "/meetings/2024/01/26.html", + "destination": "/meetings/2024/01/26" + }, + { + "source": "/meetings/2024/02/01.html", + "destination": "/meetings/2024/02/01" + }, + { + "source": "/meetings/2024/02/08.html", + "destination": "/meetings/2024/02/08" + }, + { + "source": "/meetings/2024/02/15.html", + "destination": "/meetings/2024/02/15" + }, + { + "source": "/meetings/2024/02/22.html", + "destination": "/meetings/2024/02/22" + }, + { + "source": "/meetings/2024/02/29.html", + "destination": "/meetings/2024/02/29" + }, + { + "source": "/meetings/2024/03/07.html", + "destination": "/meetings/2024/03/07" + }, + { + "source": "/meetings/2024/03/14.html", + "destination": "/meetings/2024/03/14" + }, + { + "source": "/meetings/2024/03/21.html", + "destination": "/meetings/2024/03/21" + }, + { + "source": "/meetings/2024/03/28.html", + "destination": "/meetings/2024/03/28" + }, + { + "source": "/meetings/2024/04/04.html", + "destination": "/meetings/2024/04/04" + }, + { + "source": "/meetings/2024/04/11.html", + "destination": "/meetings/2024/04/11" + }, + { + "source": "/meetings/2024/04/18.html", + "destination": "/meetings/2024/04/18" + }, + { + "source": "/meetings/2024/04/25.html", + "destination": "/meetings/2024/04/25" + }, + { + "source": "/meetings/2024/05/02.html", + "destination": "/meetings/2024/05/02" + }, + { + "source": "/meetings/2024/05/09.html", + "destination": "/meetings/2024/05/09" + }, + { + "source": "/meetings/2024/06/13.html", + "destination": "/meetings/2024/06/13" + }, + { + "source": "/meetings/2024/06/20.html", + "destination": "/meetings/2024/06/20" + }, + { + "source": "/meetings/2024/06/27.html", + "destination": "/meetings/2024/06/27" + }, + { + "source": "/meetings/2024/07/11.html", + "destination": "/meetings/2024/07/11" + }, + { + "source": "/meetings/2024/07/18.html", + "destination": "/meetings/2024/07/18" + }, + { + "source": "/meetings/2024/07/25.html", + "destination": "/meetings/2024/07/25" + }, + { + "source": "/meetings/2024/08/01.html", + "destination": "/meetings/2024/08/01" + }, + { + "source": "/meetings/2024/08/08.html", + "destination": "/meetings/2024/08/08" + }, + { + "source": "/meetings/2024/08/15.html", + "destination": "/meetings/2024/08/15" + }, + { + "source": "/meetings/2024/08/22.html", + "destination": "/meetings/2024/08/22" + }, + { + "source": "/meetings/2024/08/29.html", + "destination": "/meetings/2024/08/29" + }, + { + "source": "/meetings/2024/09/05.html", + "destination": "/meetings/2024/09/05" + }, + { + "source": "/meetings/2024/09/12.html", + "destination": "/meetings/2024/09/12" + }, + { + "source": "/meetings/2024/09/19.html", + "destination": "/meetings/2024/09/19" + }, + { + "source": "/meetings/2024/09/26.html", + "destination": "/meetings/2024/09/26" + }, + { + "source": "/meetings/2024/10/24.html", + "destination": "/meetings/2024/10/24" + }, + { + "source": "/meetings/2024/11/14.html", + "destination": "/meetings/2024/11/14" + }, + { + "source": "/meetings/2024/12/05.html", + "destination": "/meetings/2024/12/05" + }, + { + "source": "/meetings/2024/12/12.html", + "destination": "/meetings/2024/12/12" + }, + { + "source": "/meetings/2024/12/19.html", + "destination": "/meetings/2024/12/19" + }, + { + "source": "/meetings/2025/01/16.html", + "destination": "/meetings/2025/01/16" + }, + { + "source": "/meetings/2025/01/23.html", + "destination": "/meetings/2025/01/23" + }, + { + "source": "/meetings/2025/01/30.html", + "destination": "/meetings/2025/01/30" + }, + { + "source": "/meetings/2025/02/06.html", + "destination": "/meetings/2025/02/06" + }, + { + "source": "/meetings/2025/02/13.html", + "destination": "/meetings/2025/02/13" + }, + { + "source": "/meetings/2025/02/20.html", + "destination": "/meetings/2025/02/20" + }, + { + "source": "/meetings/2025/02/27.html", + "destination": "/meetings/2025/02/27" + }, + { + "source": "/meetings/2025/03/06.html", + "destination": "/meetings/2025/03/06" + }, + { + "source": "/meetings/2025/03/27.html", + "destination": "/meetings/2025/03/27" + }, + { + "source": "/meetings/2025/04/03.html", + "destination": "/meetings/2025/04/03" + }, + { + "source": "/meetings/2025/04/10.html", + "destination": "/meetings/2025/04/10" + }, + { + "source": "/meetings/2025/04/17.html", + "destination": "/meetings/2025/04/17" + }, + { + "source": "/meetings/2025/05/01.html", + "destination": "/meetings/2025/05/01" + }, + { + "source": "/meetings/2025/05/22.html", + "destination": "/meetings/2025/05/22" + }, + { + "source": "/meetings/2025/07/10.html", + "destination": "/meetings/2025/07/10" + }, + { + "source": "/meetings/2025/07/17.html", + "destination": "/meetings/2025/07/17" + }, + { + "source": "/meetings/2025/07/24.html", + "destination": "/meetings/2025/07/24" + }, + { + "source": "/meetings/2025/08/07.html", + "destination": "/meetings/2025/08/07" + }, + { + "source": "/meetings/2025/09/25.html", + "destination": "/meetings/2025/09/25" + }, + { + "source": "/meetings/2025/10/02.html", + "destination": "/meetings/2025/10/02" + }, + { + "source": "/meetings/2025/10/09.html", + "destination": "/meetings/2025/10/09" + }, + { + "source": "/meetings/2025/10/16.html", + "destination": "/meetings/2025/10/16" + }, + { + "source": "/meetings/2025/10/23.html", + "destination": "/meetings/2025/10/23" + }, + { + "source": "/meetings/2025/10/30.html", + "destination": "/meetings/2025/10/30" + }, + { + "source": "/meetings/2025/11/06.html", + "destination": "/meetings/2025/11/06" + }, + { + "source": "/meetings/2026/01/22.html", + "destination": "/meetings/2026/01/22" + }, + { + "source": "/meetings/2026/01/29.html", + "destination": "/meetings/2026/01/29" + }, + { + "source": "/meetings/2026/02/26.html", + "destination": "/meetings/2026/02/26" + }, + { + "source": "/meetings/2026/04/16.html", + "destination": "/meetings/2026/04/16" + }, + { + "source": "/meetings/2026/04/23.html", + "destination": "/meetings/2026/04/23" + }, + { + "source": "/meetings/2026/04/30.html", + "destination": "/meetings/2026/04/30" + }, + { + "source": "/meetings/2026/05/07.html", + "destination": "/meetings/2026/05/07" + }, + { + "source": "/meetings/2026/05/14.html", + "destination": "/meetings/2026/05/14" + }, + { + "source": "/meetings/2026/05/21.html", + "destination": "/meetings/2026/05/21" + }, + { + "source": "/meetings/2026/06/11.html", + "destination": "/meetings/2026/06/11" + }, + { + "source": "/meetings/2026/06/18.html", + "destination": "/meetings/2026/06/18" + }, + { + "source": "/meetings/2026/06/25.html", + "destination": "/meetings/2026/06/25" + }, + { + "source": "/meetings/2026/07/02.html", + "destination": "/meetings/2026/07/02" + }, + { + "source": "/meetings/2026/07/16.html", + "destination": "/meetings/2026/07/16" + }, + { + "source": "/meetings/2026/07/23.html", + "destination": "/meetings/2026/07/23" + }, + { + "source": "/meetings/2026/07/30.html", + "destination": "/meetings/2026/07/30" + }, + { + "source": "/meetings/2026/08/06.html", + "destination": "/meetings/2026/08/06" + }, + { + "source": "/meetings/2026/08/13.html", + "destination": "/meetings/2026/08/13" + }, + { + "source": "/meetings/index.html", + "destination": "/meetings/index" + } +] diff --git a/routes.txt b/routes.txt deleted file mode 100644 index f03d7f79d..000000000 --- a/routes.txt +++ /dev/null @@ -1,1001 +0,0 @@ -/ -/404.html -/docs -/docs/build -/docs/build/agentic-payments -/docs/build/agentic-payments/mpp -/docs/build/agentic-payments/mpp/channel-guide -/docs/build/agentic-payments/mpp/charge-guide -/docs/build/agentic-payments/x402 -/docs/build/agentic-payments/x402/built-on-stellar -/docs/build/agentic-payments/x402/quickstart-guide -/docs/build/apps -/docs/build/apps/application-design-considerations -/docs/build/apps/dapp-frontend -/docs/build/apps/example-application-tutorial -/docs/build/apps/example-application-tutorial/account-creation -/docs/build/apps/example-application-tutorial/anchor-integration -/docs/build/apps/example-application-tutorial/anchor-integration/sep1 -/docs/build/apps/example-application-tutorial/anchor-integration/sep10 -/docs/build/apps/example-application-tutorial/anchor-integration/sep24 -/docs/build/apps/example-application-tutorial/anchor-integration/sep6 -/docs/build/apps/example-application-tutorial/anchor-integration/setup -/docs/build/apps/example-application-tutorial/confirmation-modal -/docs/build/apps/example-application-tutorial/contacts-list -/docs/build/apps/example-application-tutorial/manage-trust -/docs/build/apps/example-application-tutorial/overview -/docs/build/apps/example-application-tutorial/path-payment -/docs/build/apps/example-application-tutorial/payment -/docs/build/apps/example-application-tutorial/querying-data -/docs/build/apps/guestbook -/docs/build/apps/guestbook/bindings -/docs/build/apps/guestbook/frontend -/docs/build/apps/guestbook/overview -/docs/build/apps/guestbook/passkeys-prerequisites -/docs/build/apps/guestbook/setup-passkeys -/docs/build/apps/guestbook/smart-contract -/docs/build/apps/ingest-sdk -/docs/build/apps/ingest-sdk/ingestion-pipeline-code -/docs/build/apps/ingest-sdk/overview -/docs/build/apps/overview -/docs/build/apps/privacy -/docs/build/apps/swift-payment-app -/docs/build/apps/wallet -/docs/build/apps/wallet/intro -/docs/build/apps/wallet/overview -/docs/build/apps/wallet/sep10 -/docs/build/apps/wallet/sep24 -/docs/build/apps/wallet/sep30 -/docs/build/apps/wallet/sep38 -/docs/build/apps/wallet/sep6 -/docs/build/apps/wallet/sep7 -/docs/build/apps/wallet/stellar -/docs/build/apps/zk -/docs/build/building-with-ai -/docs/build/guides -/docs/build/guides/archival -/docs/build/guides/archival/create-restoration-footprint-js -/docs/build/guides/archival/extend-persistent-entry-js -/docs/build/guides/archival/restore-contract-js -/docs/build/guides/archival/restore-data-js -/docs/build/guides/archival/test-ttl-extension -/docs/build/guides/auth -/docs/build/guides/auth/check-auth-tutorials -/docs/build/guides/auth/contract-authorization -/docs/build/guides/basics -/docs/build/guides/basics/automate-reset-data -/docs/build/guides/basics/classic-transition -/docs/build/guides/basics/verify-trustlines -/docs/build/guides/contract-accounts -/docs/build/guides/contract-accounts/advanced-patterns -/docs/build/guides/contract-accounts/examples -/docs/build/guides/contract-accounts/smart-wallets -/docs/build/guides/conventions -/docs/build/guides/conventions/cross-contract -/docs/build/guides/conventions/deploy-contract -/docs/build/guides/conventions/deploy-sac-with-code -/docs/build/guides/conventions/error-enum -/docs/build/guides/conventions/extending-wasm-ttl -/docs/build/guides/conventions/upgrading-contracts -/docs/build/guides/conventions/wasm-metadata -/docs/build/guides/conventions/workspace -/docs/build/guides/conversions -/docs/build/guides/conversions/address-conversions -/docs/build/guides/conversions/bytes-conversions -/docs/build/guides/conversions/scval-conversions -/docs/build/guides/conversions/string-conversions -/docs/build/guides/dapps -/docs/build/guides/dapps/frontend-guide -/docs/build/guides/dapps/initialization -/docs/build/guides/dapps/soroban-contract-init-template -/docs/build/guides/dapps/state-archival -/docs/build/guides/dapps/working-with-contract-specs -/docs/build/guides/events -/docs/build/guides/events/consume -/docs/build/guides/events/ingest -/docs/build/guides/events/publish -/docs/build/guides/events/replay-ledger-close-meta -/docs/build/guides/fees -/docs/build/guides/fees/analyzing-smart-contract-cost -/docs/build/guides/freighter -/docs/build/guides/freighter/connect-testnet -/docs/build/guides/freighter/enable-soroban-tokens -/docs/build/guides/freighter/integrate-freighter-react -/docs/build/guides/freighter/prompt-to-sign-tx -/docs/build/guides/freighter/send-token-payments -/docs/build/guides/freighter/sign-auth-entries -/docs/build/guides/freighter/sign-soroban-xdrs -/docs/build/guides/rpc -/docs/build/guides/rpc/generate-ledger-keys-python -/docs/build/guides/rpc/retrieve-contract-code-js -/docs/build/guides/rpc/retrieve-contract-code-python -/docs/build/guides/storage -/docs/build/guides/storage/choosing-the-right-storage -/docs/build/guides/storage/migrate-contract-storage -/docs/build/guides/storage/storage-strategies -/docs/build/guides/storage/use-instance -/docs/build/guides/storage/use-persistent -/docs/build/guides/storage/use-temporary -/docs/build/guides/testing -/docs/build/guides/testing/code-coverage -/docs/build/guides/testing/differential-tests -/docs/build/guides/testing/differential-tests-with-test-snapshots -/docs/build/guides/testing/fork-testing -/docs/build/guides/testing/fuzzing -/docs/build/guides/testing/integration-tests -/docs/build/guides/testing/ledger-snapshot-testing -/docs/build/guides/testing/mocking -/docs/build/guides/testing/mutation-testing -/docs/build/guides/testing/test-contract-auth -/docs/build/guides/testing/test-contract-events -/docs/build/guides/testing/unit-tests -/docs/build/guides/tokens -/docs/build/guides/tokens/custom-sac-admin -/docs/build/guides/tokens/deploying-a-sac -/docs/build/guides/tokens/stellar-asset-contract -/docs/build/guides/transactions -/docs/build/guides/transactions/channel-accounts -/docs/build/guides/transactions/claimable-balances -/docs/build/guides/transactions/clawbacks -/docs/build/guides/transactions/create-account -/docs/build/guides/transactions/fee-bump-transactions -/docs/build/guides/transactions/fee-sponsorship -/docs/build/guides/transactions/install-deploy-contract-with-code -/docs/build/guides/transactions/invoke-contract-tx-sdk -/docs/build/guides/transactions/path-payments -/docs/build/guides/transactions/pooled-accounts-muxed-accounts-memos -/docs/build/guides/transactions/send-and-receive-c-accounts -/docs/build/guides/transactions/send-and-receive-payments -/docs/build/guides/transactions/signing-soroban-invocations -/docs/build/guides/transactions/simulateTransaction-Deep-Dive -/docs/build/guides/transactions/sponsored-reserves -/docs/build/guides/transactions/submit-transaction-wait-js -/docs/build/guides/transactions/upload-wasm-bytecode -/docs/build/security-docs -/docs/build/security-docs/monitoring -/docs/build/security-docs/monitoring/monitoring-template-builders -/docs/build/security-docs/monitoring/monitoring-template-users -/docs/build/security-docs/securing-web-based-projects -/docs/build/security-docs/threat-modeling -/docs/build/security-docs/threat-modeling/STRIDE-template -/docs/build/security-docs/threat-modeling/pizza-restaurant-example -/docs/build/security-docs/threat-modeling/threat-modeling-description -/docs/build/security-docs/threat-modeling/threat-modeling-how-to -/docs/build/smart-contracts -/docs/build/smart-contracts/example-contracts -/docs/build/smart-contracts/example-contracts/alloc -/docs/build/smart-contracts/example-contracts/atomic-multi-swap -/docs/build/smart-contracts/example-contracts/atomic-swap -/docs/build/smart-contracts/example-contracts/auth -/docs/build/smart-contracts/example-contracts/bls-signature -/docs/build/smart-contracts/example-contracts/complex-account -/docs/build/smart-contracts/example-contracts/cross-contract-call -/docs/build/smart-contracts/example-contracts/custom-types -/docs/build/smart-contracts/example-contracts/delegate-auth -/docs/build/smart-contracts/example-contracts/deployer -/docs/build/smart-contracts/example-contracts/errors -/docs/build/smart-contracts/example-contracts/events -/docs/build/smart-contracts/example-contracts/fuzzing -/docs/build/smart-contracts/example-contracts/liquidity-pool -/docs/build/smart-contracts/example-contracts/logging -/docs/build/smart-contracts/example-contracts/mint-lock -/docs/build/smart-contracts/example-contracts/simple-account -/docs/build/smart-contracts/example-contracts/single-offer-sale -/docs/build/smart-contracts/example-contracts/storage -/docs/build/smart-contracts/example-contracts/timelock -/docs/build/smart-contracts/example-contracts/tokens -/docs/build/smart-contracts/example-contracts/upgradeable-contract -/docs/build/smart-contracts/example-contracts/workspace -/docs/build/smart-contracts/getting-started -/docs/build/smart-contracts/getting-started/deploy-increment-contract -/docs/build/smart-contracts/getting-started/deploy-to-testnet -/docs/build/smart-contracts/getting-started/hello-world -/docs/build/smart-contracts/getting-started/hello-world-frontend -/docs/build/smart-contracts/getting-started/setup -/docs/build/smart-contracts/getting-started/storing-data -/docs/build/smart-contracts/overview -/docs/data -/docs/data/analytics -/docs/data/analytics/analytics-providers -/docs/data/analytics/hubble -/docs/data/analytics/hubble/analyst-guide -/docs/data/analytics/hubble/analyst-guide/connecting -/docs/data/analytics/hubble/analyst-guide/creating-visualizations -/docs/data/analytics/hubble/analyst-guide/history-vs-state-tables -/docs/data/analytics/hubble/analyst-guide/optimizing-queries -/docs/data/analytics/hubble/analyst-guide/queries-for-horizon-like-data -/docs/data/analytics/hubble/analyst-guide/viewing-metadata -/docs/data/analytics/hubble/data-catalog -/docs/data/analytics/hubble/data-catalog/data-dictionary -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/account-signers -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/accounts -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/claimable-balances -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/config-settings -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-code -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/contract-data -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/evicted-keys -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-assets -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-contract-events -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-effects -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-ledgers -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-operations -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-trades -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/history-transactions -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/liquidity-pools -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/offers -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/restored-key -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/trustlines -/docs/data/analytics/hubble/data-catalog/data-dictionary/bronze/ttl -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/account-balances-daily-agg -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/asset-balances-daily-agg -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/daily-fee-stats-agg -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-fee-agg-account -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/hourly-soroban-fee-agg-contract -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/ledger-fee-stats-agg -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/soroban-core-metrics -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/trade-agg -/docs/data/analytics/hubble/data-catalog/data-dictionary/gold/tvl-agg -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/account-signers-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/accounts-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/claimable-balances-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/config-settings-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-code-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/contract-data-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/enriched-history-operations-soroban -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/evicted-keys-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/liquidity-pools-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/offers-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-cex-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-fex-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/reflector-prices-data-sdex-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/token-transfers-raw -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-current -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/trustlines-snapshot -/docs/data/analytics/hubble/data-catalog/data-dictionary/silver/ttl-current -/docs/data/analytics/hubble/data-catalog/data-lineage -/docs/data/analytics/hubble/data-catalog/data-model-diagram -/docs/data/analytics/hubble/developer-guide -/docs/data/analytics/hubble/developer-guide/backfill -/docs/data/analytics/hubble/developer-guide/backfill/JS-UDF -/docs/data/analytics/hubble/developer-guide/backfill/data-import -/docs/data/analytics/hubble/developer-guide/connecting-to-bigquery -/docs/data/analytics/hubble/developer-guide/data-curation -/docs/data/analytics/hubble/developer-guide/data-curation/architecture -/docs/data/analytics/hubble/developer-guide/data-curation/getting-started -/docs/data/analytics/hubble/developer-guide/data-curation/overview -/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration -/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/architecture -/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/getting-started -/docs/data/analytics/hubble/developer-guide/scheduling-and-orchestration/overview -/docs/data/analytics/hubble/developer-guide/source-system-ingestion -/docs/data/analytics/hubble/developer-guide/source-system-ingestion/architecture -/docs/data/analytics/hubble/developer-guide/source-system-ingestion/getting-started -/docs/data/analytics/hubble/developer-guide/source-system-ingestion/overview -/docs/data/analytics/hubble/developer-guide/visualization -/docs/data/analytics/hubble/developer-guide/visualization/getting-started -/docs/data/analytics/hubble/developer-guide/visualization/overview -/docs/data/analytics/public-dashboards -/docs/data/apis -/docs/data/apis/horizon -/docs/data/apis/horizon/admin-guide -/docs/data/apis/horizon/admin-guide/configuring -/docs/data/apis/horizon/admin-guide/ingestion -/docs/data/apis/horizon/admin-guide/ingestion-filtering -/docs/data/apis/horizon/admin-guide/installing -/docs/data/apis/horizon/admin-guide/monitoring -/docs/data/apis/horizon/admin-guide/overview -/docs/data/apis/horizon/admin-guide/prerequisites -/docs/data/apis/horizon/admin-guide/running -/docs/data/apis/horizon/admin-guide/scaling -/docs/data/apis/horizon/admin-guide/upgrading -/docs/data/apis/horizon/api-reference -/docs/data/apis/horizon/api-reference/aggregations -/docs/data/apis/horizon/api-reference/aggregations/fee-stats -/docs/data/apis/horizon/api-reference/aggregations/fee-stats/object -/docs/data/apis/horizon/api-reference/aggregations/order-books -/docs/data/apis/horizon/api-reference/aggregations/order-books/object -/docs/data/apis/horizon/api-reference/aggregations/paths -/docs/data/apis/horizon/api-reference/aggregations/paths/object -/docs/data/apis/horizon/api-reference/aggregations/trade-aggregations -/docs/data/apis/horizon/api-reference/aggregations/trade-aggregations/object -/docs/data/apis/horizon/api-reference/cb-retrieve-related-operations -/docs/data/apis/horizon/api-reference/cb-retrieve-related-transactions -/docs/data/apis/horizon/api-reference/errors -/docs/data/apis/horizon/api-reference/errors/error-handling -/docs/data/apis/horizon/api-reference/errors/http-status-codes -/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific -/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/before-history -/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/stale-history -/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/timeout -/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-failed -/docs/data/apis/horizon/api-reference/errors/http-status-codes/horizon-specific/transaction-malformed -/docs/data/apis/horizon/api-reference/errors/http-status-codes/standard -/docs/data/apis/horizon/api-reference/errors/response -/docs/data/apis/horizon/api-reference/errors/result-codes -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/account-merge -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/allow-trust -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/bump-sequence -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/change-trust -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-account -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/create-passive-sell-offer -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-buy-offer -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-data -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/manage-sell-offer -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-receive -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/path-payment-strict-send -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/payment -/docs/data/apis/horizon/api-reference/errors/result-codes/operation-specific/set-options -/docs/data/apis/horizon/api-reference/errors/result-codes/operations -/docs/data/apis/horizon/api-reference/errors/result-codes/transactions -/docs/data/apis/horizon/api-reference/get-all-offers -/docs/data/apis/horizon/api-reference/get-all-trades -/docs/data/apis/horizon/api-reference/get-data-by-account-id -/docs/data/apis/horizon/api-reference/get-effects-by-account-id -/docs/data/apis/horizon/api-reference/get-offer-by-offer-id -/docs/data/apis/horizon/api-reference/get-offers-by-account-id -/docs/data/apis/horizon/api-reference/get-operations-by-account-id -/docs/data/apis/horizon/api-reference/get-payments-by-account-id -/docs/data/apis/horizon/api-reference/get-trades-by-account-id -/docs/data/apis/horizon/api-reference/get-trades-by-offer-id -/docs/data/apis/horizon/api-reference/get-transactions-by-account-id -/docs/data/apis/horizon/api-reference/list-all-accounts -/docs/data/apis/horizon/api-reference/list-all-assets -/docs/data/apis/horizon/api-reference/list-all-claimable-balances -/docs/data/apis/horizon/api-reference/list-all-effects -/docs/data/apis/horizon/api-reference/list-all-ledgers -/docs/data/apis/horizon/api-reference/list-all-operations -/docs/data/apis/horizon/api-reference/list-all-payments -/docs/data/apis/horizon/api-reference/list-all-transactions -/docs/data/apis/horizon/api-reference/list-liquidity-pools -/docs/data/apis/horizon/api-reference/list-strict-receive-payment-paths -/docs/data/apis/horizon/api-reference/list-strict-send-payment-paths -/docs/data/apis/horizon/api-reference/list-trade-aggregations -/docs/data/apis/horizon/api-reference/lp-retrieve-related-operations -/docs/data/apis/horizon/api-reference/lp-retrieve-related-transactions -/docs/data/apis/horizon/api-reference/resources -/docs/data/apis/horizon/api-reference/resources/accounts -/docs/data/apis/horizon/api-reference/resources/accounts/object -/docs/data/apis/horizon/api-reference/resources/assets -/docs/data/apis/horizon/api-reference/resources/assets/object -/docs/data/apis/horizon/api-reference/resources/claimablebalances -/docs/data/apis/horizon/api-reference/resources/claimablebalances/object -/docs/data/apis/horizon/api-reference/resources/effects -/docs/data/apis/horizon/api-reference/resources/effects/types -/docs/data/apis/horizon/api-reference/resources/ledgers -/docs/data/apis/horizon/api-reference/resources/ledgers/object -/docs/data/apis/horizon/api-reference/resources/liquiditypools -/docs/data/apis/horizon/api-reference/resources/offers -/docs/data/apis/horizon/api-reference/resources/offers/object -/docs/data/apis/horizon/api-reference/resources/operations -/docs/data/apis/horizon/api-reference/resources/operations/object -/docs/data/apis/horizon/api-reference/resources/operations/object/account-merge -/docs/data/apis/horizon/api-reference/resources/operations/object/allow-trust -/docs/data/apis/horizon/api-reference/resources/operations/object/begin-sponsoring-future-reserves -/docs/data/apis/horizon/api-reference/resources/operations/object/bump-sequence -/docs/data/apis/horizon/api-reference/resources/operations/object/buy-offer -/docs/data/apis/horizon/api-reference/resources/operations/object/change-trust -/docs/data/apis/horizon/api-reference/resources/operations/object/claim-claimable-balance -/docs/data/apis/horizon/api-reference/resources/operations/object/create-account -/docs/data/apis/horizon/api-reference/resources/operations/object/create-claimable-balance -/docs/data/apis/horizon/api-reference/resources/operations/object/end-sponsoring-future-reserves -/docs/data/apis/horizon/api-reference/resources/operations/object/extend-footprint-ttl -/docs/data/apis/horizon/api-reference/resources/operations/object/invoke-host-function -/docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-deposit -/docs/data/apis/horizon/api-reference/resources/operations/object/liquidity-pool-withdraw -/docs/data/apis/horizon/api-reference/resources/operations/object/manage-data -/docs/data/apis/horizon/api-reference/resources/operations/object/passive-sell-offer -/docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-receive -/docs/data/apis/horizon/api-reference/resources/operations/object/path-payment-strict-send -/docs/data/apis/horizon/api-reference/resources/operations/object/restore-footprint -/docs/data/apis/horizon/api-reference/resources/operations/object/revoke-sponsorship -/docs/data/apis/horizon/api-reference/resources/operations/object/sell-offer -/docs/data/apis/horizon/api-reference/resources/operations/object/set-options -/docs/data/apis/horizon/api-reference/resources/payments -/docs/data/apis/horizon/api-reference/resources/payments/object -/docs/data/apis/horizon/api-reference/resources/trades -/docs/data/apis/horizon/api-reference/resources/trades/object -/docs/data/apis/horizon/api-reference/resources/transactions -/docs/data/apis/horizon/api-reference/resources/transactions/object -/docs/data/apis/horizon/api-reference/retrieve-a-claimable-balance -/docs/data/apis/horizon/api-reference/retrieve-a-ledger -/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-effects -/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-operations -/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-payments -/docs/data/apis/horizon/api-reference/retrieve-a-ledgers-transactions -/docs/data/apis/horizon/api-reference/retrieve-a-liquidity-pool -/docs/data/apis/horizon/api-reference/retrieve-a-transaction -/docs/data/apis/horizon/api-reference/retrieve-a-transactions-effects -/docs/data/apis/horizon/api-reference/retrieve-a-transactions-operations -/docs/data/apis/horizon/api-reference/retrieve-a-transactions-payments -/docs/data/apis/horizon/api-reference/retrieve-an-account -/docs/data/apis/horizon/api-reference/retrieve-an-operation -/docs/data/apis/horizon/api-reference/retrieve-an-operations-effects -/docs/data/apis/horizon/api-reference/retrieve-an-order-book -/docs/data/apis/horizon/api-reference/retrieve-fee-stats -/docs/data/apis/horizon/api-reference/retrieve-related-effects -/docs/data/apis/horizon/api-reference/retrieve-related-trades -/docs/data/apis/horizon/api-reference/structure -/docs/data/apis/horizon/api-reference/structure/consistency -/docs/data/apis/horizon/api-reference/structure/pagination -/docs/data/apis/horizon/api-reference/structure/pagination/page-arguments -/docs/data/apis/horizon/api-reference/structure/rate-limiting -/docs/data/apis/horizon/api-reference/structure/response-format -/docs/data/apis/horizon/api-reference/structure/streaming -/docs/data/apis/horizon/api-reference/structure/xdr -/docs/data/apis/horizon/api-reference/submit-a-transaction -/docs/data/apis/horizon/api-reference/submit-async-transaction -/docs/data/apis/horizon/providers -/docs/data/apis/migrate-from-horizon-to-rpc -/docs/data/apis/rpc -/docs/data/apis/rpc/admin-guide -/docs/data/apis/rpc/admin-guide/configuring -/docs/data/apis/rpc/admin-guide/data-lake-integration -/docs/data/apis/rpc/admin-guide/development -/docs/data/apis/rpc/admin-guide/installing -/docs/data/apis/rpc/admin-guide/monitoring -/docs/data/apis/rpc/admin-guide/prerequisites -/docs/data/apis/rpc/admin-guide/running -/docs/data/apis/rpc/api-reference -/docs/data/apis/rpc/api-reference/methods -/docs/data/apis/rpc/api-reference/methods/getEvents -/docs/data/apis/rpc/api-reference/methods/getFeeStats -/docs/data/apis/rpc/api-reference/methods/getHealth -/docs/data/apis/rpc/api-reference/methods/getLatestLedger -/docs/data/apis/rpc/api-reference/methods/getLedgerEntries -/docs/data/apis/rpc/api-reference/methods/getLedgers -/docs/data/apis/rpc/api-reference/methods/getNetwork -/docs/data/apis/rpc/api-reference/methods/getTransaction -/docs/data/apis/rpc/api-reference/methods/getTransactions -/docs/data/apis/rpc/api-reference/methods/getVersionInfo -/docs/data/apis/rpc/api-reference/methods/queryEvents -/docs/data/apis/rpc/api-reference/methods/sendTransaction -/docs/data/apis/rpc/api-reference/methods/simulateTransaction -/docs/data/apis/rpc/api-reference/structure -/docs/data/apis/rpc/api-reference/structure/data-format -/docs/data/apis/rpc/api-reference/structure/json-rpc -/docs/data/apis/rpc/api-reference/structure/pagination -/docs/data/apis/rpc/providers -/docs/data/indexers -/docs/data/indexers/build-your-own -/docs/data/indexers/build-your-own/galexie -/docs/data/indexers/build-your-own/galexie/admin_guide -/docs/data/indexers/build-your-own/galexie/admin_guide/configuring -/docs/data/indexers/build-your-own/galexie/admin_guide/full-history-exporting -/docs/data/indexers/build-your-own/galexie/admin_guide/installing -/docs/data/indexers/build-your-own/galexie/admin_guide/monitoring -/docs/data/indexers/build-your-own/galexie/admin_guide/prerequisites -/docs/data/indexers/build-your-own/galexie/admin_guide/running -/docs/data/indexers/build-your-own/galexie/admin_guide/setup -/docs/data/indexers/build-your-own/galexie/data-lake-format -/docs/data/indexers/build-your-own/galexie/examples -/docs/data/indexers/build-your-own/galexie/examples/gcs-export -/docs/data/indexers/build-your-own/galexie/providers -/docs/data/indexers/build-your-own/ingest-sdk -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/architecture -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/bufferedstoragebackend -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/captivecore -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerbackends/rpcledgerbackend -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/ledgerreaders -/docs/data/indexers/build-your-own/ingest-sdk/developer_guide/prerequisites -/docs/data/indexers/build-your-own/ingest-sdk/examples -/docs/data/indexers/build-your-own/ingest-sdk/examples/changes -/docs/data/indexers/build-your-own/ingest-sdk/examples/ledger_entry_statistics -/docs/data/indexers/build-your-own/ingest-sdk/examples/transaction_statistics -/docs/data/indexers/build-your-own/processors -/docs/data/indexers/build-your-own/processors/token-transfer-processor -/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples -/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/event_stats -/docs/data/indexers/build-your-own/processors/token-transfer-processor/examples/filter_events -/docs/data/oracles -/docs/data/oracles/oracle-providers -/docs/learn/fundamentals -/docs/learn/fundamentals/anchors -/docs/learn/fundamentals/contract-development -/docs/learn/fundamentals/contract-development/authorization -/docs/learn/fundamentals/contract-development/contract-interactions -/docs/learn/fundamentals/contract-development/contract-interactions/cross-contract -/docs/learn/fundamentals/contract-development/contract-interactions/overview -/docs/learn/fundamentals/contract-development/contract-interactions/stellar-transaction -/docs/learn/fundamentals/contract-development/contract-interactions/tests -/docs/learn/fundamentals/contract-development/contract-interactions/transaction-simulation -/docs/learn/fundamentals/contract-development/contract-lifecycle -/docs/learn/fundamentals/contract-development/environment-concepts -/docs/learn/fundamentals/contract-development/errors-and-debugging -/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging -/docs/learn/fundamentals/contract-development/errors-and-debugging/debugging-errors -/docs/learn/fundamentals/contract-development/errors-and-debugging/errors -/docs/learn/fundamentals/contract-development/overview -/docs/learn/fundamentals/contract-development/rust-dialect -/docs/learn/fundamentals/contract-development/storage -/docs/learn/fundamentals/contract-development/storage/persisting-data -/docs/learn/fundamentals/contract-development/storage/state-archival -/docs/learn/fundamentals/contract-development/types -/docs/learn/fundamentals/contract-development/types/built-in-types -/docs/learn/fundamentals/contract-development/types/custom-types -/docs/learn/fundamentals/contract-development/types/fully-typed-contracts -/docs/learn/fundamentals/data-format -/docs/learn/fundamentals/data-format/xdr -/docs/learn/fundamentals/data-format/xdr-json -/docs/learn/fundamentals/fees-resource-limits-metering -/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools -/docs/learn/fundamentals/lumens -/docs/learn/fundamentals/stellar-consensus-protocol -/docs/learn/fundamentals/stellar-data-structures -/docs/learn/fundamentals/stellar-data-structures/accounts -/docs/learn/fundamentals/stellar-data-structures/assets -/docs/learn/fundamentals/stellar-data-structures/contracts -/docs/learn/fundamentals/stellar-data-structures/events -/docs/learn/fundamentals/stellar-data-structures/ledgers -/docs/learn/fundamentals/stellar-ecosystem-proposals -/docs/learn/fundamentals/stellar-stack -/docs/learn/fundamentals/transactions -/docs/learn/fundamentals/transactions/list-of-operations -/docs/learn/fundamentals/transactions/operations-and-transactions -/docs/learn/fundamentals/transactions/signatures-multisig -/docs/learn/fundamentals/transactions/transaction-lifecycle -/docs/learn/glossary -/docs/learn/interactive -/docs/learn/interactive/dapp-world -/docs/learn/interactive/fca00c -/docs/learn/interactive/quest -/docs/learn/migrate -/docs/learn/migrate/evm -/docs/learn/migrate/evm/introduction-to-solidity-and-rust -/docs/learn/migrate/evm/smart-contract-deployment -/docs/learn/migrate/evm/solidity-and-rust-advanced-concepts -/docs/learn/migrate/evm/solidity-and-rust-basics -/docs/learn/migrate/evm/solidity-support-via-solang -/docs/networks -/docs/networks/audits -/docs/networks/audits/soroban-poseidon -/docs/networks/audits/soroban-sdk -/docs/networks/audits/stellar-core -/docs/networks/audits/stellar-rpc -/docs/networks/resource-limits-fees -/docs/networks/software-versions -/docs/platforms -/docs/platforms/anchor-platform -/docs/platforms/anchor-platform/admin-guide -/docs/platforms/anchor-platform/admin-guide/architecture -/docs/platforms/anchor-platform/admin-guide/assets-and-client-wallets -/docs/platforms/anchor-platform/admin-guide/events -/docs/platforms/anchor-platform/admin-guide/events/delivery -/docs/platforms/anchor-platform/admin-guide/events/getting-started -/docs/platforms/anchor-platform/admin-guide/events/integration -/docs/platforms/anchor-platform/admin-guide/getting-started -/docs/platforms/anchor-platform/api-reference -/docs/platforms/anchor-platform/api-reference/callbacks -/docs/platforms/anchor-platform/api-reference/callbacks/del-customer -/docs/platforms/anchor-platform/api-reference/callbacks/get-customer -/docs/platforms/anchor-platform/api-reference/callbacks/get-rates -/docs/platforms/anchor-platform/api-reference/callbacks/post-event -/docs/platforms/anchor-platform/api-reference/callbacks/put-customer -/docs/platforms/anchor-platform/api-reference/platform -/docs/platforms/anchor-platform/api-reference/platform/rpc -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_payment -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/do_stellar_refund -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transactions -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_amounts_updated -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_customer_info_updated -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_interactive_flow_completed -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_available -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_pending -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_received -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_offchain_funds_sent -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_received -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_onchain_funds_sent -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_pending -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_refund_sent -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_error -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_expired -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_on_hold -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_transaction_recovery -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/notify_trust_set -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_offchain_funds -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_onchain_funds -/docs/platforms/anchor-platform/api-reference/platform/rpc/methods/request_trust -/docs/platforms/anchor-platform/api-reference/platform/rpc/overview -/docs/platforms/anchor-platform/api-reference/platform/transactions -/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transaction -/docs/platforms/anchor-platform/api-reference/platform/transactions/get-transactions -/docs/platforms/anchor-platform/sep-guide -/docs/platforms/anchor-platform/sep-guide/sep1 -/docs/platforms/anchor-platform/sep-guide/sep10 -/docs/platforms/anchor-platform/sep-guide/sep24 -/docs/platforms/anchor-platform/sep-guide/sep24/configuration -/docs/platforms/anchor-platform/sep-guide/sep24/example -/docs/platforms/anchor-platform/sep-guide/sep24/faq -/docs/platforms/anchor-platform/sep-guide/sep24/getting-started -/docs/platforms/anchor-platform/sep-guide/sep24/integration -/docs/platforms/anchor-platform/sep-guide/sep24/setting-up-production-server -/docs/platforms/anchor-platform/sep-guide/sep31 -/docs/platforms/anchor-platform/sep-guide/sep31/configuration -/docs/platforms/anchor-platform/sep-guide/sep31/getting-started -/docs/platforms/anchor-platform/sep-guide/sep31/integration -/docs/platforms/anchor-platform/sep-guide/sep45 -/docs/platforms/anchor-platform/sep-guide/sep6 -/docs/platforms/anchor-platform/sep-guide/sep6/configuration -/docs/platforms/anchor-platform/sep-guide/sep6/getting-started -/docs/platforms/anchor-platform/sep-guide/sep6/integration -/docs/platforms/stellar-disbursement-platform -/docs/platforms/stellar-disbursement-platform/admin-guide -/docs/platforms/stellar-disbursement-platform/admin-guide/advanced-configuration -/docs/platforms/stellar-disbursement-platform/admin-guide/cli-manual -/docs/platforms/stellar-disbursement-platform/admin-guide/configuring-sdp -/docs/platforms/stellar-disbursement-platform/admin-guide/deploy-the-sdp -/docs/platforms/stellar-disbursement-platform/admin-guide/design-and-architecture -/docs/platforms/stellar-disbursement-platform/admin-guide/embedded-wallets -/docs/platforms/stellar-disbursement-platform/admin-guide/getting-started -/docs/platforms/stellar-disbursement-platform/admin-guide/making-your-wallet-sdp-ready -/docs/platforms/stellar-disbursement-platform/admin-guide/monitoring -/docs/platforms/stellar-disbursement-platform/admin-guide/overview -/docs/platforms/stellar-disbursement-platform/admin-guide/security -/docs/platforms/stellar-disbursement-platform/admin-guide/troubleshooting -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/account-picker -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/analytics -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/circle-configuration -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/dashboard-home -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/disbursements -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/distribution-accounts -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/payments -/docs/platforms/stellar-disbursement-platform/admin-guide/user-interface/receivers -/docs/platforms/stellar-disbursement-platform/api-reference -/docs/platforms/stellar-disbursement-platform/api-reference/admin -/docs/platforms/stellar-disbursement-platform/api-reference/api-keys -/docs/platforms/stellar-disbursement-platform/api-reference/archive-distribution-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/authenticate-mfa -/docs/platforms/stellar-disbursement-platform/api-reference/authentication -/docs/platforms/stellar-disbursement-platform/api-reference/balances -/docs/platforms/stellar-disbursement-platform/api-reference/bridge-integration -/docs/platforms/stellar-disbursement-platform/api-reference/create-api-key -/docs/platforms/stellar-disbursement-platform/api-reference/create-asset -/docs/platforms/stellar-disbursement-platform/api-reference/create-direct-payment -/docs/platforms/stellar-disbursement-platform/api-reference/create-disbursement -/docs/platforms/stellar-disbursement-platform/api-reference/create-distribution-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/create-receiver -/docs/platforms/stellar-disbursement-platform/api-reference/create-tenant -/docs/platforms/stellar-disbursement-platform/api-reference/create-user -/docs/platforms/stellar-disbursement-platform/api-reference/create-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/default-tenant -/docs/platforms/stellar-disbursement-platform/api-reference/delete-a-disbursement -/docs/platforms/stellar-disbursement-platform/api-reference/delete-api-key -/docs/platforms/stellar-disbursement-platform/api-reference/delete-asset -/docs/platforms/stellar-disbursement-platform/api-reference/delete-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/disbursements -/docs/platforms/stellar-disbursement-platform/api-reference/distribution-wallets -/docs/platforms/stellar-disbursement-platform/api-reference/download-disbursement-instructions -/docs/platforms/stellar-disbursement-platform/api-reference/export-disbursements -/docs/platforms/stellar-disbursement-platform/api-reference/export-payments-csv -/docs/platforms/stellar-disbursement-platform/api-reference/export-receivers-csv -/docs/platforms/stellar-disbursement-platform/api-reference/forgot-password -/docs/platforms/stellar-disbursement-platform/api-reference/get-all-assets -/docs/platforms/stellar-disbursement-platform/api-reference/get-all-roles -/docs/platforms/stellar-disbursement-platform/api-reference/get-all-tenants -/docs/platforms/stellar-disbursement-platform/api-reference/get-all-users -/docs/platforms/stellar-disbursement-platform/api-reference/get-all-wallets -/docs/platforms/stellar-disbursement-platform/api-reference/get-api-key -/docs/platforms/stellar-disbursement-platform/api-reference/get-bridge-integration -/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-audit -/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-balance -/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallet-capabilities -/docs/platforms/stellar-disbursement-platform/api-reference/get-distribution-wallets-total-balance -/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-circle-balances -/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-info -/docs/platforms/stellar-disbursement-platform/api-reference/get-organization-logo -/docs/platforms/stellar-disbursement-platform/api-reference/get-profile -/docs/platforms/stellar-disbursement-platform/api-reference/get-receiver-registration-info -/docs/platforms/stellar-disbursement-platform/api-reference/get-sep-24-info -/docs/platforms/stellar-disbursement-platform/api-reference/grant-distribution-wallet-membership -/docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers -/docs/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements -/docs/platforms/stellar-disbursement-platform/api-reference/list-all-payments -/docs/platforms/stellar-disbursement-platform/api-reference/list-all-receivers -/docs/platforms/stellar-disbursement-platform/api-reference/list-api-keys -/docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallet-memberships -/docs/platforms/stellar-disbursement-platform/api-reference/list-distribution-wallets -/docs/platforms/stellar-disbursement-platform/api-reference/list-receiver-verification-types -/docs/platforms/stellar-disbursement-platform/api-reference/list-registration-contact-types -/docs/platforms/stellar-disbursement-platform/api-reference/log-in -/docs/platforms/stellar-disbursement-platform/api-reference/organization -/docs/platforms/stellar-disbursement-platform/api-reference/patch-organization-circle -/docs/platforms/stellar-disbursement-platform/api-reference/payments -/docs/platforms/stellar-disbursement-platform/api-reference/profile -/docs/platforms/stellar-disbursement-platform/api-reference/promote-distribution-wallet-to-default -/docs/platforms/stellar-disbursement-platform/api-reference/provide-signed-challenge-transaction -/docs/platforms/stellar-disbursement-platform/api-reference/receivers -/docs/platforms/stellar-disbursement-platform/api-reference/refresh-token -/docs/platforms/stellar-disbursement-platform/api-reference/registration -/docs/platforms/stellar-disbursement-platform/api-reference/request-challenge-transaction -/docs/platforms/stellar-disbursement-platform/api-reference/request-registration-url -/docs/platforms/stellar-disbursement-platform/api-reference/reset-password -/docs/platforms/stellar-disbursement-platform/api-reference/reset-user-password -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-payment -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-a-tenant -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-all-statistics -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-disbursement-statistics -/docs/platforms/stellar-disbursement-platform/api-reference/retrieve-stellar-info-file -/docs/platforms/stellar-disbursement-platform/api-reference/retry-payments -/docs/platforms/stellar-disbursement-platform/api-reference/revoke-distribution-wallet-membership -/docs/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode -/docs/platforms/stellar-disbursement-platform/api-reference/soft-delete-a-tenant -/docs/platforms/stellar-disbursement-platform/api-reference/start-wallet-registration -/docs/platforms/stellar-disbursement-platform/api-reference/statistics -/docs/platforms/stellar-disbursement-platform/api-reference/update-a-disbursement-status -/docs/platforms/stellar-disbursement-platform/api-reference/update-a-tenant -/docs/platforms/stellar-disbursement-platform/api-reference/update-api-key -/docs/platforms/stellar-disbursement-platform/api-reference/update-bridge-integration -/docs/platforms/stellar-disbursement-platform/api-reference/update-organization-profile -/docs/platforms/stellar-disbursement-platform/api-reference/update-payment-status -/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver -/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/update-receiver-wallet-status -/docs/platforms/stellar-disbursement-platform/api-reference/update-user-activation-status -/docs/platforms/stellar-disbursement-platform/api-reference/update-user-profile -/docs/platforms/stellar-disbursement-platform/api-reference/update-user-role -/docs/platforms/stellar-disbursement-platform/api-reference/update-wallet -/docs/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions -/docs/platforms/stellar-disbursement-platform/api-reference/users -/docs/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration -/docs/tokens -/docs/tokens/anatomy-of-an-asset -/docs/tokens/control-asset-access -/docs/tokens/cross-chain-transfers -/docs/tokens/how-to-issue-an-asset -/docs/tokens/publishing-asset-info -/docs/tokens/quickstart -/docs/tokens/stellar-asset-contract -/docs/tokens/token-interface -/docs/tokens/usdt0-layerzero -/docs/tools -/docs/tools/cli -/docs/tools/cli/agent-cli -/docs/tools/cli/agent-cli/guides/build-and-deploy-contracts -/docs/tools/cli/agent-cli/guides/build-and-submit-transactions -/docs/tools/cli/agent-cli/guides/check-balances-and-metadata -/docs/tools/cli/agent-cli/guides/delegate-spending -/docs/tools/cli/agent-cli/guides/pay-for-apis-x402 -/docs/tools/cli/agent-cli/guides/send-tokens -/docs/tools/cli/agent-cli/guides/sign-messages -/docs/tools/cli/agent-cli/guides/usdt0-on-mainnet -/docs/tools/cli/agent-cli/quickstart -/docs/tools/cli/agent-cli/reference/architecture -/docs/tools/cli/agent-cli/reference/authority-model -/docs/tools/cli/agent-cli/reference/output-and-errors -/docs/tools/cli/agent-cli/reference/troubleshooting -/docs/tools/cli/agent-cli/skills -/docs/tools/cli/cookbook -/docs/tools/cli/cookbook/asset-management -/docs/tools/cli/cookbook/contract-build-meta -/docs/tools/cli/cookbook/contract-invoke-arguments -/docs/tools/cli/cookbook/contract-lifecycle -/docs/tools/cli/cookbook/deploy-contract -/docs/tools/cli/cookbook/deploy-stellar-asset-contract -/docs/tools/cli/cookbook/extend-contract-instance -/docs/tools/cli/cookbook/extend-contract-storage -/docs/tools/cli/cookbook/extend-contract-wasm -/docs/tools/cli/cookbook/payments-and-assets -/docs/tools/cli/cookbook/restore-contract-instance -/docs/tools/cli/cookbook/restore-contract-storage -/docs/tools/cli/cookbook/stellar-keys -/docs/tools/cli/cookbook/tx-new -/docs/tools/cli/cookbook/tx-new-create-claimable-balance -/docs/tools/cli/cookbook/tx-op-add -/docs/tools/cli/cookbook/tx-sign -/docs/tools/cli/cookbook/upload-deploy -/docs/tools/cli/cookbook/upload-wasm -/docs/tools/cli/install-cli -/docs/tools/cli/plugins -/docs/tools/cli/plugins-list -/docs/tools/cli/stellar-cli -/docs/tools/developer-tools -/docs/tools/developer-tools/analytics-platforms -/docs/tools/developer-tools/anchor-tools -/docs/tools/developer-tools/asset-tools -/docs/tools/developer-tools/block-explorers -/docs/tools/developer-tools/jupyter-notebooks -/docs/tools/developer-tools/network-insights -/docs/tools/developer-tools/network-status -/docs/tools/developer-tools/node-operator-tools -/docs/tools/developer-tools/online-ide -/docs/tools/developer-tools/security-tools -/docs/tools/developer-tools/wallets -/docs/tools/infra-tools -/docs/tools/infra-tools/cross-chain -/docs/tools/lab -/docs/tools/lab/account -/docs/tools/lab/api-explorer -/docs/tools/lab/api-explorer/horizon-endpoint -/docs/tools/lab/api-explorer/rpc-methods -/docs/tools/lab/quickstart-with-lab -/docs/tools/lab/saved -/docs/tools/lab/saved/keypairs -/docs/tools/lab/saved/requests -/docs/tools/lab/saved/transactions -/docs/tools/lab/smart-contracts -/docs/tools/lab/smart-contracts/contract-explorer -/docs/tools/lab/smart-contracts/smart-contract-list -/docs/tools/lab/smart-contracts/upload-deploy-contract -/docs/tools/lab/transaction-dashboard -/docs/tools/lab/transactions -/docs/tools/lab/view-xdr -/docs/tools/lab/view-xdr/diff-xdr -/docs/tools/lab/view-xdr/json-to-xdr -/docs/tools/lab/view-xdr/xdr-to-json -/docs/tools/openzeppelin-contracts -/docs/tools/openzeppelin-relayer -/docs/tools/quickstart -/docs/tools/quickstart/advanced-usage -/docs/tools/quickstart/advanced-usage/container -/docs/tools/quickstart/advanced-usage/operation-modes -/docs/tools/quickstart/advanced-usage/ports -/docs/tools/quickstart/advanced-usage/run-command-examples -/docs/tools/quickstart/advanced-usage/service-options -/docs/tools/quickstart/cloud -/docs/tools/quickstart/cloud/digitalocean -/docs/tools/quickstart/cloud/fly.io -/docs/tools/quickstart/debugging -/docs/tools/quickstart/debugging/diagnostic-events -/docs/tools/quickstart/debugging/viewing-logs -/docs/tools/quickstart/explorer -/docs/tools/quickstart/faucet -/docs/tools/quickstart/getting-started -/docs/tools/quickstart/getting-started/connect-stellar-lab -/docs/tools/quickstart/getting-started/deploy-smart-contract -/docs/tools/quickstart/network-modes -/docs/tools/ramps -/docs/tools/ramps/moneygram -/docs/tools/scaffold-stellar -/docs/tools/sdks -/docs/tools/sdks/build-your-own -/docs/tools/sdks/client-sdks -/docs/tools/sdks/contract-sdks -/docs/validators -/docs/validators/admin-guide -/docs/validators/admin-guide/advanced -/docs/validators/admin-guide/commands -/docs/validators/admin-guide/configuring -/docs/validators/admin-guide/environment-preparation -/docs/validators/admin-guide/installation -/docs/validators/admin-guide/logging -/docs/validators/admin-guide/maintenance -/docs/validators/admin-guide/monitoring -/docs/validators/admin-guide/network-upgrades -/docs/validators/admin-guide/prerequisites -/docs/validators/admin-guide/publishing-history-archives -/docs/validators/admin-guide/running-node -/docs/validators/admin-guide/soroban-settings -/docs/validators/tier-1-orgs -/meetings -/meetings/2024/01/18 -/meetings/2024/01/26 -/meetings/2024/02/01 -/meetings/2024/02/08 -/meetings/2024/02/15 -/meetings/2024/02/22 -/meetings/2024/02/29 -/meetings/2024/03/07 -/meetings/2024/03/14 -/meetings/2024/03/21 -/meetings/2024/03/28 -/meetings/2024/04/04 -/meetings/2024/04/11 -/meetings/2024/04/18 -/meetings/2024/04/25 -/meetings/2024/05/02 -/meetings/2024/05/09 -/meetings/2024/06/13 -/meetings/2024/06/20 -/meetings/2024/06/27 -/meetings/2024/07/11 -/meetings/2024/07/18 -/meetings/2024/07/25 -/meetings/2024/08/01 -/meetings/2024/08/08 -/meetings/2024/08/15 -/meetings/2024/08/22 -/meetings/2024/08/29 -/meetings/2024/09/05 -/meetings/2024/09/12 -/meetings/2024/09/19 -/meetings/2024/09/26 -/meetings/2024/10/24 -/meetings/2024/11/14 -/meetings/2024/12/05 -/meetings/2024/12/12 -/meetings/2024/12/19 -/meetings/2025/01/16 -/meetings/2025/01/23 -/meetings/2025/01/30 -/meetings/2025/02/06 -/meetings/2025/02/13 -/meetings/2025/02/20 -/meetings/2025/02/27 -/meetings/2025/03/06 -/meetings/2025/03/27 -/meetings/2025/04/03 -/meetings/2025/04/10 -/meetings/2025/04/17 -/meetings/2025/05/01 -/meetings/2025/05/22 -/meetings/2025/07/10 -/meetings/2025/07/17 -/meetings/2025/07/24 -/meetings/2025/08/07 -/meetings/2025/09/25 -/meetings/2025/10/02 -/meetings/2025/10/09 -/meetings/2025/10/16 -/meetings/2025/10/23 -/meetings/2025/10/30 -/meetings/2025/11/06 -/meetings/2026/01/22 -/meetings/2026/01/29 -/meetings/2026/02/26 -/meetings/2026/04/16 -/meetings/2026/04/23 -/meetings/2026/04/30 -/meetings/2026/05/07 -/meetings/2026/05/14 -/meetings/2026/05/21 -/meetings/2026/06/11 -/meetings/2026/06/18 -/meetings/2026/06/25 -/meetings/2026/07/02 -/meetings/2026/07/09 -/meetings/2026/07/16 -/meetings/2026/07/16/protocol -/meetings/2026/07/23 -/meetings/2026/07/30 -/meetings/2026/08/06 -/meetings/2026/08/13 -/meetings/2026/08/20 -/meetings/2026/08/27 -/meetings/2026/09/03 -/meetings/2026/09/10 -/meetings/2026/09/17 -/meetings/2026/09/17/protocol -/meetings/2026/09/24 -/meetings/2026/10/01 -/meetings/2026/10/08 -/meetings/archive -/meetings/authors -/meetings/authors/carstenjacobsen -/meetings/authors/carstenjacobsen/page/2 -/meetings/authors/carstenjacobsen/page/3 -/meetings/authors/elliotfriend -/meetings/authors/kalepail -/meetings/page/2 -/meetings/page/3 -/meetings/page/4 -/meetings/page/5 -/meetings/page/6 -/meetings/page/7 -/meetings/page/8 -/meetings/tags -/meetings/tags/developer -/meetings/tags/developer/page/2 -/meetings/tags/developer/page/3 -/meetings/tags/developer/page/4 -/meetings/tags/developer/page/5 -/meetings/tags/developer/page/6 -/meetings/tags/developer/page/7 -/meetings/tags/protocol -/meetings/tags/protocol/page/2 -/search diff --git a/scripts/check-relative-links.sh b/scripts/check-relative-links.sh deleted file mode 100755 index 568a231b7..000000000 --- a/scripts/check-relative-links.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash -# -# Canonical check: internal doc links must be relative (../path/file.mdx), not -# absolute /docs/... routes. Relative links are validated at build time by -# Docusaurus' onBrokenMarkdownLinks; absolute route links are not. -# -# This is the single source of truth shared by CI (.github/workflows/main.yml) -# and the local pre-commit hook (.husky/pre-commit) — like `pnpm format:mdx`, -# there is one definition of the rule, not two driftable copies. -# -# It only flags absolute /docs links in NEWLY PROPOSED content: it reads a -# word-level diff and inspects added tokens only. Editing a typo on a line that -# already contains an absolute link does not flag that link (the link stays a -# context token); introducing or editing a /docs link does. Pre-existing debt -# in untouched lines is never the contributor's problem. -# -# CONTRIBUTING.md is excluded: it is not part of the docs build and its /docs -# link is an intentional, illustrative example. -# -# Usage: -# scripts/check-relative-links.sh --staged # staged changes (pre-commit) -# scripts/check-relative-links.sh --range [BASE...HEAD] # PR range (CI); default origin/main...HEAD -# -# Exit 0 = clean, 1 = absolute /docs link(s) introduced. - -set -euo pipefail - -mode="${1:---range}" -DOCS_PATHSPEC=('docs/*.md' 'docs/*.mdx') - -case "$mode" in - --staged) - diff_cmd=(git diff --cached --word-diff=porcelain -- "${DOCS_PATHSPEC[@]}") - ;; - --range) - range="${2:-origin/main...HEAD}" - diff_cmd=(git diff --word-diff=porcelain "$range" -- "${DOCS_PATHSPEC[@]}") - ;; - *) - echo "usage: $0 [--staged | --range [BASE...HEAD]]" >&2 - exit 2 - ;; -esac - -# Walk the word-diff porcelain stream. For each new-file line, remember whether -# any *added* token on it contains an absolute '](/docs' link; report that line -# if so. New-file line numbers are tracked from each hunk's @@ header, advancing -# on every completed line except pure deletions (old-file-only). -findings=$( - "${diff_cmd[@]}" | awk ' - function reset() { hasrem=0; haskept=0; flag=0 } - /^diff --git / { infile=0; reset(); next } - /^--- / { next } - /^\+\+\+ / { path=substr($0,7); sub(/\t.*/,"",path); infile=1; next } - /^@@ / { match($0,/\+[0-9]+/); newno=substr($0,RSTART+1,RLENGTH-1)+0; reset(); next } - !infile { next } - /^~/ { - is_removal_only = (hasrem && !haskept) - if (!is_removal_only) { - if (flag && path !~ /CONTRIBUTING\.md$/) - print path ":" newno ": absolute /docs link introduced in added content — use a relative ../path/file.mdx link" - newno++ - } - reset(); next - } - { - pfx = substr($0,1,1); tok = substr($0,2) - if (pfx == "-") { hasrem = 1 } - else if (pfx == "+") { haskept = 1; if (tok ~ /\]\(\/docs/) flag = 1 } - else { haskept = 1 } # context token (leading space) - } - ' -) - -if [ -n "$findings" ]; then - echo "$findings" - echo "" - echo "Fix: replace the absolute /docs/... link with a relative link ending in .mdx" - echo "(e.g. ../getting-started/setup.mdx). See docs/platforms/anchor-platform/CONTRIBUTING.md." - exit 1 -fi - -echo "All links check out" -exit 0 diff --git a/scripts/generate_api_markdown.mjs b/scripts/generate_api_markdown.mjs deleted file mode 100644 index d30f92e79..000000000 --- a/scripts/generate_api_markdown.mjs +++ /dev/null @@ -1,570 +0,0 @@ -// @ts-check -/** - * Post-build step for the markdown-source feature (follow-up to PR #2289, - * issue #2643): generate complete `.md` twins for API reference pages. - * - * The docusaurus-markdown-source-plugin builds each page's `.md` twin from the - * page's static content. That works for prose pages, but API reference pages - * (generated by docusaurus-plugin-openapi-docs from the bundled OpenAPI specs) - * render their operation content — parameters, request/response schemas, - * examples — client-side, so their twins come out near-empty: just the - * one-line operation description (~39 tokens vs ~14k tokens of rendered HTML). - * - * A second pass covers the hand-written api-reference pages (object/schema - * pages, result codes, resource indexes) whose content sits inside JSX - * components like ``: the plugin drops JSX blocks together - * with their markdown children, so those twins lose their attribute tables. - * See patchComponentPages(). - * - * This script rebuilds the operation twins from the operation data itself. Every - * `docs/**\/api-reference/**\/*.api.mdx` source file carries the complete, - * dereferenced operation object (the exact data the page renders) in its - * `api:` frontmatter field, zlib-compressed and base64-encoded by the openapi - * plugin. We decode it and emit clean markdown — method + path, auth, - * parameters, request body, response schemas, and examples — over the - * near-empty twin at the matching `build/**\/api-reference/**\/.md` path. - * - * Like scripts/rewrite_md_links.mjs (which runs after this in `postbuild` and - * normalizes any intra-doc links), this is output-only: it writes ONLY - * `build/**\/api-reference/**\/*.md`, never touches HTML or repo sources, and - * is idempotent (deterministic output; unchanged files are not rewritten). - */ - -import { globSync, readFileSync, writeFileSync, existsSync } from 'node:fs'; -import { inflateSync } from 'node:zlib'; -import { dirname, join, relative } from 'node:path'; - -const DOCS_DIR = 'docs'; -const BUILD_DIR = 'build'; -const MAX_DEPTH = 12; // schema nesting cap; blobs are acyclic but can run deep -const MAX_EXAMPLE_CHARS = 20000; // skip pathological examples, keep real ones - -// --------------------------------------------------------------------------- -// Frontmatter + operation blob -// --------------------------------------------------------------------------- - -/** Pull the fields we need out of an .api.mdx frontmatter block. */ -function parseFrontmatter(src) { - const fm = src.match(/^---\n([\s\S]*?)\n---/); - if (!fm) return null; - const get = (key) => { - const m = fm[1].match(new RegExp(`^${key}: (.+)$`, 'm')); - if (!m) return null; - let v = m[1].trim(); - if (v.startsWith('"') && v.endsWith('"')) { - v = v.slice(1, -1).replace(/\\"/g, '"'); - } - return v; - }; - return { id: get('id'), title: get('title'), api: get('api') }; -} - -/** Decode the `api:` frontmatter value into the operation object. */ -function decodeOperation(apiValue) { - if (apiValue.startsWith('{')) return JSON.parse(apiValue); // uncompressed - return JSON.parse(inflateSync(Buffer.from(apiValue, 'base64')).toString('utf8')); -} - -// --------------------------------------------------------------------------- -// Schema rendering — nested bullet tree -// --------------------------------------------------------------------------- - -/** Human-readable type for a schema node, e.g. "array of object", "string (uuid)". */ -function typeLabel(schema) { - if (!schema || typeof schema !== 'object') return 'any'; - if (schema.oneOf) return 'one of'; - if (schema.anyOf) return 'any of'; - if (schema.allOf) return 'object'; - let base = schema.type; - if (!base) base = schema.properties ? 'object' : schema.items ? 'array' : 'any'; - if (base === 'array') return `array of ${typeLabel(schema.items)}`; - let label = base; - if (schema.format) label += ` (${schema.format})`; - if (schema.nullable) label += ', nullable'; - return label; -} - -/** Collapse a (possibly multi-line, markdown-ish) description onto one line. */ -function inlineText(text) { - if (!text) return ''; - return String(text).replace(/\s*\n\s*/g, ' ').trim(); -} - -/** Merge the object members of an allOf into one view; keep the rest as-is. */ -function mergeAllOf(schema) { - const merged = { type: 'object', properties: {}, required: [] }; - const leftovers = []; - for (const member of schema.allOf) { - if (member && typeof member === 'object' && (member.properties || member.type === 'object')) { - Object.assign(merged.properties, member.properties ?? {}); - merged.required.push(...(member.required ?? [])); - if (member.description && !merged.description) merged.description = member.description; - } else if (member) { - leftovers.push(member); - } - } - return { merged, leftovers }; -} - -/** One bullet line for a named schema node. */ -function propertyLine(name, schema, required) { - const parts = [`\`${name}\``, '—', typeLabel(schema)]; - if (required) parts.push('(required)'); - if (schema?.deprecated) parts.push('(deprecated)'); - const desc = inlineText( - schema?.description ?? schema?.allOf?.find((member) => member?.description)?.description, - ); - if (desc) parts.push('—', desc); - return parts.join(' '); -} - -const MAX_INLINE_EXAMPLE_CHARS = 300; // property examples are short; skip outliers - -/** - * JSON-encode an example for inline display, or return null when it is too long - * or carries a character we would have to escape inside a code span. `unsafe` - * is stricter in table cells, where a pipe or backslash breaks the row. - */ -function inlineExample(value, unsafe = /`/) { - if (value === undefined) return null; - const json = JSON.stringify(value); - if (json === undefined || json.length > MAX_INLINE_EXAMPLE_CHARS || unsafe.test(json)) { - return null; - } - return json; -} - -/** Trailing detail bullets (enum/default/example/pattern/bounds) for a schema node. */ -function detailLines(schema, pad, lines) { - if (schema.enum) { - lines.push(`${pad}Possible values: ${schema.enum.map((v) => `\`${v}\``).join(', ')}.`); - } - if (schema.default !== undefined) { - lines.push(`${pad}Default: \`${JSON.stringify(schema.default)}\`.`); - } - const example = inlineExample(schema.example); - if (example) { - lines.push(`${pad}Example: \`${example}\`.`); - } - if (schema.pattern && !schema.pattern.includes('`')) { - lines.push(`${pad}Pattern: \`${schema.pattern}\`.`); - } - bounds('Items', schema.minItems, schema.maxItems, pad, lines); - bounds('Length', schema.minLength, schema.maxLength, pad, lines); - bounds('Properties', schema.minProperties, schema.maxProperties, pad, lines); -} - -/** "Items: min 1, max 5." — skipped when the schema sets neither bound. */ -function bounds(label, min, max, pad, lines) { - const parts = []; - if (min !== undefined) parts.push(`min ${min}`); - if (max !== undefined) parts.push(`max ${max}`); - if (parts.length) lines.push(`${pad}${label}: ${parts.join(', ')}.`); -} - -/** - * Render a schema's CHILDREN (properties / variants / items) as indented - * bullets. The node's own line is the caller's responsibility. - */ -function renderChildren(schema, depth, lines) { - if (!schema || typeof schema !== 'object' || depth > MAX_DEPTH) { - if (depth > MAX_DEPTH) lines.push(`${' '.repeat(depth)}- … (nesting truncated)`); - return; - } - const pad = ' '.repeat(depth); - - if (schema.allOf) { - const { merged, leftovers } = mergeAllOf(schema); - renderChildren(merged, depth, lines); - for (const leftover of leftovers) renderChildren(leftover, depth, lines); - return; - } - - for (const key of ['oneOf', 'anyOf']) { - if (schema[key]) { - schema[key].forEach((variant, i) => { - const name = variant?.title ?? `variant ${i + 1}`; - const parts = [ - `${pad}- ${key === 'oneOf' ? 'One of' : 'Any of'}: **${name}** — ${typeLabel(variant)}`, - ]; - // Untitled variants carry their meaning in the description, so dropping - // it leaves "variant 1 — string" and no way to tell the options apart. - const desc = inlineText(variant?.description); - if (desc) parts.push('—', desc); - lines.push(parts.join(' ')); - renderChildren(variant, depth + 1, lines); - }); - return; - } - } - - if (schema.type === 'array' || schema.items) { - renderChildren(schema.items, depth, lines); - return; - } - - const required = new Set(schema.required ?? []); - for (const [name, child] of Object.entries(schema.properties ?? {})) { - lines.push(`${pad}- ${propertyLine(name, child, required.has(name))}`); - detailLines(child, `${pad} `, lines); - renderChildren(child, depth + 1, lines); - } - // `additionalProperties` is a schema or the bare `true` (Horizon's - // Problem.extras). typeLabel() answers "any" for the bare form, which has no - // children to walk. - if (schema.additionalProperties) { - lines.push(`${pad}- (additional properties) — ${typeLabel(schema.additionalProperties)}`); - if (typeof schema.additionalProperties === 'object') { - renderChildren(schema.additionalProperties, depth + 1, lines); - } - } -} - -/** Render a full schema (top line + children) as markdown lines. */ -function renderSchema(schema, lines) { - if (!schema || typeof schema !== 'object') return; - const topDesc = inlineText(schema.description); - // An object root introduces itself through its property bullets. Anything - // else — a leaf, an array, a set of variants — loses its type unless we name - // it, because renderChildren only ever emits the children. - const isObjectRoot = Boolean(schema.properties || schema.allOf) && !schema.items; - if (isObjectRoot) { - if (topDesc) lines.push(topDesc); - } else { - lines.push(`Schema: ${typeLabel(schema)}${topDesc ? ` — ${topDesc}` : ''}`); - } - detailLines(schema, '', lines); - renderChildren(schema, 0, lines); -} - -// --------------------------------------------------------------------------- -// Sections -// --------------------------------------------------------------------------- - -/** Fenced JSON block, or null when there is nothing to show or it is too big. */ -function fencedJson(value) { - const json = JSON.stringify(value, null, 2); - if (json === undefined || json.length > MAX_EXAMPLE_CHARS) return null; - return ['```json', json, '```']; -} - -/** - * Push a labelled example. The heading goes in only when the block renders, - * so an example over MAX_EXAMPLE_CHARS leaves no empty "Example:" behind. - */ -function pushExample(label, value, lines) { - const block = fencedJson(value); - if (!block) return; - lines.push('', label, '', ...block); -} - -/** Examples attached to a media-type object ({example} or {examples: {..}}). */ -function renderExamples(media, lines) { - if (media.example !== undefined) { - pushExample('Example:', media.example, lines); - return; - } - const entries = Object.entries(media.examples ?? {}); - for (const [name, entry] of entries) { - pushExample( - entries.length > 1 ? `Example (${name}):` : 'Example:', - entry?.value !== undefined ? entry.value : entry, - lines, - ); - } -} - -function renderParameters(parameters, lines) { - const groups = new Map([['path', []], ['query', []], ['header', []], ['cookie', []]]); - for (const param of parameters) groups.get(param.in)?.push(param); - lines.push('', '## Parameters'); - for (const [location, params] of groups) { - if (!params.length) continue; - lines.push('', `### ${location[0].toUpperCase()}${location.slice(1)} parameters`, ''); - lines.push('| Name | Type | Required | Description |', '| --- | --- | --- | --- |'); - for (const param of params) { - let desc = inlineText(param.description).replace(/\\/g, '\\\\').replace(/\|/g, '\\|'); - if (param.schema?.enum) { - desc += `${desc ? ' ' : ''}Possible values: ${param.schema.enum.map((v) => `\`${v}\``).join(', ')}.`; - } - if (param.schema?.default !== undefined) { - desc += ` Default: \`${JSON.stringify(param.schema.default)}\`.`; - } - // A parameter carries its example either on itself or on its schema. - const example = inlineExample( - param.example !== undefined ? param.example : param.schema?.example, - /[`|\\]/, - ); - if (example) { - desc += `${desc ? ' ' : ''}Example: \`${example}\`.`; - } - lines.push(`| \`${param.name}\` | ${typeLabel(param.schema)} | ${param.required ? 'yes' : 'no'} | ${desc} |`); - } - } -} - -function renderRequestBody(op, lines) { - const body = op.requestBody; - lines.push('', `## Request body${body.required ? ' (required)' : ''}`); - const bodyDesc = inlineText(body.description); - if (bodyDesc) lines.push('', bodyDesc); - for (const [contentType, media] of Object.entries(body.content ?? {})) { - lines.push('', `Content type: \`${contentType}\``, ''); - if (media.schema) renderSchema(media.schema, lines); - if (media.example !== undefined || media.examples) { - renderExamples(media, lines); - } else if (media.schema?.example !== undefined) { - pushExample('Example:', media.schema.example, lines); - } else if (op.jsonRequestBodyExample != null) { - pushExample('Example:', op.jsonRequestBodyExample, lines); - } - } -} - -function renderResponses(responses, lines) { - lines.push('', '## Responses'); - for (const [status, response] of Object.entries(responses)) { - lines.push('', `### ${status}`, ''); - const desc = inlineText(response.description); - if (desc) lines.push(desc, ''); - const headers = Object.entries(response.headers ?? {}); - if (headers.length) { - lines.push('#### Headers', '', '| Name | Type | Description |', '| --- | --- | --- |'); - for (const [name, header] of headers) { - const headerDesc = inlineText(header.description).replace(/\\/g, '\\\\').replace(/\|/g, '\\|'); - lines.push(`| \`${name}\` | ${typeLabel(header.schema)} | ${headerDesc} |`); - } - lines.push(''); - } - for (const [contentType, media] of Object.entries(response.content ?? {})) { - lines.push(`Content type: \`${contentType}\``, ''); - if (media.schema) renderSchema(media.schema, lines); - renderExamples(media, lines); - } - } -} - -/** Render one operation object as a complete markdown page. */ -function renderOperation(op, title) { - const lines = [`# ${title}`, '', `\`${(op.method ?? '').toUpperCase()} ${op.path}\``]; - - const servers = (op.servers ?? []).filter((server) => server.url); - if (servers.length) { - lines.push('', ...servers.map( - (server) => `- Base URL: \`${server.url}\`${server.description ? ` (${server.description})` : ''}`, - )); - } - if (op.description) lines.push('', op.description.trim()); - if (op['x-supports-streaming']) { - lines.push('', 'This endpoint supports [streaming](https://developers.stellar.org/docs/data/apis/horizon/api-reference/structure/streaming.md) via Server-Sent Events.'); - } - const securityNames = (op.security ?? []).flatMap((requirement) => Object.keys(requirement)); - if (securityNames.length) { - lines.push('', `Authentication: ${securityNames.map((name) => `\`${name}\``).join(' or ')}.`); - } - - if (op.parameters?.length) renderParameters(op.parameters, lines); - if (op.requestBody) renderRequestBody(op, lines); - if (op.responses) renderResponses(op.responses, lines); - - const codeSamples = op['x-codeSamples'] ?? []; - if (codeSamples.length) { - lines.push('', '## Code samples'); - for (const sample of codeSamples) { - lines.push('', `\`\`\`${(sample.lang ?? '').toLowerCase()}`, sample.source ?? '', '```'); - } - } - - return `${lines.join('\n').replace(/\n{3,}/g, '\n\n').trimEnd()}\n`; -} - -// --------------------------------------------------------------------------- -// Pass 2: hand-written api-reference pages whose content lives inside JSX -// components (`` and friends). The markdown-source-plugin -// drops JSX blocks *including their children* when it builds a page's twin, -// so e.g. the Fee Stats object page's twin loses the entire attribute list -// even though that list is plain markdown in the source. These pages are -// hand-written .mdx (not .api.mdx), all under api-reference. -// --------------------------------------------------------------------------- - -/** Components whose children are plain markdown we can pass through. */ -const UNWRAP_COMPONENTS = ['AttributeTable', 'ExampleResponse', 'CodeExample', 'MethodTable']; -const COMPONENT_OPEN = new RegExp(`^\\s*<(${UNWRAP_COMPONENTS.join('|')})(\\s[^>]*)?>\\s*$`); -const COMPONENT_CLOSE = new RegExp(`^\\s*\\s*$`); - -function prepareBody(src) { - return src.replace(/^---\n[\s\S]*?\n---\n/, ''); -} - -/** - * Walk the body line by line, tracking code-fence state so that import-like - * lines or tag-like lines inside fenced code are never touched. - * - * With keepChildren=false this mimics what the plugin emits: import lines and - * whole component blocks (children included) dropped. That form is used only - * as a safety check — we overwrite a twin only when we can prove it is the - * plugin's own output for this source. With keepChildren=true the component - * tags go away but their markdown children stay: the actual patched twin. - */ -function transformBody(body, keepChildren) { - const out = []; - let inFence = false; - let depth = 0; - for (const line of body.split('\n')) { - if (/^\s*(```|~~~)/.test(line)) { - inFence = !inFence; - if (depth === 0 || keepChildren) out.push(line); - continue; - } - if (!inFence) { - if (/^import\s/.test(line)) continue; - const open = line.match(COMPONENT_OPEN); - if (open) { - depth++; - if (keepChildren) { - const title = (open[2] ?? '').match(/title="([^"]+)"/); - if (title) out.push(`**${title[1]}**`, ''); - } - continue; - } - if (COMPONENT_CLOSE.test(line)) { - depth = Math.max(0, depth - 1); - continue; - } - } - if (depth === 0 || keepChildren) out.push(line); - } - return out.join('\n'); -} - -/** - * Whitespace- and link-target-insensitive comparison key. Link targets are - * masked because scripts/rewrite_md_links.mjs (which runs after this one) - * rewrites relative targets to absolute URLs in every built .md file. - */ -function comparisonKey(text) { - return text - .replace(/\]\([^)]*\)/g, ']()') - .replace(/[ \t]+$/gm, '') - .replace(/\n{2,}/g, '\n') - .trim(); -} - -/** docs//.mdx -> its built twin path (README.mdx is the dir index). */ -function proseTwinPath(source) { - const dir = relative(DOCS_DIR, dirname(source)); - const base = source.split('/').pop().replace(/\.mdx$/, ''); - return base === 'README' - ? join(BUILD_DIR, DOCS_DIR, `${dir}.md`) - : join(BUILD_DIR, DOCS_DIR, dir, `${base}.md`); -} - -function patchComponentPages() { - const sources = globSync(`${DOCS_DIR}/**/*.mdx`) - .filter((p) => p.includes('/api-reference/') && !p.endsWith('.api.mdx') && !p.includes('/component/')) - .sort(); - - let written = 0; - let unchanged = 0; - let skipped = 0; - let candidates = 0; - - for (const source of sources) { - const src = readFileSync(source, 'utf8'); - if (!UNWRAP_COMPONENTS.some((name) => src.includes(`<${name}`))) continue; - // scripts/rewrite_md_code_examples.mjs runs after this one and regenerates - // the twin of every page from source, unwrapping all four - // components. Writing those twins here would only be overwritten, so it - // owns them. - if (/ p.includes('/api-reference/')) - .sort(); - - let written = 0; - let unchanged = 0; - let skipped = 0; - - for (const source of sources) { - const fm = parseFrontmatter(readFileSync(source, 'utf8')); - if (!fm?.id || !fm.api) { - console.warn(`[generate-api-markdown] no id/api frontmatter in ${source} — skipping.`); - skipped++; - continue; - } - - // docs/
/.api.mdx -> build/docs/
/.md - const twin = join(BUILD_DIR, DOCS_DIR, relative(DOCS_DIR, dirname(source)), `${fm.id}.md`); - if (!existsSync(dirname(twin))) { - console.warn(`[generate-api-markdown] no built output dir for ${source} — skipping.`); - skipped++; - continue; - } - - let markdown; - try { - markdown = renderOperation(decodeOperation(fm.api), fm.title ?? fm.id); - } catch (error) { - console.warn(`[generate-api-markdown] failed to decode ${source}: ${error.message} — skipping.`); - skipped++; - continue; - } - - if (existsSync(twin) && readFileSync(twin, 'utf8') === markdown) { - unchanged++; - continue; - } - writeFileSync(twin, markdown); - written++; - } - - console.log( - `[generate-api-markdown] Wrote ${written} API reference twin(s) (${unchanged} already current, ${skipped} skipped) from ${sources.length} operation source(s).`, - ); - - patchComponentPages(); -} - -main(); diff --git a/scripts/pad-component-tags.mjs b/scripts/pad-component-tags.mjs new file mode 100644 index 000000000..8051ba773 --- /dev/null +++ b/scripts/pad-component-tags.mjs @@ -0,0 +1,60 @@ +#!/usr/bin/env node +// Keeps block-level MDX components separated by blank lines: after an opening +// tag, before a closing tag, and around the component itself. Without them, +// a closing tag right after a list item (or before `---`) is parsed as part of +// that list item (or as a setext heading), and the MDX build fails. +// +// A component tag is a line holding only `` or `` (Name +// capitalized, not self-closing). Code fences are left alone. +// +// Usage: node scripts/pad-component-tags.mjs [--check] FILE... +// With --check, prints the files that need padding and exits 1 instead of writing. +import fs from "node:fs"; + +const OPEN = /^\s*<([A-Z][\w.]*)(\s[^<>]*)?>\s*$/; +const CLOSE = /^\s*<\/([A-Z][\w.]*)>\s*$/; +const FENCE = /^\s*(```|~~~)/; + +const isOpen = (line) => OPEN.test(line) && !line.trimEnd().endsWith("/>"); +const isClose = (line) => CLOSE.test(line); +const isTag = (line) => isOpen(line) || isClose(line); + +function pad(text) { + const lines = text.split("\n"); + const out = []; + let fence = null; + lines.forEach((line, i) => { + const m = line.match(FENCE); + if (fence) { + out.push(line); + if (m && m[1] === fence) fence = null; + return; + } + if (m) { + fence = m[1]; + out.push(line); + return; + } + const tag = isTag(line); + const prev = out.length ? out[out.length - 1] : ""; + const next = i + 1 < lines.length ? lines[i + 1] : ""; + if (tag && prev.trim() !== "" && !isTag(prev)) out.push(""); + out.push(line); + if (tag && next.trim() !== "" && !isTag(next)) out.push(""); + }); + return out.join("\n"); +} + +const args = process.argv.slice(2); +const check = args.includes("--check"); +const changed = []; +for (const file of args.filter((a) => a !== "--check")) { + const src = fs.readFileSync(file, "utf8"); + const padded = pad(src); + if (padded !== src) { + changed.push(file); + if (!check) fs.writeFileSync(file, padded); + } +} +for (const file of changed) console.log(`${check ? "needs padding" : "padded"}: ${file}`); +process.exit(check && changed.length ? 1 : 0); diff --git a/scripts/rewrite_md_admonitions.mjs b/scripts/rewrite_md_admonitions.mjs deleted file mode 100644 index 7350e6562..000000000 --- a/scripts/rewrite_md_admonitions.mjs +++ /dev/null @@ -1,197 +0,0 @@ -// @ts-check -/** - * Post-build step for the markdown-source feature (see rewrite_md_links.mjs). - * - * The docusaurus-markdown-source-plugin emits a `.md` twin of every docs page - * but passes Docusaurus admonitions (`:::info[Title]` ... `:::`) through - * verbatim. That syntax is not standard Markdown, so markdown previews render - * the `:::` lines literally. - * - * This script rewrites admonitions INSIDE the generated `build/**\/*.md` files - * to GitHub-style alerts (https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts): - * - * :::info[Title] > [!NOTE] - * Body. ---> > **Title** - * ::: > Body. - * - * which render as colored callouts on GitHub and in common markdown viewers, - * and degrade to plain blockquotes elsewhere. Docusaurus admonition types map - * to the closest of GitHub's five alert types. A synthesized title gets an - * empty quote line after it so it doesn't lazily merge into the first body - * paragraph. GitHub only renders alerts at the top level, so nested - * admonitions and ones indented inside list items become plain blockquotes - * with a bold "Type: Title" label instead of a literal "[!TYPE]" marker. - * Lines inside code fences are left untouched so documented admonition syntax - * survives. - * - * It does NOT touch any source file in the repo and does NOT affect the HTML - * site — it only post-processes generated build artifacts. It is idempotent: - * a converted file contains no admonition lines for a re-run to match. - * - * Runs automatically via the `postbuild` npm lifecycle hook, so it applies in - * CI and the production Docker build alike. - */ - -import { readdirSync, readFileSync, writeFileSync, existsSync } from 'node:fs'; -import { join } from 'node:path'; - -const BUILD_DIR = 'build'; - -// Code-fence delimiter: 3+ backticks or tildes, optionally indented. -const FENCE_OPEN_RE = /^\s*(`{3,}|~{3,})/; -// A closing fence is the delimiter alone — no info string after it. -const FENCE_CLOSE_RE = /^\s*(`{3,}|~{3,})[ \t]*$/; -// ":::type" or ":::type[Title]" (3+ colons for nesting, optional indentation). -const OPEN_RE = /^([ \t]*):{3,}([a-zA-Z]+)(?:\[(.*)\])?[ \t]*$/; -// Bare ":::" closing line (3+ colons, optional indentation). -const CLOSE_RE = /^[ \t]*:{3,}[ \t]*$/; - -// Docusaurus admonition type -> closest GitHub alert type. -const ALERT_TYPE = { - note: 'NOTE', - info: 'NOTE', - tip: 'TIP', - important: 'IMPORTANT', - warning: 'WARNING', - caution: 'CAUTION', - danger: 'CAUTION', -}; - -// Emoji stand-ins for the admonition icons, used where GitHub alert syntax -// doesn't render (nested / list-indented admonitions). -const TYPE_EMOJI = { - note: 'ℹ️', - info: 'ℹ️', - tip: '💡', - important: '❗', - warning: '⚠️', - caution: '⚠️', - danger: '🔥', -}; - -/** Convert admonition blocks to GitHub alerts; returns null when unchanged. */ -function convertAdmonitions(content) { - let changed = 0; - /** Delimiter of the code fence we're inside (e.g. "````"), or null. */ - let fence = null; - /** Separate a synthesized title from the next body line with an empty - * quote line, so the two don't lazily merge into one paragraph. */ - let needBlank = false; - /** @type {{ indent: string }[]} */ - const stack = []; - const out = []; - - const prefix = () => (stack[0]?.indent ?? '') + '> '.repeat(stack.length); - - for (const line of content.split('\n')) { - if (fence) { - // Per CommonMark, only a bare delimiter of the same character and at - // least the opening length closes the fence; anything else (an inner - // fence of the other character, a shorter run, or a line with an info - // string) is fenced content. - const close = line.match(FENCE_CLOSE_RE); - if (close && close[1][0] === fence[0] && close[1].length >= fence.length) { - fence = null; - } - } else { - const open = line.match(FENCE_OPEN_RE); - if (open) fence = open[1]; - } - - if (!fence) { - const open = line.match(OPEN_RE); - if (open) { - const [, indent, type, title] = open; - const alert = ALERT_TYPE[type.toLowerCase()] ?? 'NOTE'; - const topLevel = stack.length === 0 && indent === ''; - if (needBlank) { - out.push(prefix().trimEnd()); - needBlank = false; - } - stack.push({ indent }); - if (topLevel) { - out.push(`${prefix()}[!${alert}]`); - if (title) { - out.push(`${prefix()}**${title}**`); - needBlank = true; - } - } else { - // GitHub only renders alerts at the top level; a nested or - // list-indented "[!TYPE]" shows up as literal text, so degrade to - // a blockquote led by the type's emoji icon and a bold label. The - // label keeps the original Docusaurus type name (e.g. "Danger"), - // matching the HTML page, since this path isn't limited to - // GitHub's alert set. - const t = type.toLowerCase(); - const label = t[0].toUpperCase() + t.slice(1); - const emoji = TYPE_EMOJI[t] ?? 'ℹ️'; - out.push( - `${prefix()}${emoji} **${title ? `${label}: ${title}` : label}**`, - ); - needBlank = true; - } - changed++; - continue; - } - if (stack.length > 0 && CLOSE_RE.test(line)) { - stack.pop(); - needBlank = false; - changed++; - continue; // drop the closing line entirely - } - } - - if (stack.length > 0) { - // Blockquote the admonition body (fenced lines included — fences are - // valid inside blockquotes). Strip the opener's indent so the body - // aligns under the quote marker; blank lines become bare ">". - const { indent } = stack[stack.length - 1]; - const rest = line.startsWith(indent) - ? line.slice(indent.length) - : line.trimStart(); - if (rest === '') { - out.push(prefix().trimEnd()); - } else { - if (needBlank) out.push(prefix().trimEnd()); - out.push(prefix() + rest); - } - needBlank = false; - continue; - } - - out.push(line); - } - - return changed > 0 ? out.join('\n') : null; -} - -/** Recursively collect every *.md file under dir. */ -function collectMd(dir) { - return readdirSync(dir, { recursive: true }) - .map((p) => join(dir, String(p))) - .filter((p) => p.endsWith('.md')); -} - -function main() { - if (!existsSync(BUILD_DIR)) { - console.warn(`[rewrite-md-admonitions] "${BUILD_DIR}/" not found — skipping.`); - return; - } - - const files = collectMd(BUILD_DIR); - let touchedFiles = 0; - - for (const file of files) { - const out = convertAdmonitions(readFileSync(file, 'utf8')); - if (out !== null) { - writeFileSync(file, out); - touchedFiles++; - } - } - - console.log( - `[rewrite-md-admonitions] Converted admonitions in ${touchedFiles} of ${files.length} generated markdown file(s).`, - ); -} - -main(); diff --git a/scripts/rewrite_md_code_examples.mjs b/scripts/rewrite_md_code_examples.mjs deleted file mode 100644 index 53dd4538a..000000000 --- a/scripts/rewrite_md_code_examples.mjs +++ /dev/null @@ -1,111 +0,0 @@ -// @ts-check -/** - * Post-build step for the markdown-source feature (see rewrite_md_links.mjs). - * - * The docusaurus-markdown-source-plugin cleaner removes unknown paired MDX - * components together with their inner content, so the `.md` twin of any - * page using loses its code blocks entirely. - * - * This script regenerates the twin of every routed source that uses - * : the wrapper tags are unwrapped first — preserving the - * fenced code, and turning a `title` attribute into a bold label — and the - * result is passed through the upstream plugin's own cleaner, so everything - * else is processed identically to the plugin's output. The sibling wrappers - * (, , ) are unwrapped in the - * same step, because a page that mixes them with would otherwise - * lose their content here. - * - * The twin-to-source mapping comes from build/.md-source-map.json, written - * by src/plugins/markdown-source-map during the build (route metadata is - * only available inside Docusaurus). rewrite_md_titles.mjs deletes the map - * once it has run. - * - * MUST run before the other rewrite_md_* steps — the regenerated twins - * still need the title, link, and admonition rewrites applied. - */ - -import { readFileSync, writeFileSync, existsSync } from 'node:fs'; -import { join, dirname } from 'node:path'; -import { fileURLToPath } from 'node:url'; -import { createRequire } from 'node:module'; - -const require = createRequire(import.meta.url); -const { - cleanMarkdownForDisplay, -} = require('docusaurus-markdown-source-plugin/lib/clean-markdown'); -const { - transformOutsideCodeFences, -} = require('docusaurus-markdown-source-plugin/lib/fence-transform'); - -const SITE_DIR = join(dirname(fileURLToPath(import.meta.url)), '..'); -const BUILD_DIR = join(SITE_DIR, 'build'); -const MAP_PATH = join(BUILD_DIR, '.md-source-map.json'); - -// A page that uses may also wrap other content in one of the -// sibling components. Unwrapping only would leave those for the -// cleaner to drop, which would undo the repair scripts/generate_api_markdown.mjs -// made earlier in `postbuild`, so every wrapper is unwrapped here. -const UNWRAP_COMPONENTS = ['CodeExample', 'AttributeTable', 'ExampleResponse', 'MethodTable']; -const UNWRAP_RE = new RegExp( - `<(${UNWRAP_COMPONENTS.join('|')})\\b([^>]*)>([\\s\\S]*?)`, - 'g', -); -const TITLE_ATTR_RE = /\btitle\s*=\s*["']([^"']*)["']/; -const MAX_UNWRAP_PASSES = 5; // enough for any nesting these pages actually use - -function unwrapComponents(content) { - // Unwrap outside code fences only, so documentation ABOUT the components - // (a literal inside a fence) is untouched. - return transformOutsideCodeFences(content, (segment) => { - // One pass unwraps siblings; nested wrappers need the pass to repeat, - // because the outer match swallows the inner tags as body text. - for (let pass = 0; pass < MAX_UNWRAP_PASSES; pass++) { - const next = segment.replace(UNWRAP_RE, (_match, _name, attrs, inner) => { - const title = attrs.match(TITLE_ATTR_RE); - const body = inner.replace(/^\s*\n/, '').replace(/\s+$/, ''); - return title ? `**${title[1]}:**\n\n${body}` : body; - }); - if (next === segment) break; - segment = next; - } - return segment; - }); -} - -function main() { - if (!existsSync(MAP_PATH)) { - console.warn( - '[rewrite-md-code-examples] build/.md-source-map.json not found — skipping.', - ); - return; - } - - const entries = JSON.parse(readFileSync(MAP_PATH, 'utf8')); - let touchedFiles = 0; - - for (const { routePath, sourceFilePath, twinRelPath } of entries) { - let content; - try { - content = readFileSync(join(SITE_DIR, sourceFilePath), 'utf8'); - } catch { - continue; - } - if (!/ content preserved.`, - ); -} - -main(); diff --git a/scripts/rewrite_md_links.mjs b/scripts/rewrite_md_links.mjs deleted file mode 100644 index ec64f35d7..000000000 --- a/scripts/rewrite_md_links.mjs +++ /dev/null @@ -1,188 +0,0 @@ -// @ts-check -/** - * Post-build step for the markdown-source feature (PR #2249 / #2289). - * - * The docusaurus-markdown-source-plugin emits a `.md` twin of every docs page - * (e.g. `/docs/learn/fundamentals/stellar-stack.md`) for LLM/agent consumers, - * but it does NOT rewrite intra-doc links: relative links keep their source - * `.mdx`/`.md` paths. Requesting those `.mdx` URLs 404s (only the `.md` twin is - * served), so an agent that follows links falls out of "markdown mode". - * - * This script rewrites intra-doc links INSIDE the generated `build/**\/*.md` - * files to the FULL canonical URL of the served `.md` twin - * (e.g. `https://developers.stellar.org/docs/networks.md`) — self-contained, so - * an agent can fetch a linked page directly without resolving relative paths, - * and consistent with how `static/llms.txt` already references pages. The site - * origin + baseUrl are read from docusaurus.config.ts (single source of truth). - * - * It does NOT touch any source file in the repo and does NOT affect the HTML - * site — it only post-processes generated build artifacts. (Verified: re-running - * it leaves every build/**\/*.html byte-identical, and full-URL links are skipped - * as external on re-runs, so it is idempotent.) - * - * Correctness: - * - Every candidate link is resolved against the actual generated build tree; a - * link is rewritten only when the target `.md` genuinely exists, so we never - * point at a missing page. Mapping mirrors the plugin's output naming: - * `foo.mdx` -> `foo.md`, `foo/README.mdx` -> `foo.md`, `foo/README.md` -> `foo.md`. - * - Section-index twins: the plugin collapses `dir/README.mdx` to `dir.md`, - * lifting it one directory up, which desyncs links authored relative to - * `dir/`. For any twin that has a sibling directory of the same name we pick - * the resolution base (the twin's own dir vs. that sibling dir) that resolves - * the MOST links to real twins — a per-file vote needing no assumption about - * README vs. category-page conventions. - * - * Plain non-README `.md` links already resolve and are left untouched. Anchors - * (`#section`) and queries (`?x=y`) are preserved; external, absolute-root and - * anchor-only links are skipped. - * - * Runs automatically via the `postbuild` npm lifecycle hook (pnpm runs post - * scripts by default), so it applies in CI and the production Docker build alike. - */ - -import { - readdirSync, - readFileSync, - writeFileSync, - existsSync, - statSync, -} from 'node:fs'; -import { dirname, join, resolve, relative } from 'node:path'; - -const BUILD_DIR = 'build'; -const BUILD_ROOT = resolve(BUILD_DIR); - -// [text](target) and ![alt](target) — capture the bare target (no spaces/titles). -const LINK_RE = /(!?\[[^\]]*\]\()([^)\s]+)(\))/g; - -/** Read the canonical site origin + baseUrl from docusaurus.config.ts. */ -function readSiteConfig() { - const fallback = { origin: 'https://developers.stellar.org', baseUrl: '/' }; - try { - const cfg = readFileSync('docusaurus.config.ts', 'utf8'); - const url = cfg.match(/\burl:\s*["']([^"']+)["']/)?.[1]; - const baseUrl = cfg.match(/\bbaseUrl:\s*["']([^"']+)["']/)?.[1] ?? '/'; - if (!url) return fallback; - return { origin: url.replace(/\/+$/, ''), baseUrl }; - } catch { - return fallback; - } -} - -const SITE = readSiteConfig(); - -/** Canonical full URL for a twin file, derived from its path under build/. */ -function twinUrl(twinAbs) { - const rel = relative(BUILD_ROOT, twinAbs); // e.g. "docs/networks.md" - const base = SITE.baseUrl.endsWith('/') ? SITE.baseUrl : SITE.baseUrl + '/'; - const path = (base + rel).replace(/\/{2,}/g, '/'); // "/docs/networks.md" - return SITE.origin + (path.startsWith('/') ? path : '/' + path); -} - -/** - * Map an absolute source-link path to its served `.md` twin (absolute), or null - * if this kind of path isn't something we rewrite. - */ -function servedTwin(absSourcePath) { - if (/(^|\/)README\.mdx?$/i.test(absSourcePath)) { - // dir/README.(md|mdx) -> dir.md (sibling named after the directory) - return dirname(absSourcePath) + '.md'; - } - if (absSourcePath.endsWith('.mdx')) { - return absSourcePath.slice(0, -'.mdx'.length) + '.md'; - } - return null; // plain non-README .md already resolves; leave it alone -} - -/** - * Resolve a link target against a base dir to its existing twin file. - * Returns { suffix, twin } when the target is a rewritable doc link whose twin - * exists on disk; otherwise null. - */ -function resolveLink(target, baseDirAbs) { - // Skip external, absolute-root, protocol-relative and anchor-only links. - if (/^(https?:|mailto:|tel:|\/\/|\/|#)/i.test(target)) return null; - - const m = target.match(/^([^#?]*)([#?].*)?$/); - if (!m || !m[1]) return null; - const linkPath = m[1]; - const suffix = m[2] ?? ''; - - // Only doc-source links: any .mdx, or a README.md (which the plugin collapses). - const isReadme = /(^|\/)README\.mdx?$/i.test(linkPath); - if (!linkPath.endsWith('.mdx') && !isReadme) return null; - - const twin = servedTwin(resolve(baseDirAbs, linkPath)); - if (!twin || !existsSync(twin)) return null; - return { suffix, twin }; -} - -/** How many of a file's links resolve to real twins under a given base dir. */ -function countResolvable(content, baseDirAbs) { - let n = 0; - for (const match of content.matchAll(LINK_RE)) { - if (resolveLink(match[2], baseDirAbs)) n++; - } - return n; -} - -function rewriteContent(content, resolveBaseAbs) { - let changed = 0; - const out = content.replace(LINK_RE, (full, open, target, close) => { - const r = resolveLink(target, resolveBaseAbs); - if (!r) return full; - const next = twinUrl(r.twin) + r.suffix; - if (next === target) return full; - changed++; - return open + next + close; - }); - return { out, changed }; -} - -/** Recursively collect every *.md file under dir. */ -function collectMd(dir) { - return readdirSync(dir, { recursive: true }) - .map((p) => join(dir, String(p))) - .filter((p) => p.endsWith('.md')); -} - -function main() { - if (!existsSync(BUILD_DIR)) { - console.warn(`[rewrite-md-links] "${BUILD_DIR}/" not found — skipping.`); - return; - } - - const files = collectMd(BUILD_DIR); - let touchedFiles = 0; - let touchedLinks = 0; - - for (const file of files) { - const fileDirAbs = resolve(dirname(file)); // where the twin actually lives - const content = readFileSync(file, 'utf8'); - - // Default: resolve links relative to the twin's own directory. - let resolveBaseAbs = fileDirAbs; - - // Section-index twin? (a sibling directory shares this file's basename) Then - // its source lived one level deeper; vote on which base resolves more links. - const siblingDir = resolve(file.slice(0, -'.md'.length)); - if (existsSync(siblingDir) && statSync(siblingDir).isDirectory()) { - if (countResolvable(content, siblingDir) > countResolvable(content, fileDirAbs)) { - resolveBaseAbs = siblingDir; - } - } - - const { out, changed } = rewriteContent(content, resolveBaseAbs); - if (changed > 0) { - writeFileSync(file, out); - touchedFiles++; - touchedLinks += changed; - } - } - - console.log( - `[rewrite-md-links] Rewrote ${touchedLinks} link(s) to ${SITE.origin} across ${touchedFiles} of ${files.length} generated markdown file(s).`, - ); -} - -main(); diff --git a/scripts/rewrite_md_titles.mjs b/scripts/rewrite_md_titles.mjs deleted file mode 100644 index eb8103301..000000000 --- a/scripts/rewrite_md_titles.mjs +++ /dev/null @@ -1,86 +0,0 @@ -// @ts-check -/** - * Post-build step for the markdown-source feature (see rewrite_md_links.mjs). - * - * The docusaurus-markdown-source-plugin strips YAML front matter from the - * generated `.md` twins but never re-injects the page title, so every twin - * starts abruptly with the first body paragraph while its HTML counterpart - * shows the title as an H1. - * - * This script prepends `# {front matter title}` to each twin, using the - * twin-to-source map written by src/plugins/markdown-source-map. Pages - * without a front matter `title`, with `hide_title: true`, or whose body - * already starts with an H1 are left alone. The map file is deleted - * afterwards (this is the last step that consumes it) so it is not deployed. - * - * MUST run after rewrite_md_code_examples.mjs (which regenerates some twins - * from source, discarding earlier edits) and before rewrite_md_links.mjs / - * rewrite_md_admonitions.mjs is fine either way — the injected line is plain - * markdown that neither step touches. - */ - -import { - readFileSync, - writeFileSync, - unlinkSync, - existsSync, -} from 'node:fs'; -import { join, dirname } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const SITE_DIR = join(dirname(fileURLToPath(import.meta.url)), '..'); -const BUILD_DIR = join(SITE_DIR, 'build'); -const MAP_PATH = join(BUILD_DIR, '.md-source-map.json'); - -/** Extract the `title` from a source file's YAML front matter, if any. */ -function frontMatterTitle(source) { - const fm = source.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n/); - if (!fm) return null; - if (/^hide_title:\s*true\b/m.test(fm[1])) return null; - const title = fm[1].match(/^title:[ \t]*(.+?)[ \t]*$/m); - if (!title) return null; - // Strip surrounding quotes if present. - return title[1].replace(/^(["'])(.*)\1$/, '$2'); -} - -function main() { - if (!existsSync(MAP_PATH)) { - console.warn( - '[rewrite-md-titles] build/.md-source-map.json not found — skipping.', - ); - return; - } - - const entries = JSON.parse(readFileSync(MAP_PATH, 'utf8')); - let touchedFiles = 0; - - for (const { sourceFilePath, twinRelPath } of entries) { - let source; - try { - source = readFileSync(join(SITE_DIR, sourceFilePath), 'utf8'); - } catch { - continue; - } - const title = frontMatterTitle(source); - if (!title) continue; - - const twinPath = join(BUILD_DIR, twinRelPath); - let twin; - try { - twin = readFileSync(twinPath, 'utf8'); - } catch { - continue; - } - if (twin.startsWith('# ')) continue; - - writeFileSync(twinPath, `# ${title}\n\n${twin}`, 'utf8'); - touchedFiles++; - } - - unlinkSync(MAP_PATH); - console.log( - `[rewrite-md-titles] Injected the page title into ${touchedFiles} of ${entries.length} generated markdown file(s).`, - ); -} - -main(); diff --git a/sds-components.css b/sds-components.css new file mode 100644 index 000000000..de0b78fb4 --- /dev/null +++ b/sds-components.css @@ -0,0 +1,242 @@ +/* SDS for Mintlify: restyles Mintlify components (callouts, cards, badges, tabs, code blocks, accordions, + API fields) to the SDS look. Part of sds-mintlify-kit. Tokens only. + Selector stability legend: + [documented] = element selector or data-component-part listed in Mintlify custom-scripts docs + [observed] = data attribute present in the DOM but not documented + [tailwind] = relies on beating a Tailwind utility class; may break on Mintlify updates + #body-content is a documented ID and is used to win specificity over utilities. */ + +/* ---------- Callouts -> SDS Notification (Notification.scss) ---------- */ +/* [documented] .callout, [data-callout-type], [data-component-part="callout-icon"|"callout-content"] */ +#body-content .callout { + --sds-n-bg: var(--sds-clr-lilac-01); + --sds-n-border: var(--sds-clr-lilac-06); + --sds-n-icon: var(--sds-clr-lilac-09); + --sds-n-action: var(--sds-clr-lilac-11); + background-color: var(--sds-n-bg); + border: 1px solid var(--sds-n-border); + border-radius: 0.5rem; + padding: 0.75rem; + gap: 0.75rem; + color: var(--sds-clr-gray-11); + font-size: 0.875rem; + line-height: 1.25rem; +} +#body-content .callout[data-callout-type="note"] { + --sds-n-bg: var(--sds-clr-gray-01); + --sds-n-border: var(--sds-clr-gray-06); + --sds-n-icon: var(--sds-clr-gray-09); + --sds-n-action: var(--sds-clr-gray-12); +} +#body-content .callout[data-callout-type="tip"], +#body-content .callout[data-callout-type="check"] { + --sds-n-bg: var(--sds-clr-green-01); + --sds-n-border: var(--sds-clr-green-06); + --sds-n-icon: var(--sds-clr-green-09); + --sds-n-action: var(--sds-clr-green-11); +} +#body-content .callout[data-callout-type="warning"] { + --sds-n-bg: var(--sds-clr-amber-01); + --sds-n-border: var(--sds-clr-amber-06); + --sds-n-icon: var(--sds-clr-amber-09); + --sds-n-action: var(--sds-clr-amber-11); +} +#body-content .callout[data-callout-type="danger"] { + --sds-n-bg: var(--sds-clr-red-01); + --sds-n-border: var(--sds-clr-red-06); + --sds-n-icon: var(--sds-clr-red-09); + --sds-n-action: var(--sds-clr-red-11); +} +#body-content .callout [data-component-part="callout-icon"] { margin-top: 0.125rem; width: 1rem; } +#body-content .callout [data-component-part="callout-icon"] svg { color: var(--sds-n-icon); width: 1rem; height: 1rem; } +#body-content .callout [data-component-part="callout-content"], +#body-content .callout [data-component-part="callout-content"] p, +#body-content .callout [data-component-part="callout-content"] li { + color: var(--sds-clr-gray-11); + font-size: 0.875rem; + line-height: 1.25rem; +} +#body-content .callout [data-component-part="callout-content"] strong { color: var(--sds-clr-gray-12); font-weight: var(--sds-fw-medium); } +#body-content .callout [data-component-part="callout-content"] a { + color: var(--sds-n-action); + font-weight: var(--sds-fw-medium); + text-decoration: none; + border-bottom: 0; +} +#body-content .callout [data-component-part="callout-content"] a:hover { text-decoration: underline; } + +/* ---------- Card -> SDS Card (Card.scss) ---------- */ +/* [documented] .card, card-content-container, card-icon, card-title, card-content. + SDS Card is borderless (gray-01 surface); on a gray-01 page it needs the gray-06 hairline that + SDS Notification/Badge use, otherwise it disappears. Hover uses !important because Mintlify + sets hover:border-primary! [tailwind]. */ +#body-content .card { + background-color: var(--sds-clr-gray-01); + border: 1px solid var(--sds-clr-gray-06); + border-radius: 0.5rem; + box-shadow: none; + transition: border-color var(--sds-anim-transition-default); +} +#body-content .card:hover { border-color: var(--sds-clr-gray-08) !important; } +#body-content .card [data-component-part="card-content-container"] { padding: 1.5rem; } +#body-content .card [data-component-part="card-icon"] { width: 1.25rem; height: 1.25rem; } +#body-content .card [data-component-part="card-icon"] svg { + width: 1.25rem; height: 1.25rem; + color: var(--sds-clr-gray-12); /* inline SVG icons (icon={}) use currentColor */ +} +#body-content .card [data-component-part="card-icon"] svg[style*="mask-image"] { + background-color: var(--sds-clr-gray-12); /* Mintlify's library icons are mask-image boxes colored by background */ +} +#body-content .card [data-component-part="card-title"] { + font-size: 1rem; + line-height: 1.5rem; + font-weight: var(--sds-fw-medium); + color: var(--sds-clr-gray-12); + margin-top: 0.75rem; +} +#body-content .card [data-component-part="card-content"], +#body-content .card [data-component-part="card-content"] p { + font-size: 0.875rem; + line-height: 1.25rem; + color: var(--sds-clr-gray-11); + margin-top: 0.25rem; +} +#body-content .card [data-component-part="card-cta"] { color: var(--sds-clr-lilac-11); font-weight: var(--sds-fw-medium); font-size: 0.875rem; } + +/* ---------- Badge -> SDS Badge md (Badge.scss) ---------- */ +/* [observed] span[data-badge][data-color]; Mintlify colors mapped to SDS variants */ +#body-content [data-badge] { + --sds-b-text: var(--sds-clr-gray-12); + --sds-b-bg: var(--sds-clr-gray-01); + --sds-b-border: var(--sds-clr-gray-06); + display: inline-flex; + align-items: center; + gap: 0.125rem; + font-family: var(--sds-ff-base); + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: var(--sds-fw-medium); + letter-spacing: 0; + padding: 0.125rem 0.5rem; + border-radius: 6.25rem; + border: 1px solid var(--sds-b-border); + background-color: var(--sds-b-bg); + color: var(--sds-b-text); +} +#body-content [data-badge][data-color="blue"], +#body-content [data-badge][data-color="purple"] { + --sds-b-text: var(--sds-clr-lilac-11); --sds-b-bg: var(--sds-clr-lilac-02); --sds-b-border: var(--sds-clr-lilac-06); +} +#body-content [data-badge][data-color="green"] { + --sds-b-text: var(--sds-clr-green-11); --sds-b-bg: var(--sds-clr-green-02); --sds-b-border: var(--sds-clr-green-06); +} +#body-content [data-badge][data-color="red"] { + --sds-b-text: var(--sds-clr-red-11); --sds-b-bg: var(--sds-clr-red-02); --sds-b-border: var(--sds-clr-red-06); +} +#body-content [data-badge][data-color="yellow"], +#body-content [data-badge][data-color="orange"], +#body-content [data-badge][data-color="amber"] { + --sds-b-text: var(--sds-clr-amber-11); --sds-b-bg: var(--sds-clr-amber-02); --sds-b-border: var(--sds-clr-amber-06); +} +#body-content [data-badge][data-color="gray"], +#body-content [data-badge][data-color="grey"] { + --sds-b-text: var(--sds-clr-gray-11); --sds-b-bg: var(--sds-clr-gray-03); --sds-b-border: var(--sds-clr-gray-06); +} + +/* ---------- Tabs ---------- */ +/* [documented] .tabs, tabs-list, tab-button; [observed] data-active */ +#body-content .tabs [data-component-part="tabs-list"] { border-bottom-color: var(--sds-clr-gray-06); gap: 1.5rem; } +#body-content .tabs [data-component-part="tab-button"] { + font-size: var(--sds-fs-secondary); + font-weight: var(--sds-fw-medium); + color: var(--sds-clr-gray-11); + border-bottom: 2px solid transparent; + padding-top: 0.5rem; padding-bottom: 0.625rem; +} +#body-content .tabs [data-component-part="tab-button"]:hover { color: var(--sds-clr-gray-12); border-bottom-color: var(--sds-clr-gray-06); } +#body-content .tabs [data-component-part="tab-button"][data-active="true"] { color: var(--sds-clr-gray-12); border-bottom-color: var(--sds-clr-lilac-09); } + +/* ---------- CodeGroup / code blocks ---------- */ +/* [documented] .code-group, code-group-tab-bar, code-block-root; tab buttons are [role=tab] [tailwind] */ +#body-content .code-group { + border-radius: 0.5rem; + border-color: var(--sds-clr-gray-06); + background-color: var(--sds-clr-gray-02); +} +#body-content .code-group [role="tab"] { font-family: var(--sds-ff-base); font-size: 0.75rem; font-weight: var(--sds-fw-medium); color: var(--sds-clr-gray-11); } +#body-content .code-group [role="tab"][data-active], +#body-content .code-group [role="tab"][aria-selected="true"] { color: var(--sds-clr-gray-12); } +#body-content .code-group [role="tab"] .bg-primary { background-color: var(--sds-clr-lilac-09); } +/* One radius for the whole code block. Mintlify rounds the outer frame (.code-block, rounded-2xl = 16px) and the + inner fill separately; rounding only the inner fill leaves its corners inset inside the outer outline. */ +#body-content .code-block, +#body-content .code-group { + border-radius: 0.5rem; + border-color: var(--sds-clr-gray-06); + overflow: hidden; +} +#body-content .code-block [data-component-part="code-block-root"], +#body-content .code-group [data-component-part="code-block-root"] { border-radius: inherit; } +#body-content .code-group .code-block { border: 0; border-radius: 0; } +/* Code groups round the inner fill with a layered !important that reads --rounded-xl (14px), so set the variable. */ +#body-content .code-group { --rounded-xl: 0.5rem; } +/* github-dark ships a blue-gray #24292E, applied by Mintlify as html.dark .code-block-background { ... !important }. + Match the SDS dark surface; the extra #body-content specificity wins between two unlayered !important rules. */ +html.dark #body-content .code-block-background { background-color: var(--sds-clr-gray-02) !important; } +/* The fade behind the copy button reads --fade-color-dark from an inline style (the theme's #24292E). + An author !important on the variable beats the inline value, so the fade matches the SDS surface. */ +#body-content [data-fade-overlay] { --fade-color-dark: var(--sds-clr-gray-02) !important; } + +/* ---------- Accordion ---------- */ +/* [documented] .accordion, .accordion-group, accordion-button, accordion-title, accordion-caret-right */ +#body-content .accordion, +#body-content .accordion-group { border-radius: 0.5rem; border-color: var(--sds-clr-gray-06); background-color: var(--sds-clr-gray-01); } +#body-content .accordion [data-component-part="accordion-button"] { padding: 0.875rem 1rem; } +#body-content .accordion [data-component-part="accordion-button"]:hover { background-color: var(--sds-clr-gray-02); } +#body-content .accordion [data-component-part="accordion-title"], +#body-content .accordion [data-component-part="accordion-title"] strong { + color: var(--sds-clr-gray-12); + font-size: var(--sds-fs-secondary); + font-weight: var(--sds-fw-medium); +} +#body-content .accordion [data-component-part="accordion-caret-right"] svg { color: var(--sds-clr-gray-09); } + +/* ---------- Expandable ---------- */ +/* [documented] .expandable, expandable-button, expandable-content */ +#body-content details.expandable { border-radius: 0.5rem; border-color: var(--sds-clr-gray-06); } +#body-content [data-component-part="expandable-button"] { color: var(--sds-clr-gray-11); font-size: var(--sds-fs-secondary); font-weight: var(--sds-fw-medium); } +#body-content [data-component-part="expandable-button"]:hover { color: var(--sds-clr-gray-12); background-color: var(--sds-clr-gray-02); } +#body-content [data-component-part="expandable-content"] { border-top-color: var(--sds-clr-gray-04); } + +/* ---------- ResponseField / ParamField ---------- */ +/* [observed] .primitive-param-field, field-name, field-meta, field-info-pill, field-required-pill */ +#body-content .primitive-param-field { border-bottom-color: var(--sds-clr-gray-04); } +#body-content [data-component-part="field-name"] { color: var(--sds-clr-gray-12); font-family: var(--sds-ff-monospace); font-weight: var(--sds-fw-medium); } +#body-content [data-component-part="field-info-pill"], +#body-content [data-component-part="field-required-pill"] { + font-family: var(--sds-ff-base); + font-size: 0.75rem; + line-height: 1.125rem; + font-weight: var(--sds-fw-medium); + padding: 0.125rem 0.375rem; + border-radius: 6.25rem; + border: 1px solid var(--sds-clr-gray-06); + background-color: var(--sds-clr-gray-03); + color: var(--sds-clr-gray-11); +} +#body-content [data-component-part="field-required-pill"] { + border-color: var(--sds-clr-lilac-06); + background-color: var(--sds-clr-lilac-02); + color: var(--sds-clr-lilac-11); +} + +/* ---------- Code size + callout links (follow-up) ---------- */ +/* Inconsolata runs ~17% narrower than paperMono; 15px keeps line length close to the old 14px. */ +#body-content pre code, +#body-content pre { font-size: 0.9375rem; } +/* Mintlify sets [&_a]:text-current! inside a Tailwind cascade layer, and a layered !important beats any + unlayered rule. text-fill-color paints the link text without touching color, so it sidesteps that rule. */ +#body-content .callout [data-component-part="callout-content"] a { + -webkit-text-fill-color: var(--sds-n-action); + text-decoration-color: var(--sds-n-action); +} diff --git a/sds-elements.css b/sds-elements.css new file mode 100644 index 000000000..13bac1d2a --- /dev/null +++ b/sds-elements.css @@ -0,0 +1,135 @@ +/* SDS for Mintlify: element styling (type scale, text colors, links, tables, inline code, monospace font). + Part of sds-mintlify-kit, built against @stellar/design-system 4.0.2 and Mintlify theme "sequoia". + Tokens only (var(--sds-*) from sds-tokens.css); no raw colors. + Selectors: documented Mintlify IDs (#content-area, #page-title, #navbar) plus the `.prose` content + wrapper. #navigation-items / #table-of-contents are observed in the DOM but not documented. */ +@import url("https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;500;600;700&display=swap"); + +/* SDS monospace everywhere. .font-mono covers API reference paths and request samples. */ +code, +pre, +kbd, +.font-mono { + font-family: var(--sds-ff-monospace); +} + +/* Page title = SDS Heading sm (2rem/2.5rem), weight medium, gray-12 */ +#content-area #page-title { + font-family: var(--sds-ff-heading); + font-size: 2rem; + line-height: 2.5rem; + font-weight: var(--sds-fw-medium); + letter-spacing: -0.02em; + color: var(--sds-clr-gray-12); +} + +/* Body text: SDS site uses gray-11 base text, 16px, 1.6 line-height */ +#content-area .prose { + color: var(--sds-clr-gray-11); + font-size: var(--sds-fs-primary); + line-height: 1.6; +} +#content-area .prose p, +#content-area .prose li { + color: var(--sds-clr-gray-11); + line-height: 1.6; +} +#content-area .prose strong, +#content-area .prose b { + color: var(--sds-clr-gray-12); + font-weight: var(--sds-fw-semi-bold); +} + +/* Heading scale: h2 = Heading xs (1.5rem/2rem), h3 1.25/1.75, h4 1.125/1.625, all weight medium, gray-12 */ +#content-area .prose h2, +#content-area .prose h3, +#content-area .prose h4, +#content-area .prose h5 { + font-family: var(--sds-ff-heading); + font-weight: var(--sds-fw-medium); + color: var(--sds-clr-gray-12); + letter-spacing: -0.01em; +} +#content-area .prose h2 { font-size: 1.5rem; line-height: 2rem; margin-top: 2.5rem; margin-bottom: 1rem; } +#content-area .prose h3 { font-size: 1.25rem; line-height: 1.75rem; margin-top: 2rem; margin-bottom: 0.75rem; } +#content-area .prose h4 { font-size: 1.125rem; line-height: 1.625rem; } +#content-area .prose h5 { font-size: 1rem; line-height: 1.5rem; font-weight: var(--sds-fw-semi-bold); } + +/* Links = SDS Link primary: lilac-11, medium, no underline; hover lilac-12 underline */ +#content-area .prose a:not([class*="card"]):not([data-component-part]):not(.sds *), +#content-area .prose a.link:not(.sds *) { + color: var(--sds-clr-lilac-11); + font-weight: var(--sds-fw-medium); + text-decoration: none; + border-bottom: 0; + transition: color var(--sds-anim-transition-default); +} +#content-area .prose a:not([class*="card"]):not([data-component-part]):not(.sds *):hover, +#content-area .prose a.link:not(.sds *):hover { + color: var(--sds-clr-lilac-12); + text-decoration: underline; + text-underline-offset: 0.2em; +} + +/* Inline code = SDS Code: mono, gray-12 on gray-03 with gray-06 border, 0.25rem radius */ +#content-area .prose :not(pre) > code { + font-family: var(--sds-ff-monospace); + font-size: 0.875em; + font-weight: var(--sds-fw-regular); + color: var(--sds-clr-gray-12); + background-color: var(--sds-clr-gray-03); + border: 1px solid var(--sds-clr-gray-06); + border-radius: 0.25rem; + padding: 0.0625rem 0.25rem; +} + +/* Tables: gray-06 header rule, gray-04 row rules, no vertical borders, 14px */ +#content-area .prose table { + font-size: var(--sds-fs-secondary); + line-height: 1.25rem; + border-collapse: collapse; +} +#content-area .prose thead th { + color: var(--sds-clr-gray-11); + font-weight: var(--sds-fw-medium); + font-size: 0.75rem; + line-height: 1.125rem; + text-transform: uppercase; + letter-spacing: 0.02em; + border-bottom: 1px solid var(--sds-clr-gray-06); + padding: 0.5rem 0.75rem; +} +#content-area .prose tbody td { + color: var(--sds-clr-gray-12); + border-bottom: 1px solid var(--sds-clr-gray-04); + padding: 0.625rem 0.75rem; + vertical-align: top; +} +#content-area .prose tbody tr:last-child td { border-bottom: 0; } + +/* Rules and quotes */ +#content-area .prose hr { border-color: var(--sds-clr-gray-04); } +#content-area .prose blockquote { + border-left: 2px solid var(--sds-clr-gray-06); + color: var(--sds-clr-gray-11); + font-style: normal; +} + +/* Sidebar + TOC as on SDS's docs site: 14px medium, gray-11, active gray-12. + IDs observed in the DOM, not in Mintlify's documented list. */ +#navigation-items a, +#table-of-contents a { + font-size: var(--sds-fs-secondary); + font-weight: var(--sds-fw-medium); + color: var(--sds-clr-gray-11); +} +#navigation-items a:hover, +#table-of-contents a:hover, +#navigation-items a[aria-current], +#table-of-contents a[aria-current] { + color: var(--sds-clr-gray-12); +} + +/* Inline SDS icon helper for JSX icons in prose */ +.sds-inline-icon { display: inline-flex; vertical-align: -0.15em; width: 1em; height: 1em; color: var(--sds-clr-gray-12); } +.sds-inline-icon svg { width: 100%; height: 100%; } diff --git a/sds-icons.css b/sds-icons.css new file mode 100644 index 000000000..16363f1a2 --- /dev/null +++ b/sds-icons.css @@ -0,0 +1,22 @@ +/* Generated from @stellar/design-system@4.0.2 build/assets. Do not edit by hand. + Regenerate: cd tools/sds && npm install && npm run build */ +[style*="/file-lines.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-file-04.svg") !important; mask-image: url("/img/sds-icons/icons-file-04.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/box-archive.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-folder.svg") !important; mask-image: url("/img/sds-icons/icons-folder.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/house.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-home-05.svg") !important; mask-image: url("/img/sds-icons/icons-home-05.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/magnifying-glass.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-search-md.svg") !important; mask-image: url("/img/sds-icons/icons-search-md.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/ellipsis-vertical.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-dots-vertical.svg") !important; mask-image: url("/img/sds-icons/icons-dots-vertical.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/angle-right.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-chevron-right.svg") !important; mask-image: url("/img/sds-icons/icons-chevron-right.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/play.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-play.svg") !important; mask-image: url("/img/sds-icons/icons-play.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/newspaper.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-announcement-01.svg") !important; mask-image: url("/img/sds-icons/icons-announcement-01.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/cube.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-cube-01.svg") !important; mask-image: url("/img/sds-icons/icons-cube-01.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/mobile-screen.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-phone-01.svg") !important; mask-image: url("/img/sds-icons/icons-phone-01.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/bolt.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-zap.svg") !important; mask-image: url("/img/sds-icons/icons-zap.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/wallet.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-wallet-02.svg") !important; mask-image: url("/img/sds-icons/icons-wallet-02.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/toolbox.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-tool-02.svg") !important; mask-image: url("/img/sds-icons/icons-tool-02.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/message.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-message-square-01.svg") !important; mask-image: url("/img/sds-icons/icons-message-square-01.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/code.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-code-02.svg") !important; mask-image: url("/img/sds-icons/icons-code-02.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/users.svg"] { -webkit-mask-image: url("/img/sds-icons/icons-users-01.svg") !important; mask-image: url("/img/sds-icons/icons-users-01.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/discord.svg"] { -webkit-mask-image: url("/img/sds-icons/logos-discord.svg") !important; mask-image: url("/img/sds-icons/logos-discord.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/x-twitter.svg"] { -webkit-mask-image: url("/img/sds-icons/logos-x-twitter.svg") !important; mask-image: url("/img/sds-icons/logos-x-twitter.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/youtube.svg"] { -webkit-mask-image: url("/img/sds-icons/logos-youtube.svg") !important; mask-image: url("/img/sds-icons/logos-youtube.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } +[style*="/linkedin.svg"] { -webkit-mask-image: url("/img/sds-icons/logos-linkedin.svg") !important; mask-image: url("/img/sds-icons/logos-linkedin.svg") !important; -webkit-mask-size: contain !important; mask-size: contain !important; } diff --git a/sds-preview.mdx b/sds-preview.mdx new file mode 100644 index 000000000..35a33ad92 --- /dev/null +++ b/sds-preview.mdx @@ -0,0 +1,215 @@ +--- +title: "SDS component preview" +description: "Every component the SDS kit restyles, on one page. Check it in both light and dark themes." +noindex: true +--- + +This page exists to review the SDS styling. It is not in the navigation. Body text should be SDS gray-11 at 16px, links like [this one](/docs/build) should be lilac, and `inline code` should be Inconsolata on a gray chip. + +## Headings + +### Heading 3 + +#### Heading 4 + +##### Heading 5 + +All headings should be Inter at weight 500. + +## Callouts + + + A note callout with a [link inside it](/docs/build). Callout links use a workaround, so check that this link is lilac. + + + + An info callout with `inline code` and a [link](/docs/build). + + + + A tip callout. + + + + A warning callout. + + + + A check callout. + + + + A danger callout. + + +## Cards + +These icons are all mapped to SDS icons. The last card uses `rocket`, which is not mapped, so it should keep Mintlify's default icon for comparison. + + + + Mapped to SDS `home-line`. + + + Mapped to SDS `zap`. + + + Mapped to SDS `wallet-02`. + + + Mapped to SDS `code-02`. + + + Mapped to SDS `cube-01`. + + + Not in the icon map. Keeps Mintlify's default. + + + + + A single full-width card with no icon. Hover to check the border and background change. + + +## Icons + +Every icon the kit maps, drawn with the `` component. Each should be an SDS line icon or logo. The last row uses `rocket`, which is not mapped, so it should look different. + +| Icon | Mintlify name | SDS file | +| --- | --- | --- | +| | `file-lines` | `icons/file-04` | +| | `box-archive` | `icons/archive` | +| | `house` | `icons/home-line` | +| | `magnifying-glass` | `icons/search-md` | +| | `ellipsis-vertical` | `icons/dots-vertical` | +| | `angle-right` | `icons/chevron-right` | +| | `play` | `icons/play` | +| | `newspaper` | `icons/announcement-01` | +| | `cube` | `icons/cube-01` | +| | `mobile-screen` | `icons/phone-01` | +| | `bolt` | `icons/zap` | +| | `wallet` | `icons/wallet-02` | +| | `toolbox` | `icons/tool-02` | +| | `message` | `icons/message-square-01` | +| | `code` | `icons/code-02` | +| | `discord` | `logos/discord` | +| | `x-twitter` | `logos/x-twitter` | +| | `youtube` | `logos/youtube` | +| | `linkedin` | `logos/linkedin` | +| | `rocket` | Not mapped (Mintlify default) | + +Inline in text: house, bolt, discord, rocket (unmapped). + +## Badges + +Blue Green Yellow Orange Red Purple Gray + +## Tabs + + + + Content of the first tab, with a [link](/docs/build). + + + Content of the second tab. + + ```bash + stellar contract build + ``` + + + Content of the third tab. + + + +## Code blocks + +A single code block. Code should be Inconsolata at 15px, and the dark theme background should be SDS neutral, not github-dark blue-gray. + +```javascript example.js +import { Horizon, Keypair } from "@stellar/stellar-sdk"; + +const server = new Horizon.Server("https://horizon-testnet.stellar.org"); +const pair = Keypair.random(); + +console.log(`Public key: ${pair.publicKey()}`); +``` + +A code group with language tabs. The language logos keep Mintlify's style, because SDS has none. + + + +```javascript JavaScript +const account = await server.loadAccount(pair.publicKey()); +``` + +```python Python +account = server.load_account(pair.public_key) +``` + +```rust Rust +let account = client.get_account(&public_key).await?; +``` + + + +## Accordions + + + + Accordion content with a [link](/docs/build) and `inline code`. + + + More accordion content. + + + + + An accordion outside a group. + + +## API fields + + + The account's public key. This field is required. + + + + The maximum number of records to return. + + + + The transaction record. + + + + The transaction hash. + + + The ledger the transaction was included in. + + + + +## Tables + +| Network | Horizon URL | Passphrase | +| --- | --- | --- | +| Mainnet | `https://horizon.stellar.org` | Public Global Stellar Network ; September 2015 | +| Testnet | `https://horizon-testnet.stellar.org` | Test SDF Network ; September 2015 | +| Futurenet | `https://horizon-futurenet.stellar.org` | Test SDF Future Network ; October 2022 | + +## Lists, quotes, and rules + +- A **bold** item and an *italic* item +- An item with a [link](/docs/build) + - A nested item + +1. First step +2. Second step + +> A blockquote. It should use SDS grays. + +--- + +The line above is a horizontal rule. diff --git a/sds-tokens.css b/sds-tokens.css new file mode 100644 index 000000000..3447da9d7 --- /dev/null +++ b/sds-tokens.css @@ -0,0 +1,10 @@ +/* Generated from @stellar/design-system@4.0.2 build/styles.min.css. Do not edit by hand. + Regenerate: cd tools/sds && npm install && npm run build */ +:root {--sds-version: "4.0.2" +} +:root {--sds-fs-primary: 16px;--sds-fs-secondary: 14px;--sds-fw-light: 300;--sds-fw-regular: 400;--sds-fw-medium: 500;--sds-fw-semi-bold: 600;--sds-fw-bold: 700;--sds-ff-heading: "Inter", sans-serif;--sds-ff-base: "Inter", sans-serif;--sds-ff-monospace: "Inconsolata", monospace;--sds-z-index-tooltip: 20;--sds-z-index-modal: 30;--sds-opacity-disabled-button: 0.6;--sds-window-width-min: 360px;--sds-window-width-max: 1296px;--sds-window-height-min: 100vh;--sds-anim-transition-default: cubic-bezier(0.65, 0.05, 0.36, 1) 100ms;--sds-input-color-border-default: var(--sds-clr-gray-06);--sds-input-color-border-default-hover: var(--sds-clr-gray-06);--sds-input-color-border-default-focus: var(--sds-clr-gray-06);--sds-input-color-border-error: var(--sds-clr-red-06);--sds-input-color-border-error-hover: var(--sds-clr-red-06);--sds-input-color-border-error-focus: var(--sds-clr-red-06);--sds-input-color-border-disabled: var(--sds-clr-gray-07);--sds-input-color-border-disabled-hover: var(--sds-clr-gray-07);--sds-input-color-border-disabled-focus: var(--sds-clr-gray-07);--sds-input-color-background-default: var(--sds-clr-gray-01);--sds-input-color-background-error: var(--sds-clr-gray-01);--sds-input-color-background-disabled: var(--sds-clr-gray-03);--sds-input-color-text-default: var(--sds-clr-gray-12);--sds-input-color-text-placeholder: var(--sds-clr-gray-11);--sds-input-color-text-disabled: var(--sds-clr-gray-11);--sds-input-color-icon: var(--sds-clr-gray-11);--sds-input-box-shadow-color-default: var(--sds-clr-gray-04);--sds-input-box-shadow-color-error: var(--sds-clr-red-04) +} +:root {--sds-clr-gray-01: #fcfcfc;--sds-clr-gray-02: #f8f8f8;--sds-clr-gray-03: #f3f3f3;--sds-clr-gray-04: #ededed;--sds-clr-gray-05: #e8e8e8;--sds-clr-gray-06: #e2e2e2;--sds-clr-gray-07: #dbdbdb;--sds-clr-gray-08: #c7c7c7;--sds-clr-gray-09: #8f8f8f;--sds-clr-gray-10: #858585;--sds-clr-gray-11: #6f6f6f;--sds-clr-gray-12: #171717;--sds-clr-lilac-01: #fdfcfe;--sds-clr-lilac-02: #fbfaff;--sds-clr-lilac-03: #f5f2ff;--sds-clr-lilac-04: #ede9fe;--sds-clr-lilac-05: #e4defc;--sds-clr-lilac-06: #d7cff9;--sds-clr-lilac-07: #c4b8f3;--sds-clr-lilac-08: #aa99ec;--sds-clr-lilac-09: #6e56cf;--sds-clr-lilac-10: #644fc1;--sds-clr-lilac-11: #5746af;--sds-clr-lilac-12: #20134b;--sds-clr-base-00: #ffffff;--sds-clr-base-01: #000000;--sds-overlay-01: rgba(0, 0, 0, 0.1);--sds-overlay-02: rgba(0, 0, 0, 0.2);--sds-overlay-03: rgba(0, 0, 0, 0.3);--sds-overlay-04: rgba(0, 0, 0, 0.4);--sds-overlay-05: rgba(0, 0, 0, 0.5);--sds-overlay-06: rgba(0, 0, 0, 0.6);--sds-overlay-07: rgba(0, 0, 0, 0.7);--sds-overlay-08: rgba(0, 0, 0, 0.8);--sds-overlay-09: rgba(0, 0, 0, 0.9);--sds-overlay-10: rgba(0, 0, 0, 1);--sds-clr-green-01: #fbfefc;--sds-clr-green-02: #f2fcf5;--sds-clr-green-03: #e9f9ee;--sds-clr-green-04: #ddf3e4;--sds-clr-green-05: #ccebd7;--sds-clr-green-06: #b4dfc4;--sds-clr-green-07: #92ceac;--sds-clr-green-08: #5bb98c;--sds-clr-green-09: #30a46c;--sds-clr-green-10: #299764;--sds-clr-green-11: #18794e;--sds-clr-green-12: #153226;--sds-clr-amber-01: #fefdfb;--sds-clr-amber-02: #fff9ed;--sds-clr-amber-03: #fff4d5;--sds-clr-amber-04: #ffecbc;--sds-clr-amber-05: #ffe3a2;--sds-clr-amber-06: #ffd386;--sds-clr-amber-07: #f3ba63;--sds-clr-amber-08: #ee9d2b;--sds-clr-amber-09: #ffb224;--sds-clr-amber-10: #ffa01c;--sds-clr-amber-11: #ad5700;--sds-clr-amber-12: #4e2009;--sds-clr-red-01: #fffcfc;--sds-clr-red-02: #fff8f8;--sds-clr-red-03: #ffefef;--sds-clr-red-04: #ffe5e5;--sds-clr-red-05: #fdd8d8;--sds-clr-red-06: #f9c6c6;--sds-clr-red-07: #f3aeaf;--sds-clr-red-08: #eb9091;--sds-clr-red-09: #e5484d;--sds-clr-red-10: #dc3d43;--sds-clr-red-11: #cd2b31;--sds-clr-red-12: #381316;--sds-clr-white: #ffffff;--sds-clr-gold-01: #fdfdf9;--sds-clr-gold-02: #fffce8;--sds-clr-gold-03: #fffbd1;--sds-clr-gold-04: #fff8bb;--sds-clr-gold-05: #fef2a4;--sds-clr-gold-06: #f9e68c;--sds-clr-gold-07: #efd36c;--sds-clr-gold-08: #ebbc00;--sds-clr-gold-09: #fdda24;--sds-clr-gold-10: #f7ce00;--sds-clr-gold-11: #946800;--sds-clr-gold-12: #35290f;--sds-clr-navy-01: #fdfdfe;--sds-clr-navy-02: #f8faff;--sds-clr-navy-03: #f0f4ff;--sds-clr-navy-04: #e6edfe;--sds-clr-navy-05: #d9e2fc;--sds-clr-navy-06: #c6d4f9;--sds-clr-navy-07: #aec0f5;--sds-clr-navy-08: #8da4ef;--sds-clr-navy-09: #3e63dd;--sds-clr-navy-10: #3a5ccc;--sds-clr-navy-11: #3451b2;--sds-clr-navy-12: #101d46;--sds-clr-teal-01: #fafdfe;--sds-clr-teal-02: #f2fcfd;--sds-clr-teal-03: #e7f9fb;--sds-clr-teal-04: #d8f3f6;--sds-clr-teal-05: #c4eaef;--sds-clr-teal-06: #aadee6;--sds-clr-teal-07: #84cdda;--sds-clr-teal-08: #3db9cf;--sds-clr-teal-09: #05a2c2;--sds-clr-teal-10: #0894b3;--sds-clr-teal-11: #0c7792;--sds-clr-teal-12: #04313c;--sds-clr-mint-01: #f9fefd;--sds-clr-mint-02: #effefa;--sds-clr-mint-03: #e1fbf4;--sds-clr-mint-04: #d2f7ed;--sds-clr-mint-05: #c0efe3;--sds-clr-mint-06: #a5e4d4;--sds-clr-mint-07: #7dd4c0;--sds-clr-mint-08: #40c4aa;--sds-clr-mint-09: #70e1c8;--sds-clr-mint-10: #69d9c1;--sds-clr-mint-11: #147d6f;--sds-clr-mint-12: #09342e;--sds-clr-lime-01: #fcfdfa;--sds-clr-lime-02: #f7fcf0;--sds-clr-lime-03: #eefadc;--sds-clr-lime-04: #e4f7c7;--sds-clr-lime-05: #d7f2b0;--sds-clr-lime-06: #c9e894;--sds-clr-lime-07: #b1d16a;--sds-clr-lime-08: #94ba2c;--sds-clr-lime-09: #99d52a;--sds-clr-lime-10: #93c926;--sds-clr-lime-11: #5d770d;--sds-clr-lime-12: #263209;--sds-clr-pink-01: #fffcfe;--sds-clr-pink-02: #fff7fc;--sds-clr-pink-03: #feeef8;--sds-clr-pink-04: #fce5f3;--sds-clr-pink-05: #f9d8ec;--sds-clr-pink-06: #f3c6e2;--sds-clr-pink-07: #ecadd4;--sds-clr-pink-08: #e38ec3;--sds-clr-pink-09: #d6409f;--sds-clr-pink-10: #d23197;--sds-clr-pink-11: #cd1d8d;--sds-clr-pink-12: #3b0a2a;--sds-clr-tooltip-background: #ededed;--sds-clr-tooltip-title: #161616;--sds-clr-tooltip-text: #505050;--sds-clr-tooltip-contrast-background: #171717;--sds-clr-tooltip-contrast-title: #fcfcfc;--sds-clr-tooltip-contrast-text: #c7c7c7 +} +html.dark, html[data-theme="dark"] {--sds-clr-gray-01: #161616;--sds-clr-gray-02: #1c1c1c;--sds-clr-gray-03: #232323;--sds-clr-gray-04: #282828;--sds-clr-gray-05: #2e2e2e;--sds-clr-gray-06: #343434;--sds-clr-gray-07: #3e3e3e;--sds-clr-gray-08: #505050;--sds-clr-gray-09: #707070;--sds-clr-gray-10: #7e7e7e;--sds-clr-gray-11: #a0a0a0;--sds-clr-gray-12: #ededed;--sds-clr-lilac-01: #17151f;--sds-clr-lilac-02: #1c172b;--sds-clr-lilac-03: #251e40;--sds-clr-lilac-04: #2c2250;--sds-clr-lilac-05: #32275f;--sds-clr-lilac-06: #392c72;--sds-clr-lilac-07: #443592;--sds-clr-lilac-08: #5842c3;--sds-clr-lilac-09: #6e56cf;--sds-clr-lilac-10: #7c66dc;--sds-clr-lilac-11: #9e8cfc;--sds-clr-lilac-12: #f1eefe;--sds-clr-base-00: #000000;--sds-clr-base-01: #ffffff;--sds-overlay-01: rgba(255, 255, 255, 0.1);--sds-overlay-02: rgba(255, 255, 255, 0.2);--sds-overlay-03: rgba(255, 255, 255, 0.3);--sds-overlay-04: rgba(255, 255, 255, 0.4);--sds-overlay-05: rgba(255, 255, 255, 0.5);--sds-overlay-06: rgba(255, 255, 255, 0.6);--sds-overlay-07: rgba(255, 255, 255, 0.7);--sds-overlay-08: rgba(255, 255, 255, 0.8);--sds-overlay-09: rgba(255, 255, 255, 0.9);--sds-overlay-10: rgba(255, 255, 255, 1);--sds-clr-green-01: #0d1912;--sds-clr-green-02: #0c1f17;--sds-clr-green-03: #0f291e;--sds-clr-green-04: #113123;--sds-clr-green-05: #133929;--sds-clr-green-06: #164430;--sds-clr-green-07: #1b543a;--sds-clr-green-08: #236e4a;--sds-clr-green-09: #30a46c;--sds-clr-green-10: #3cb179;--sds-clr-green-11: #4cc38a;--sds-clr-green-12: #e5fbeb;--sds-clr-amber-01: #1f1300;--sds-clr-amber-02: #271700;--sds-clr-amber-03: #341c00;--sds-clr-amber-04: #3f2200;--sds-clr-amber-05: #4a2900;--sds-clr-amber-06: #573300;--sds-clr-amber-07: #693f05;--sds-clr-amber-08: #824e00;--sds-clr-amber-09: #ffb224;--sds-clr-amber-10: #ffcb47;--sds-clr-amber-11: #f1a10d;--sds-clr-amber-12: #fef3dd;--sds-clr-red-01: #1f1315;--sds-clr-red-02: #291415;--sds-clr-red-03: #3c181a;--sds-clr-red-04: #481a1d;--sds-clr-red-05: #541b1f;--sds-clr-red-06: #671e22;--sds-clr-red-07: #822025;--sds-clr-red-08: #aa2429;--sds-clr-red-09: #e5484d;--sds-clr-red-10: #f2555a;--sds-clr-red-11: #ff6369;--sds-clr-red-12: #feecee;--sds-clr-white: #ffffff;--sds-clr-gold-01: #1c1500;--sds-clr-gold-02: #221a00;--sds-clr-gold-03: #2c2100;--sds-clr-gold-04: #352800;--sds-clr-gold-05: #3e3000;--sds-clr-gold-06: #493c00;--sds-clr-gold-07: #594a05;--sds-clr-gold-08: #705e00;--sds-clr-gold-09: #fdda24;--sds-clr-gold-10: #ffef5c;--sds-clr-gold-11: #f0c000;--sds-clr-gold-12: #fffad1;--sds-clr-navy-01: #131620;--sds-clr-navy-02: #15192d;--sds-clr-navy-03: #192140;--sds-clr-navy-04: #1c274f;--sds-clr-navy-05: #1f2c5c;--sds-clr-navy-06: #22346e;--sds-clr-navy-07: #273e89;--sds-clr-navy-08: #2f4eb2;--sds-clr-navy-09: #3e63dd;--sds-clr-navy-10: #5373e7;--sds-clr-navy-11: #849dff;--sds-clr-navy-12: #eef1fd;--sds-clr-teal-01: #07191d;--sds-clr-teal-02: #061e24;--sds-clr-teal-03: #072830;--sds-clr-teal-04: #07303b;--sds-clr-teal-05: #073844;--sds-clr-teal-06: #064150;--sds-clr-teal-07: #045063;--sds-clr-teal-08: #00647d;--sds-clr-teal-09: #05a2c2;--sds-clr-teal-10: #00b1cc;--sds-clr-teal-11: #00c2d7;--sds-clr-teal-12: #e1f8fa;--sds-clr-mint-01: #081917;--sds-clr-mint-02: #05201e;--sds-clr-mint-03: #052926;--sds-clr-mint-04: #04312c;--sds-clr-mint-05: #033a34;--sds-clr-mint-06: #01453d;--sds-clr-mint-07: #00564a;--sds-clr-mint-08: #006d5b;--sds-clr-mint-09: #70e1c8;--sds-clr-mint-10: #95f3d9;--sds-clr-mint-11: #25d0ab;--sds-clr-mint-12: #e7fcf7;--sds-clr-lime-01: #141807;--sds-clr-lime-02: #181d08;--sds-clr-lime-03: #1e260d;--sds-clr-lime-04: #252e0f;--sds-clr-lime-05: #2b3711;--sds-clr-lime-06: #344213;--sds-clr-lime-07: #415215;--sds-clr-lime-08: #536716;--sds-clr-lime-09: #99d52a;--sds-clr-lime-10: #c4f042;--sds-clr-lime-11: #87be22;--sds-clr-lime-12: #effbdd;--sds-clr-pink-01: #1f121b;--sds-clr-pink-02: #271421;--sds-clr-pink-03: #3a182f;--sds-clr-pink-04: #451a37;--sds-clr-pink-05: #501b3f;--sds-clr-pink-06: #601d48;--sds-clr-pink-07: #7a1d5a;--sds-clr-pink-08: #a71873;--sds-clr-pink-09: #d6409f;--sds-clr-pink-10: #e34ba9;--sds-clr-pink-11: #f65cb6;--sds-clr-pink-12: #feebf7;--sds-clr-tooltip-background: #171717;--sds-clr-tooltip-title: #fcfcfc;--sds-clr-tooltip-text: #c7c7c7;--sds-clr-tooltip-contrast-background: #ededed;--sds-clr-tooltip-contrast-title: #161616;--sds-clr-tooltip-contrast-text: #505050 +} diff --git a/docs/platforms/anchor-platform/admin-guide/component/security/api_key.mdx b/snippets/anchor-platform/api_key.mdx similarity index 89% rename from docs/platforms/anchor-platform/admin-guide/component/security/api_key.mdx rename to snippets/anchor-platform/api_key.mdx index cc5ce4d80..48bae6be6 100644 --- a/docs/platforms/anchor-platform/admin-guide/component/security/api_key.mdx +++ b/snippets/anchor-platform/api_key.mdx @@ -1,14 +1,14 @@ To enable API key authentication, modify your `dev.env` file: - + -```bash +```bash bash # dev.env PLATFORM_API_AUTH_TYPE=api_key # Will be used as API key SECRET_PLATFORM_API_AUTH_SECRET="your API key that business server will use" ``` - + Once enabled, all requests must include a valid `X-Api-Key` header, set to the configured API key. diff --git a/docs/platforms/anchor-platform/admin-guide/component/rpc/error.mdx b/snippets/anchor-platform/error.mdx similarity index 98% rename from docs/platforms/anchor-platform/admin-guide/component/rpc/error.mdx rename to snippets/anchor-platform/error.mdx index 27746e6f0..7943bed97 100644 --- a/docs/platforms/anchor-platform/admin-guide/component/rpc/error.mdx +++ b/snippets/anchor-platform/error.mdx @@ -9,8 +9,8 @@ -:::tip + We will also reference a `$transaction_id` variable. This is an identification of transaction that is being returned from the Anchor Platform on an withdrawal or deposit start request. You can obtain the transaction ID by connecting the test wallet to your local Anchor Platform instance. -::: + diff --git a/docs/platforms/anchor-platform/admin-guide/component/security/jwt.mdx b/snippets/anchor-platform/jwt.mdx similarity index 92% rename from docs/platforms/anchor-platform/admin-guide/component/security/jwt.mdx rename to snippets/anchor-platform/jwt.mdx index e2160a7ce..42bc87929 100644 --- a/docs/platforms/anchor-platform/admin-guide/component/security/jwt.mdx +++ b/snippets/anchor-platform/jwt.mdx @@ -1,15 +1,15 @@ To enable JWT authentication, modify your `dev.env` file: - + -```bash +```bash bash # dev.env PLATFORM_API_AUTH_TYPE=jwt # Will be used to sign the JWT token SECRET_PLATFORM_API_AUTH_SECRET="your secret that business server will use" ``` - + Anchor Platform uses the HMAC SHA-256 (HS256) algorithm to sign JWT tokens. Ensure that `SECRET_PLATFORM_API_AUTH_SECRET` is at least 32 characters long for security. diff --git a/docs/platforms/anchor-platform/admin-guide/component/observer/observer.mdx b/snippets/anchor-platform/observer.mdx similarity index 89% rename from docs/platforms/anchor-platform/admin-guide/component/observer/observer.mdx rename to snippets/anchor-platform/observer.mdx index 338edf702..7dfa26b0b 100644 --- a/docs/platforms/anchor-platform/admin-guide/component/observer/observer.mdx +++ b/snippets/anchor-platform/observer.mdx @@ -1,28 +1,27 @@ -Using the Payment Observer allows you to delegate this step to the Anchor Platform. To enable the Payment Observer, use the `--stellar-observer` flag in the command section of the [compose file](../../getting-started.mdx#configuration). +Using the Payment Observer allows you to delegate this step to the Anchor Platform. To enable the Payment Observer, use the `--stellar-observer` flag in the command section of the [compose file](/docs/platforms/anchor-platform/admin-guide/getting-started#configuration). The Payment Observer will track all transactions sent to the distribution account. When the transaction with the expected memo is detected in the network, the status will automatically change to `pending_anchor` and event will be the emitted (if Kafka is used). In order to update the transaction's statuses, the observer makes corresponding JSON-RPC requests to the platform. It should use the following URL. - + -```bash +```bash bash # dev.env PLATFORM_API_BASE_URL=http://platform-server:8085 ``` - + -:::caution + The Payment Observer won't validate the amounts. It's your responsibility to verify that the amount sent by the user is correct. -::: - -:::info + + If you already have a system that monitors payments, make sure that the logic of the system matches the description below: First, wait for the transaction to be included in the ledger (using an SDK). This transaction must have the expected memo and destination address (distribution account). Once this transaction has been detected and verified, notify the user that the funds have been received using the [notify_onchain_funds_received](#funds-received-1) JSON-RPC request. -::: + diff --git a/snippets/anchor-platform/request.mdx b/snippets/anchor-platform/request.mdx new file mode 100644 index 000000000..3395b3b07 --- /dev/null +++ b/snippets/anchor-platform/request.mdx @@ -0,0 +1,33 @@ +The Request object must contain the following attributes: + + + +A String specifying the version of the JSON-RPC protocol. MUST be exactly "2.0" + + + + + +A String containing the name of the method to be invoked. List of available methods you can see in [JSON-RPC Methods](/docs/platforms/anchor-platform/api-reference/platform/rpc/methods) + + + + + +A Structured value that holds the parameter values, corresponding to method call, to be used during the invocation of the method + + + + + +An identifier established by the client. The Server will reply with the same value in the Response object + + + + + +It's possible to provide multiple updates in a single JSON-RPC request (by placing multiple JSON-RPC request objects). When an update is done in this way, all updates will be done sequentially. + +Most importantly, each JSON-RPC request is not atomic. If one update fails, all previous updates WILL be applied and all subsequent updates WILL be processed and applied as well. + + diff --git a/snippets/anchor-platform/response.mdx b/snippets/anchor-platform/response.mdx new file mode 100644 index 000000000..b1797c058 --- /dev/null +++ b/snippets/anchor-platform/response.mdx @@ -0,0 +1,51 @@ +The Response is expressed as a single JSON Object, with the following attributes: + + + +A String specifying the version of the JSON-RPC protocol. It's set to "2.0" + + + + + +A Structured value that holds the updated transaction details + + + + + +An identifier sent by the client + + + + + +A Structured value that holds the error details + + + + + Unique id of the transaction for which an error occurred + + + + + + A number that indicates the error type that occurred. Please see a list of [error codes](#error-codes) below + + + + + + A String providing a short description of the error + + + + + + A primitive or structured value that contains additional information about the error + + + + + diff --git a/docs/platforms/anchor-platform/admin-guide/component/rpc/rpc.mdx b/snippets/anchor-platform/rpc.mdx similarity index 92% rename from docs/platforms/anchor-platform/admin-guide/component/rpc/rpc.mdx rename to snippets/anchor-platform/rpc.mdx index f00b8ee7f..4d7bf7036 100644 --- a/docs/platforms/anchor-platform/admin-guide/component/rpc/rpc.mdx +++ b/snippets/anchor-platform/rpc.mdx @@ -1,8 +1,8 @@ Before making JSON-RPC requests, let's first create a template for making a request to the Anchor Platform. - + -```bash +```bash bash # call-json-rpc.sh #!/usr/bin/env bash @@ -12,6 +12,6 @@ curl localhost:8085 \ --data "@$1" ``` - + This small script will make a JSON-RPC request to the Anchor Platform hosted on the default port (8085). JSON transaction data stored in the provided file will be used as body (requests must be an array). diff --git a/docs/platforms/anchor-platform/admin-guide/component/security/security.mdx b/snippets/anchor-platform/security.mdx similarity index 91% rename from docs/platforms/anchor-platform/admin-guide/component/security/security.mdx rename to snippets/anchor-platform/security.mdx index 76a3832c3..495da3799 100644 --- a/docs/platforms/anchor-platform/admin-guide/component/security/security.mdx +++ b/snippets/anchor-platform/security.mdx @@ -1,11 +1,10 @@ -:::caution + By default, the Platform API's endpoints such as `GET /transactions` and `GET /transactions/:id` are not protected, and are accessible by anyone who has access to the server, including wallet applications. -::: - -:::info + + It's recommended to keep Platform server accessible only from the private network. However, you may want to add additional layer of protection via securing the API. -::: + diff --git a/snippets/storage-diagram.jsx b/snippets/storage-diagram.jsx new file mode 100644 index 000000000..7f7af8d2b --- /dev/null +++ b/snippets/storage-diagram.jsx @@ -0,0 +1,1869 @@ +// Animated Soroban storage diagrams, ported from the Docusaurus site (src/components/StorageStrategies). +// Mintlify snippets allow no imports or CSS files: styles ship in a : null} +
+ {id === "d0" ? (<> + + + ) : null} + +
+ {children} + {caption ?

{caption}

: null} + ); +}; diff --git a/snippets/usdt0-launch.jsx b/snippets/usdt0-launch.jsx new file mode 100644 index 000000000..953f66d57 --- /dev/null +++ b/snippets/usdt0-launch.jsx @@ -0,0 +1,859 @@ + +export const Usdt0Launch = () => { + const CSS = ` +@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400..600&display=swap'); +/* Every rule is scoped under .usdt0 so nothing leaks into the Mintlify chrome. + Dark mode follows Mintlify's html.dark class. --usdt0-top is where the sticky + section bar parks; 0 because the Mintlify navbar is hidden on this page. */ +.usdt0{ + --paper:#FFFFFF; --paper-2:#F9F9F9; --paper-3:#F2F2F2; + --ink:#0F0F0F; --ink-2:#4A4A4A; --ink-3:#6B6B6B; + --rule:#D8D8D8; --rule-2:#E6E6E6; + --accent:#FDDA24; --accent-soft:#FDDA2440; + --accent-ink:#7A5C00; --on-accent:#0F0F0F; + --usdt0-top:0px; +} +/* the launch page carries its own header, so the Mintlify navbar is hidden. + This stylesheet only exists while the component is mounted, so other pages keep theirs. */ +#navbar{display:none !important} +html.dark .usdt0{ + --paper:#0F0F0F; --paper-2:#191919; --paper-3:#080808; + --ink:#F5F5F0; --ink-2:#B8B8B0; --ink-3:#8E8E86; + --rule:#474747; --rule-2:#333333; + --accent:#FDDA24; --accent-soft:#FDDA2422; + --accent-ink:#FDDA24; --on-accent:#0F0F0F; +} +.usdt0,.usdt0 *{box-sizing:border-box} +.usdt0{ + background:var(--paper); color:var(--ink); + font-family:"Inter","Helvetica Neue",Arial,sans-serif; + font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased; +} +.usdt0 a{color:inherit;text-decoration:none;font-weight:inherit} +.usdt0 code::before,.usdt0 code::after{content:none} +.usdt0 .sheet{max-width:1300px;margin:0 auto;padding:22px 24px 64px} +/* ---------- header ---------- */ +/* sticky, so the section markers stay useful once you have scrolled past them */ +.usdt0 .top{ + position:sticky;top:var(--usdt0-top);z-index:20;background:var(--paper); + display:flex;align-items:center;justify-content:space-between;gap:20px; + font-family:"IBM Plex Mono",ui-monospace,monospace; + font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2); + border-bottom:1px solid var(--rule);padding:12px 0 10px; +} +.usdt0 .secnav{display:flex;gap:5px;align-items:center} +.usdt0 .top-r{display:flex;align-items:center;gap:18px} +.usdt0 .toplink{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule); + letter-spacing:inherit;white-space:nowrap} +.usdt0 .toplink:hover{color:var(--accent-ink);border-bottom-color:var(--accent-ink)} +.usdt0 .toplink:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px} +@media (max-width:560px){ .usdt0 .toplink{display:none} } +.usdt0 .tick{ + width:11px;height:11px;border:1px solid var(--ink-2); + background:transparent;display:block; + transition:background .15s ease,border-color .15s ease; +} +.usdt0 .tick:hover{border-color:var(--accent-ink);background:var(--accent-soft)} +.usdt0 .tick[aria-current="true"]{background:var(--accent);border-color:var(--accent-ink)} +.usdt0 .tick:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px} +/* the tick stays 11px to look at and gets an invisible target around it. The + horizontal reach is tied to the gap so neighbours never overlap: 15px wide + on a mouse, and on touch the gap opens up so the target clears the 24x24 + minimum. Vertical reach is free either way. */ +.usdt0 .tick{position:relative} +.usdt0 .tick::after{content:"";position:absolute;inset:-16px -2px} +@media (pointer:coarse){ + .usdt0 .secnav{gap:16px} + .usdt0 .tick::after{inset:-16px -8px} +} +/* the wider touch gap costs the header its single line at phone widths, so the + label tightens to compensate rather than wrapping */ +@media (max-width:430px){ .usdt0 .top{font-size:10px;letter-spacing:.10em} } +/* anchor jumps must clear the Mintlify navbar and the sticky bar */ +.usdt0 figure[id],.usdt0 section[id]{scroll-margin-top:calc(var(--usdt0-top) + 64px)} +/* Inter needs display tuning the condensed face did not: more negative + tracking, and a little more leading for its taller x-height and longer + descenders. The accent is a block so the color change lands on the line + break instead of stranding a word at the end of line one. */ +.usdt0 h1{ + font-family:"Inter","Helvetica Neue",Arial,sans-serif;color:var(--ink); + font-weight:600;font-size:clamp(34px,5.4vw,58px);line-height:1.06; + letter-spacing:-.03em;margin:26px 0 10px;max-width:24ch;text-wrap:balance; +} +.usdt0 h1 em{display:block;font-style:normal;color:var(--accent-ink)} +.usdt0 .deck{max-width:62ch;color:var(--ink-2);font-size:17px;margin:0 0 8px} +.usdt0 .deck strong{color:var(--ink);font-weight:500} +/* ---------- figure chrome ---------- */ +.usdt0 figure{margin:34px 0 0;border:1px solid var(--rule);background:var(--paper-2)} +.usdt0 .fig-head{ + display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap; + border-bottom:1px solid var(--rule);padding:9px 14px; + font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px; + letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2); +} +.usdt0 .fig-body{padding:16px 14px;overflow-x:auto} +.usdt0 .fig-body>svg{min-width:620px} +.usdt0 figcaption{ + border-top:1px solid var(--rule);padding:10px 14px; + font-size:13.5px;color:var(--ink-2); +} +.usdt0 svg{display:block;max-width:100%;height:auto} +.usdt0 .n-box{fill:var(--paper-2);stroke:currentColor;stroke-width:1} +.usdt0 .n-box.alt{fill:var(--paper-3)} +.usdt0 .n-box.hot{stroke:var(--accent-ink);stroke-width:1.6;fill:var(--accent-soft)} +.usdt0 .n-t{font-family:"Inter","Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:14px;fill:currentColor} +.usdt0 .n-t.hot{fill:var(--accent-ink)} +.usdt0 .n-s{font-family:"IBM Plex Mono",monospace;font-size:10px;fill:var(--ink);letter-spacing:.04em} +.usdt0 .edge{stroke:currentColor;stroke-width:1;fill:none} +.usdt0 .edge.dash{stroke-dasharray:5 4;stroke:var(--ink-3)} +/* One 12.5s cycle tells the whole story once: a packet leaves Ethereum, splits + at the fork, both halves land together, the far-chain half climbs into the + Stellar OFT, and one packet carries on. Every leg runs at the same ~55px/s — + each duration is that path's measured length over that rate — so the pacing + is uniform even though the legs are different lengths. Boxes light on arrival. */ +.usdt0 .pkt{fill:var(--accent-ink);opacity:0} +.usdt0 .lit{fill:var(--accent-soft);stroke:var(--accent-ink);stroke-width:1.6;opacity:0} +.usdt0 .pkt.pTrunk{offset-path:path("M 184 201 H 232");animation:usdt0-pTrunk 12.5s linear infinite} +@keyframes usdt0-pTrunk{0%,0.00%{offset-distance:0%;opacity:0}0.50%{opacity:1}6.70%{opacity:1}7.20%,100%{offset-distance:100%;opacity:0}} +.usdt0 .pkt.pUp{offset-path:path("M 232 201 V 110 H 286");animation:usdt0-pUp 12.5s linear infinite} +@keyframes usdt0-pUp{0%,7.20%{offset-distance:0%;opacity:0}8.66%{opacity:1}26.54%{opacity:1}28.00%,100%{offset-distance:100%;opacity:0}} +.usdt0 .pkt.pDown{offset-path:path("M 232 201 V 292 H 286");animation:usdt0-pDown 12.5s linear infinite} +@keyframes usdt0-pDown{0%,7.20%{offset-distance:0%;opacity:0}8.66%{opacity:1}26.54%{opacity:1}28.00%,100%{offset-distance:100%;opacity:0}} +.usdt0 .pkt.pClimb{offset-path:path("M 384 254 V 168");animation:usdt0-pClimb 12.5s linear infinite} +@keyframes usdt0-pClimb{0%,32.80%{offset-distance:0%;opacity:0}33.86%{opacity:1}46.94%{opacity:1}48.00%,100%{offset-distance:100%;opacity:0}} +.usdt0 .pkt.pMint{offset-path:path("M 478 110 H 528 V 201 H 574");animation:usdt0-pMint 12.5s linear infinite} +@keyframes usdt0-pMint{0%,52.00%{offset-distance:0%;opacity:0}53.90%{opacity:1}77.30%{opacity:1}79.20%,100%{offset-distance:100%;opacity:0}} +.usdt0 .pkt.pUse1{offset-path:path("M 764 171 H 812");animation:usdt0-pUse 12.5s linear infinite} +.usdt0 .pkt.pUse2{offset-path:path("M 764 201 H 812");animation:usdt0-pUse 12.5s linear infinite} +.usdt0 .pkt.pUse3{offset-path:path("M 764 231 H 812");animation:usdt0-pUse 12.5s linear infinite} +@keyframes usdt0-pUse{0%,82.40%{offset-distance:0%;opacity:0}82.90%{opacity:1}89.10%{opacity:1}89.60%,100%{offset-distance:100%;opacity:0}} +.usdt0 .lit.lEth{animation:usdt0-lEth 12.5s linear infinite} +@keyframes usdt0-lEth{0%{opacity:0}0.00%{opacity:0}1.20%{opacity:1}4.40%{opacity:0}100%{opacity:0}} +.usdt0 .lit.lOft{animation:usdt0-lOft 12.5s linear infinite} +@keyframes usdt0-lOft{0%{opacity:0}28.00%{opacity:0}29.20%{opacity:1}32.40%{opacity:0}48.00%{opacity:0}49.20%{opacity:1}52.40%{opacity:0}100%{opacity:0}} +.usdt0 .lit.lChain{animation:usdt0-lChain 12.5s linear infinite} +@keyframes usdt0-lChain{0%{opacity:0}28.00%{opacity:0}29.20%{opacity:1}32.40%{opacity:0}100%{opacity:0}} +.usdt0 .lit.lHot{animation:usdt0-lHot 12.5s linear infinite} +@keyframes usdt0-lHot{0%{opacity:0}79.20%{opacity:0}80.40%{opacity:1}83.60%{opacity:0}100%{opacity:0}} +.usdt0 .lit.lUse{animation:usdt0-lUse 12.5s linear infinite} +@keyframes usdt0-lUse{0%{opacity:0}89.60%{opacity:0}90.80%{opacity:1}94.00%{opacity:0}100%{opacity:0}} +/* ---------- fig 2: the USDT0 folder ---------- */ +/* One folder — USDT0 — with its layers stacked behind its cover, offset + down-left so every name stays readable. Percentage geometry, so the stack + scales instead of scrolling. */ +.usdt0 .fig-files{padding:0 40px 30px} +.usdt0 .folder-fig{display:flex;gap:34px;align-items:flex-start;justify-content:center;padding:26px 40px 30px} +.usdt0 .desc{flex:1 1 0;min-width:0;max-width:620px;display:flex;flex-direction:column;gap:12px} +.usdt0 .d-eyebrow{ + font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.16em; + text-transform:uppercase;color:var(--accent-ink); +} +.usdt0 .d-head{ + font-family:"Inter","Helvetica Neue",Arial,sans-serif;font-weight:600; + font-size:clamp(24px,2.6vw,36px);line-height:1.1;margin:0; + letter-spacing:-.022em;text-wrap:balance;color:var(--ink); +} +.usdt0 .d-claim{margin:0;font-size:15.5px;color:var(--ink);max-width:56ch} +.usdt0 dl{margin:2px 0 0;display:flex;flex-direction:column;gap:12px; + border-top:1px solid var(--rule);padding-top:14px} +.usdt0 dt{ + font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.14em; + text-transform:uppercase;color:var(--ink-2);margin-bottom:3px;font-weight:400; +} +.usdt0 dd{margin:0;font-size:14.5px;color:var(--ink-2);max-width:64ch} +.usdt0 dd code{ + font-family:"IBM Plex Mono",monospace;font-size:12.5px; + background:var(--paper-3);border:1px solid var(--rule-2);padding:.5px 4px;color:var(--ink); +} +/* source links: quiet by default, accent on hover — a claim you can check */ +.usdt0 dd a,.usdt0 .id-note a,.usdt0 .dep-note a,.usdt0 .ncopy a,.usdt0 figcaption a{ + color:inherit;text-decoration:none; + border-bottom:1px solid var(--rule); +} +.usdt0 dd a:hover,.usdt0 .id-note a:hover,.usdt0 .dep-note a:hover,.usdt0 .ncopy a:hover, +.usdt0 figcaption a:hover{ + color:var(--accent-ink);border-bottom-color:var(--accent-ink); +} +.usdt0 dd a:focus-visible,.usdt0 .id-note a:focus-visible, +.usdt0 .dep-note a:focus-visible,.usdt0 .ncopy a:focus-visible,.usdt0 figcaption a:focus-visible{ + outline:2px solid var(--accent-ink);outline-offset:2px;border-bottom-color:transparent; +} +.usdt0 dd a code,.usdt0 .dep-note a code,.usdt0 .ncopy a code{border-bottom:0} +.usdt0 .sources{ + margin-top:26px;border-top:1px solid var(--rule);padding-top:10px; + display:flex;gap:18px;align-items:baseline;flex-wrap:wrap; + font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.13em; + text-transform:uppercase;color:var(--ink-3); +} +.usdt0 .sources b{font-weight:400;color:var(--ink-3);margin-right:4px} +.usdt0 .sources a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule)} +.usdt0 .sources a:hover{color:var(--accent-ink);border-bottom-color:var(--accent-ink)} +.usdt0 .sources a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px} +/* ---- questions: collapsed by default, but the answers stay in the DOM ---- */ +.usdt0 .faq{border-bottom:1px solid var(--rule)} +.usdt0 .faq:last-child{border-bottom:0} + +.usdt0 .faq summary{ + display:flex;gap:14px;align-items:baseline;list-style:none;cursor:pointer; + padding:11px 28px 11px 0;position:relative; +} +.usdt0 .faq summary::-webkit-details-marker{display:none} +.usdt0 .faq summary::after{ + content:"+";position:absolute;right:8px;top:10px;line-height:1; + font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--ink-3); +} +.usdt0 .faq[open] summary::after{content:"\\2212"} +.usdt0 .faq summary:hover .fq{color:var(--accent-ink)} +.usdt0 .faq summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px} +.usdt0 .fq{font-weight:500} +.usdt0 .fq code,.usdt0 .fa code{font-size:.92em} +.usdt0 .fa{padding:0 28px 16px 0;max-width:78ch} +.usdt0 .fa .ncopy{margin:0} +@media (max-width:720px){ + .usdt0 .faq summary{padding-right:26px} +} +/* ---- the stack: folders in a folder ---- */ +/* back to front. Each folder's tab sits on the left of its top edge, and the + down-left offset keeps every tab uncovered. */ +.usdt0 .stackwrap{flex:0 0 clamp(250px,42%,520px);min-width:0; + /* the stack is shorter than the description beside it, so center it + rather than let the leftover height pool at the bottom of the panel */ + align-self:center} +.usdt0 .stack{position:relative;width:100%;aspect-ratio:var(--ar,1.316);container-type:inline-size} +.usdt0 .file{ + position:absolute;width:var(--fw,70.59%);height:var(--fh,61.29%); + text-align:left;transition:transform .16s ease; +} +.usdt0 .fo{position:absolute;inset:0;width:100%;height:100%;shape-rendering:geometricPrecision} +/* fill and outline are separate paths: the tab is painted between them, so + the silhouette's stroke is drawn last and never gets covered. */ +.usdt0 .fo-body{fill:var(--paper)} +.usdt0 .fo-tab{fill:none;transition:fill .16s ease} +.usdt0 .fo-edge{ + fill:none;stroke:var(--ink-2);stroke-width:1.5; + vector-effect:non-scaling-stroke;stroke-linejoin:round; + transition:stroke .16s ease,stroke-width .16s ease; +} +.usdt0 .fname{ + position:absolute;left:0;top:0;width:40.97%;height:12.63%; + padding:0 5% 0 5.5%;display:flex;align-items:center; + font-family:"IBM Plex Mono",monospace; + font-size:clamp(6.5px,2.37cqw,11px);letter-spacing:.05em;color:var(--ink-2); + white-space:nowrap;overflow:hidden;text-overflow:ellipsis; + transition:color .16s ease; +} +.usdt0 .file:hover .fo-edge{stroke:var(--accent-ink)} +.usdt0 .file:hover .fname{color:var(--accent-ink)} +/* the cover: the folder these sit in */ +.usdt0 .cover .fo-body{fill:var(--paper)} +.usdt0 .cover .fo-edge{stroke:var(--accent-ink);stroke-width:2} +.usdt0 .cover .fo-tint{fill:var(--accent);opacity:.10} +.usdt0 .cover .fname{color:var(--accent-ink)} +.usdt0 .cover-body{position:absolute;left:5.5%;right:8%;top:24%} +.usdt0 .cover-name{ + display:block;font-family:"Inter","Helvetica Neue",Arial,sans-serif;font-weight:600; + font-size:clamp(15px,6.1cqw,29px);line-height:1.1;color:var(--accent-ink); + letter-spacing:-.01em; +} +.usdt0 .cover-sub{ + display:block;margin-top:7%;font-family:"IBM Plex Mono",monospace; + font-size:clamp(7px,2.46cqw,12px);line-height:1.7;color:var(--ink-2); +} +/* ---- narrow: stack above, description below ---- */ +@media (max-width:820px){ + .usdt0 .folder-fig{flex-direction:column;gap:22px;padding:20px 14px 24px} + .usdt0 .stackwrap{flex:0 0 auto;width:100%;max-width:380px;align-self:flex-start} + .usdt0 .desc{width:100%;max-width:none} + .usdt0 .d-claim,.usdt0 dd{max-width:none} +} +/* ---- access: the files shown at once, as benefits under the feature ---- */ +.usdt0 .files{ + border-top:1px solid var(--rule); + display:grid; grid-template-columns:repeat(var(--cols,5),minmax(0,1fr)); +} +.usdt0 .fcol{padding:18px 20px 4px; border-right:1px solid var(--rule); + display:flex; flex-direction:column} +.usdt0 .fcol:last-child{border-right:0} +.usdt0 .fcol:first-child{padding-left:0} +.usdt0 .ftag{ + font-family:"IBM Plex Mono",monospace; font-size:9.5px; letter-spacing:.14em; + text-transform:uppercase; color:var(--accent-ink); margin-bottom:7px; +} +.usdt0 .fhead{ + font-family:"Inter","Helvetica Neue",Arial,sans-serif; font-weight:600; + font-size:19px; line-height:1.12; letter-spacing:-.01em; color:var(--ink); margin:0 0 9px; +} +.usdt0 .fcopy{margin:0 0 14px; font-size:13.5px; line-height:1.5; color:var(--ink-2)} +@media (max-width:1000px){ + .usdt0 .files{grid-template-columns:repeat(2,minmax(0,1fr))} + .usdt0 .fcol{border-bottom:1px solid var(--rule); padding-left:20px} + .usdt0 .fcol:first-child{padding-left:20px} + .usdt0 .fcol:nth-child(2n){border-right:0} + .usdt0 .fcol:nth-last-child(-n+2){border-bottom:0} +} +@media (max-width:620px){ + .usdt0 .files{grid-template-columns:minmax(0,1fr)} + .usdt0 .fcol{border-right:0} + .usdt0 .fcol:last-child{border-bottom:0} +} +.usdt0 .dep-note b{color:var(--ink);font-weight:500} +.usdt0 .dep-note{ + border-top:1px solid var(--rule); padding:12px 20px; + font-size:13.5px; line-height:1.55; color:var(--ink-2); +} +.usdt0 .dep-note code{ + font-family:"IBM Plex Mono",monospace;font-size:12.5px; + background:var(--paper-3);border:1px solid var(--rule-2);padding:.5px 4px;color:var(--ink); +} +.usdt0 .notes-sec{margin:34px 0 0;border:1px solid var(--rule);background:var(--paper-2)} +.usdt0 .notes-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:18px} +.usdt0 .notes{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 40px} +.usdt0 .note{display:flex; gap:12px} +.usdt0 .ntag{ + flex:0 0 82px; font-family:"IBM Plex Mono",monospace; font-size:9.5px; + letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); padding-top:3px; +} +.usdt0 .ncopy{margin:0; font-size:13px; line-height:1.55; color:var(--ink-2)} +.usdt0 .ncopy b{color:var(--ink);font-weight:500} +.usdt0 .ncopy code{ + font-family:"IBM Plex Mono",monospace;font-size:12px; + background:var(--paper-3);border:1px solid var(--rule-2);padding:.5px 4px;color:var(--ink); +} +@media (max-width:820px){ .usdt0 .notes{grid-template-columns:minmax(0,1fr)} } +/* below this the two-column note squeezed its copy to about 25 characters a + line, so the tag sits above the copy instead of beside it */ +@media (max-width:560px){ + .usdt0 .note{flex-direction:column; gap:4px} + .usdt0 .ntag{flex:0 0 auto; padding-top:0} +} +/* ---------- day one ---------- */ +.usdt0 .dayone{margin:34px 0 0;border:1px solid var(--rule);background:var(--paper-2)} +.usdt0 .d1-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:20px} +.usdt0 .d1-lead{margin:0;font-size:15.5px;color:var(--ink);max-width:64ch} +.usdt0 .venues{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0; + border:1px solid var(--rule);background:var(--paper)} +.usdt0 .venue{padding:15px 16px;border-right:1px solid var(--rule)} +.usdt0 .venue:last-child{border-right:0} +@media (max-width:720px){ + .usdt0 .venue{border-right:0;border-bottom:1px solid var(--rule)} + .usdt0 .venue:last-child{border-bottom:0} +} +.usdt0 .venue h3{ + margin:0 0 10px;font-family:"IBM Plex Mono",monospace;font-size:9.5px;line-height:1.6; + letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:400; +} +.usdt0 .venue ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px} +.usdt0 .venue li{ + margin:0;font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ink); + border:1px solid var(--rule);background:var(--paper-2);padding:4px 8px; +} +.usdt0 .venue li::marker{content:none} +.usdt0 .venue p{margin:10px 0 0;font-size:12.5px;color:var(--ink-2)} +/* ---------- deploy section ---------- */ +.usdt0 .deploy{margin:34px 0 0;border:1px solid var(--rule);background:var(--paper-2)} +.usdt0 .dep-head h2,.usdt0 .fig-head h2{font:inherit;letter-spacing:inherit;color:inherit;margin:0} +.usdt0 .dep-head{ + display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center; + border-bottom:1px solid var(--rule);padding:9px 14px; + font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10.5px; + letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2); +} +.usdt0 .live{ + display:inline-flex;align-items:center;gap:6px; + color:var(--accent-ink);letter-spacing:.13em; +} +.usdt0 .live::before{ + content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-ink); +} +.usdt0 .dep-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:18px} +.usdt0 .dep-lead{margin:0;font-size:15.5px;color:var(--ink);max-width:62ch} +.usdt0 .dep-lead strong{font-weight:500} +.usdt0 .dep-link{ + align-self:flex-start;font-family:"IBM Plex Mono",monospace;font-size:11px; + letter-spacing:.06em;color:var(--accent-ink);text-decoration:none; + border-bottom:1px solid var(--accent-ink);padding-bottom:1px; +} +.usdt0 .dep-link:hover{color:var(--ink)} +.usdt0 .dep-link:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px} +.usdt0 .ids{display:flex;flex-direction:column;gap:0;border:1px solid var(--rule);background:var(--paper)} +.usdt0 .id-row{ + display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr); + gap:6px 20px;padding:14px 16px;border-bottom:1px solid var(--rule); +} +.usdt0 .id-row:last-child{border-bottom:0} +@media (max-width:720px){.usdt0 .id-row{grid-template-columns:1fr}} +.usdt0 .id-label{ + font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.14em; + text-transform:uppercase;color:var(--ink-3); +} +.usdt0 .id-note{font-size:13px;color:var(--ink-2);margin:4px 0 0;max-width:44ch} +.usdt0 .id-val{display:flex;align-items:flex-start;gap:10px} +.usdt0 .id-val code{ + flex:1 1 auto;min-width:0; + font-family:"IBM Plex Mono",monospace;font-size:12.5px;line-height:1.55; + color:var(--ink);background:var(--paper-3);border:1px solid var(--rule-2);border-radius:0; + padding:6px 8px;overflow-wrap:anywhere;user-select:all; +} +.usdt0 .copy{ + flex:0 0 auto;appearance:none;background:var(--paper-2);border:1px solid var(--rule); + color:var(--ink-2);font-family:"IBM Plex Mono",monospace;font-size:9.5px; + letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;cursor:pointer; +} +.usdt0 .copy:hover{border-color:var(--accent-ink);color:var(--accent-ink)} +.usdt0 .copy:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px} +/* ---------- spec strip ---------- */ +.usdt0 .spec{ + margin-top:34px;border:1px solid var(--rule);background:var(--paper-2);padding:0; + display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); +} +.usdt0 .spec div{padding:12px 14px;border-right:1px solid var(--rule)} +.usdt0 .spec div:last-child{border-right:0} +.usdt0 .spec dt{margin-bottom:4px} +.usdt0 .spec dd{ + font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--ink); + font-variant-numeric:tabular-nums; +} +.usdt0 .spec dd a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)} +.usdt0 .spec dd a:hover{color:var(--accent-ink);border-bottom-color:var(--accent-ink)} +.usdt0 .foot{ + margin-top:26px;border-top:1px solid var(--rule);padding-top:10px; + font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.13em; + text-transform:uppercase;color:var(--ink-3); + display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap; +} +.usdt0 .xlink{display:inline-flex;align-items:center;color:var(--ink-3)} +.usdt0 .xlink:hover{color:var(--accent-ink)} +.usdt0 .xlink:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px} +.usdt0 .xlink svg{width:13px;height:13px;display:block} +@media (prefers-reduced-motion: reduce){ + .usdt0 .pkt,.usdt0 .lit{animation:none;opacity:0} +} +`; + const SECTIONS = [ + ["arrival", "Arrival"], ["access", "Access"], ["dayone", "Day one"], ["deploy", "Deploy"], + ["build", "Before you build"], ["faq", "FAQ"], + ]; + const IDS = [ + ["Classic asset", "The asset code and issuer address. A trustline points at this pair.", "USDT0:GATISXX6BZ6NC7IKQBY37CJD4SOZL3CYZJWXEDG6JVIY4WBS6KXJHN6Q"], + ["Token contract (SAC)", "The Stellar Smart Contract (Soroban) interface. Call this from contracts — lending markets, vaults, AMMs.", "CBSJZEIO5C7KC2SF3MKSNXXJSW5G3VTNBX4ATMKUI3B2MR4JKM4R26YF"], + ["OFT", "The USDT0-specific OFT contract on Stellar — it burns and mints USDT0 here. Not part of a Stellar-side payment.", "CBOWOLFSDM5PZXNFIVDMP5NZ7U2GSIHED6H6R446QOHF266XINKUMMF6"], + ["LayerZero endpoint ID", "Stellar's EID. You need it to address Stellar from another chain's OFT.", "30600"], + ]; + // back to front: [name, left, top]; the cover sits in front at z-index 5 + const FOLDERS = [ + ["DISTRIBUTION", "24.99840625597654%", "0%"], + ["COLLATERAL", "18.748804691982407%", "8.391684189988943%"], + ["TREASURY", "12.49920312798827%", "16.783368379977887%"], + ["PAYMENTS", "6.249601563994135%", "25.17505256996683%"], + ]; + const FO_BODY = "M 8 0 H 110 A 8 8 0 0 1 118 8 V 24 H 280 A 8 8 0 0 1 288 32 V 182 A 8 8 0 0 1 280 190 H 8 A 8 8 0 0 1 0 182 V 8 A 8 8 0 0 1 8 0 Z"; + const FO_TAB = "M 8 0 H 110 A 8 8 0 0 1 118 8 V 25 H 0 V 8 A 8 8 0 0 1 8 0 Z"; + const topRef = useRef(null); + const [active, setActive] = useState(0); + const [copyLabels, setCopyLabels] = useState({}); + // which section is under the sticky bar. Ratio-based spying is biased by + // section height, so measure position against a fixed line just below the bar. + useEffect(() => { + let queued = false; + const spy = () => { + if (queued) return; + queued = true; + requestAnimationFrame(() => { + queued = false; + const bar = topRef.current; + const line = (bar ? bar.getBoundingClientRect().bottom : 0) + 32; + let idx = 0; + SECTIONS.forEach(([id], i) => { + const el = document.getElementById(id); + if (el && el.getBoundingClientRect().top <= line) idx = i; + }); + // The final section is shorter than the viewport, so the page runs out of + // scroll before its top ever reaches the line and it could never go active. + // Once the document is scrolled to the end, the last section is the one + // being read, whatever the measurement says. + const sc = document.scrollingElement || document.documentElement; + if (sc.scrollTop + sc.clientHeight >= sc.scrollHeight - 2) idx = SECTIONS.length - 1; + setActive(idx); + }); + }; + window.addEventListener("scroll", spy, { passive: true }); + window.addEventListener("resize", spy); + spy(); + return () => { + window.removeEventListener("scroll", spy); + window.removeEventListener("resize", spy); + }; + }, []); + const copy = (i) => { + const el = document.getElementById(`usdt0-id-${i}`); + const done = (msg) => { + setCopyLabels((c) => Object.assign({}, c, { [i]: msg })); + setTimeout(() => setCopyLabels((c) => Object.assign({}, c, { [i]: undefined })), 1600); + }; + // clipboard access can be blocked in an embedded frame — select it instead + const selectIt = () => { + const range = document.createRange(); + range.selectNodeContents(el); + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + done("Selected"); + }; + if (!navigator.clipboard) return selectIt(); + navigator.clipboard.writeText(el.textContent).then(() => done("Copied"), selectIt); + }; + const folder = (tint) => ( + + ); + return ( +
+ - - - - - - - - - -
- -
- USDT0 on Stellar Network - - Stellar Docs → - - -
- -

The asset with a unified supply arrives on Stellar

-

USDT0 is now available on the Stellar network. USDT0 connects Stellar to - a unified USDT supply, allowing USDT to move across networks without fragmenting - supply. USDT0 is a native Stellar asset that works with your existing stack.

- - -
-

Arrival — how USDT0 gets to Stellar

-
- - - - - - - - - - - - - - - USDT on Ethereum - Locked / unlocked - with USDT0 adapter - - - - - - - - - - USDT0 OFTs - Each compatible network - has its own contract - - - - - - Stellar OFT - The contract that - mints and burns - USDT0 on Stellar - - - - USDT0 on Stellar - A native Stellar asset - compatible with - existing toolkits - - - - - - Payment rails - - - Treasury balances - - - Lending markets - - - - - -
-
Stellar’s OFT mints the USDT0, whether Ethereum locked the USDT or another chain - burned its own. Every chain runs its own OFT; Ethereum alone locks the USDT that backs them all - (USDT0 - developer docs).
-
- - -
-

Access — what USDT0 unlocks

-
-
- -
-
USDT0

Access to a new economy

The asset that brings access to new corridors, counterparties, and financial use cases on Stellar.

One asset, unified liquidity
USDT0 maintains a unified supply anchored to USDT on Ethereum, so liquidity isn’t fragmented across separate wrapped versions of the asset.
Built to move across networks
Operated by Everdawn Labs, USDT0 connects Stellar to 26+ networks through LayerZero’s OFT standard.
-
-
-
-
-
Payments
-

Build with an asset already in use

-

Support cross-border payments, payouts, remittances, and other dollar-denominated flows with USDT0.

-
-
-
Treasury
-

Power treasury and cash management products

-

Give businesses and users a dollar-denominated asset for managing working capital.

-
-
-
Collateral
-

Put USDT0 to work

-

Give lending markets a dollar-denominated asset to use as collateral or borrow against.

-
-
-
Distribution
-

One asset, many doors

-

Every exchange, wallet, and fintech that lists it becomes an entry point to the Stellar network.

-
-
-
- - -
-
-

Day one — what is already integrated

-
-
-

You can access USDT0 today across these partners on Stellar.
- More to come on a rolling basis.

- -
-
-

Exchanges, DEXs & Lending Protocols

-
  • Kraken
  • SushiSwap
  • BiLira
  • Kinetic (K2)
-

Buy, sell, swap, and borrow against USDT0 on Stellar.

-
-
-

Wallets

-
  • Freighter
  • Lobstr
  • Meru
  • Bitget Wallet
  • Exodus
-

Hold and send USDT0 on Stellar.

-
-
-

Custody

-
  • Fireblocks
-

Institutional custody and treasury operations for USDT0 on Stellar.

-
-
-

Fintechs & ramps

-
  • Ramp Network
  • Kredete
-

Ramp services and fintech products using USDT0 in production, including cross-border payments across Africa.

-
-
- - - Transfer USDT0 to Stellar → - -
-
Balances move into and out of Stellar without a custodial bridge or a - wrapped representation. Transfer time is set by the chain you send from — a couple of minutes - from some networks, hours from others. The cost is that network's gas plus the LayerZero - message, quoted per route - before you send. USDT0 itself charges no protocol fee on most routes; where one applies it is - 0.03%, set per route. Receiving USDT0 needs a trustline on the destination account — - see requirements and limitations.
-
- - -
-
-

Deploy — adding USDT0 to your environment

- Live on Stellar Mainnet -
-
-

USDT0 is live on Stellar Mainnet. Add it to your wallet or environment. Test your - integration by moving a small amount end to end before rolling out to your users.

- - - View the asset on stellar.expert → - -
-
-
-
Classic asset
-

The asset code and issuer address. A trustline points at this pair.

-
-
- USDT0:GATISXX6BZ6NC7IKQBY37CJD4SOZL3CYZJWXEDG6JVIY4WBS6KXJHN6Q - -
-
-
-
-
Token contract (SAC)
-

The Stellar Smart Contract (Soroban) interface. Call this from contracts — lending markets, vaults, AMMs.

-
-
- CBSJZEIO5C7KC2SF3MKSNXXJSW5G3VTNBX4ATMKUI3B2MR4JKM4R26YF - -
-
-
-
-
OFT
-

The USDT0-specific OFT contract on Stellar — it burns and mints USDT0 here. Not part of a Stellar-side payment.

-
-
- CBOWOLFSDM5PZXNFIVDMP5NZ7U2GSIHED6H6R446QOHF266XINKUMMF6 - -
-
-
-
-
LayerZero endpoint ID
-

Stellar's EID. You need it to address Stellar from another chain's OFT.

-
-
- 30600 - -
-
- - Contract deployments on docs.usdt0.to → - -
-
This asset sets auth_revocable and auth_clawback_enabled — the issuer can revoke a trustline or clawback a balance. auth_required is not set, so anyone can hold it. 💡 Soroswap maintains an ecosystem token list covering both classic assets and contract tokens (community-maintained rather than an official Stellar registry, and widely used).
-
- -
-

Before you build — requirements and limitations

-
-

What USDT0 on Stellar requires for integration.

-
-
-
Trustlines
-

A trustline has to exist before the first payment lands. Sending USDT0 to an account that has no USDT0 trustline fails with op_no_trust. A wallet may create it for you when you swap into USDT0 in-app; a transfer arriving from an exchange or another wallet has no such fallback. If you custody for users, create it during onboarding — sponsored reserves can cover the reserve.

-
-
-
Decimals
-

The OFT reconciles a precision gap for you. USDT0 on Stellar carries seven decimals; cross-chain transfers normalize to the OFT’s six shared decimals. Send 1.2345678 and 1.234567 moves; the remaining 0.0000008 is floored off as dust and refunded to you before the debit. Nothing to convert by hand — but account for it when you calculate or display an amount.

-
-
-
Route limits
-

A route can enforce a minimum. Minimum transfer amounts are set per contract, so call quote_oft for the route you intend to use rather than assuming any amount will go through.

-
-
-
Backing
-

The backing sits in one contract. USDT0's adapter on Ethereum holds the USDT behind the natively issued supply.

-
-
-
Yield
-

USDT0 doesn't accrue yield. It earns nothing sitting in a balance — any return has to come from the market you supply it to.

-
-
-
Listings
-

Each venue decides which networks it supports. One USDT0 doesn't mean every listing offers every route, so check what a partner actually enables before you send users to it.

-
-
-
- - -
-

FAQ

-
-
-
- Is USDT0 the same as USDT? -

No — it is a separate asset with its own contract, worth the same and backed 1:1 by USDT locked - on Ethereum. The practical difference is deposits: a venue that supports USDT will not necessarily accept - USDT0 on Stellar. Check your destination lists USDT0 on Stellar specifically before you send.

-
-
- Which USDT0 on Stellar is the real one? -

The one issued by GATISXX6BZ6NC7IKQBY37CJD4SOZL3CYZJWXEDG6JVIY4WBS6KXJHN6Q — - check it on Stellar Expert. - Asset codes on Stellar are not unique — anyone can issue an asset called USDT0 — so identity is - the code and the issuer together. Pin that issuer, and confirm the contract you derive from it - matches CBSJZEIO5C7KC2SF3MKSNXXJSW5G3VTNBX4ATMKUI3B2MR4JKM4R26YF.

-
-
- Why did my USDT0 payment fail with op_no_trust? -

The destination account has no USDT0 trustline, and one must exist before the first payment can land. - A wallet often creates it when a user swaps into USDT0 in-app, but a transfer arriving from an exchange or - another wallet has no such fallback. If you custody for users, create it during onboarding — - sponsored reserves - can cover the reserve.

-
-
- How long does a transfer to Stellar take? -

It depends on the chain you send from, not on Stellar. Stellar finalises in 5–7 seconds; the wait - is the source chain confirming and LayerZero verifying the message. From Polygon it is about a minute. - From Ethereum, Arbitrum, Tron and Solana — the routes carrying most volume — expect roughly - 18–21 minutes. A few low-traffic routes take hours. The - transfer UI - quotes an estimate for your route before you send.

-
-
- Why is my transfer slower than I expected? -

Usually because the figure you saw was a network-wide best case rather than your route. Nothing on the - Stellar side is the bottleneck. If a transfer runs well past the estimate you were quoted, look up the message on - LayerZero Scan, - which indexes Stellar as a destination, to see which step it is sitting at. USDT0 lists - support contacts - for transfers that stall.

-
-
- What does it cost to bring USDT0 to Stellar? -

Three separate things, and two different calls report them. USDT0's own protocol fee is zero on most - routes and 0.03% where one applies: - quote_oft - shows it as the gap between amount_sent_ld and amount_received_ld, so read it - there rather than trusting a published number. The LayerZero messaging fee is separate and comes back from - quote_send, - paid in XLM when you send from Stellar — this is the part that varies most. And on Stellar, ordinary transactions cost a - minimum of 100 stroops - per operation, which is unrelated to bridging.

-
-
- What is the difference between the Open Mesh and the Legacy Mesh? -

On the Open Mesh each chain runs its own OFT contract, and moving between them burns on one side and - mints on the other. The - Legacy Mesh - connects chains where Tether had already deployed native USDT — Ethereum, Tron, TON, Arbitrum, Solana - and Celo — through a shared non-custodial hub on Arbitrum, so those chains keep their existing USDT - contracts rather than migrating.

-
-
- Why did I receive slightly less than I sent? -

Rounding, in the last decimal places only. USDT0 on Stellar carries seven decimals; cross-chain - transfers normalise to the OFT's six shared decimals. Send 1.2345678 and 1.234567 moves — the - remaining 0.0000008 is floored off as dust and refunded to you before the debit.

-
-
- Who can freeze or clawback USDT0 on Stellar? -

The issuer. The asset sets auth_revocable and auth_clawback_enabled, so the - issuer can revoke a trustline or - clawback a balance. - auth_required is not set, so anyone can hold it without approval.

-
-
-
-
- -
-
Asset
USDT0
-
Transfer
usdt0.to
-
Networks
26+
-
USDT in circulation
$180B+
-
Stellar settlement
5–7s
-
Stellar fee
100 stroops min
-
Transfer to Stellar
~20min typical
-
- - - -
- Stellar Development Foundation - - - - - - - - -
-
- - - - diff --git a/static/llms.txt b/static/llms.txt deleted file mode 100644 index 5b79e716e..000000000 --- a/static/llms.txt +++ /dev/null @@ -1,297 +0,0 @@ -# Stellar Developer Documentation -Stellar is a layer-1, open-source, decentralized, peer-to-peer blockchain network that provides a framework for developers to create applications, issue assets, write smart contracts, and connect to existing financial rails. Stellar is designed to enable creators, innovators, and developers to build projects on the network that can interoperate with each other. - -Each documentation page is available as clean markdown by appending `.md` to the URL -(e.g. `https://developers.stellar.org/docs/build/smart-contracts/overview.md`). -Alternatively, send an `Accept: text/markdown` request header to any page URL to receive markdown without modifying the URL. - -Full documentation as a single file: https://developers.stellar.org/llms-full.txt - -Live MCP server: connect an AI agent to Raven at https://raven.stellar.buzz/mcp -for these docs plus live ecosystem data, cross-referenced on demand. Open source: -https://github.com/stellar-experimental/stellar-raven — try it: https://raven.stellar.buzz/playground - - -[Build](https://developers.stellar.org/docs/build.md) - -- [Overview](https://developers.stellar.org/docs/build.md) - -[Build Smart Contracts](https://developers.stellar.org/docs/build/smart-contracts.md) -- [Introduction](https://developers.stellar.org/docs/build/smart-contracts/overview.md) -- [Getting Started](https://developers.stellar.org/docs/build/smart-contracts/getting-started.md) -- [Example Contracts](https://developers.stellar.org/docs/build/smart-contracts/example-contracts.md) - -[Build Applications](https://developers.stellar.org/docs/build/apps.md) -- [Introduction](https://developers.stellar.org/docs/build/apps/overview.md) -- [Application Design Considerations](https://developers.stellar.org/docs/build/apps/application-design-considerations.md) -- [Tutorial: Wallet SDK](https://developers.stellar.org/docs/build/apps/wallet/overview.md) -- [Tutorial: Payment Application, JavaScript](https://developers.stellar.org/docs/build/apps/example-application-tutorial/overview.md) -- [Tutorial: Payment Application, Swift](https://developers.stellar.org/docs/build/apps/swift-payment-app.md) -- [Tutorial: Network Ingestion Pipeline](https://developers.stellar.org/docs/build/apps/ingest-sdk/overview.md) -- [Tutorial: Passkey Dapp](https://developers.stellar.org/docs/build/apps/guestbook/overview.md) -- [Tutorial: Dapp Frontend](https://developers.stellar.org/docs/build/apps/dapp-frontend.md) - -[How-To Guides](https://developers.stellar.org/docs/build/guides.md) -- [Contract Authorization](https://developers.stellar.org/docs/build/guides/auth.md) -- [Contract Conventions](https://developers.stellar.org/docs/build/guides/conventions.md) -- [Contract Accounts](https://developers.stellar.org/docs/build/guides/contract-accounts.md) -- [Contract Events](https://developers.stellar.org/docs/build/guides/events.md) -- [Contract Storage](https://developers.stellar.org/docs/build/guides/storage.md) -- [Contract Testing](https://developers.stellar.org/docs/build/guides/testing.md) -- [Dapp Development](https://developers.stellar.org/docs/build/guides/dapps.md) -- [Fees & Metering](https://developers.stellar.org/docs/build/guides/fees.md) -- [Freighter Wallet](https://developers.stellar.org/docs/build/guides/freighter.md) -- [Stellar Basics](https://developers.stellar.org/docs/build/guides/basics.md) -- [RPC](https://developers.stellar.org/docs/build/guides/rpc.md) -- [State Archival](https://developers.stellar.org/docs/build/guides/archival.md) -- [Stellar Asset Contract Tokens](https://developers.stellar.org/docs/build/guides/tokens.md) -- [Transactions](https://developers.stellar.org/docs/build/guides/transactions.md) -- [Type Conversions](https://developers.stellar.org/docs/build/guides/conversions.md) - -[Security Best Practices](https://developers.stellar.org/docs/build/security-docs.md) - -[Learn](https://developers.stellar.org/docs/learn/fundamentals.md) - -[Core Concepts](https://developers.stellar.org/docs/learn/fundamentals.md) -- [Stellar Stack](https://developers.stellar.org/docs/learn/fundamentals/stellar-stack.md) -- [Lumens (XLM)](https://developers.stellar.org/docs/learn/fundamentals/lumens.md) -- [Stellar Consensus Protocol (SCP)](https://developers.stellar.org/docs/learn/fundamentals/stellar-consensus-protocol.md) -- [Data Structures](https://developers.stellar.org/docs/learn/fundamentals/stellar-data-structures.md) -- [Operations & Transactions](https://developers.stellar.org/docs/learn/fundamentals/transactions.md) -- [Fees & Metering](https://developers.stellar.org/docs/learn/fundamentals/fees-resource-limits-metering.md) -- [Stellar Ecosystem Proposals (SEPs)](https://developers.stellar.org/docs/learn/fundamentals/stellar-ecosystem-proposals.md) -- [Smart Contracts](https://developers.stellar.org/docs/learn/fundamentals/contract-development.md) -- [Data Format](https://developers.stellar.org/docs/learn/fundamentals/data-format.md) -- [Ramps (anchors)](https://developers.stellar.org/docs/learn/fundamentals/anchors.md) -- [SDEX](https://developers.stellar.org/docs/learn/fundamentals/liquidity-on-stellar-sdex-liquidity-pools.md) - -[Glossary](https://developers.stellar.org/docs/learn/glossary.md) -- [Migrate from Another Chain](https://developers.stellar.org/docs/learn/migrate.md) -- [Interactive Learning](https://developers.stellar.org/docs/learn/interactive.md) - -[Tokens](https://developers.stellar.org/docs/tokens.md) - -- [Stellar Assets & Contract Tokens](https://developers.stellar.org/docs/tokens.md) -- [Assets Overview](https://developers.stellar.org/docs/tokens/anatomy-of-an-asset.md) -- [Quickstart Guide](https://developers.stellar.org/docs/tokens/quickstart.md) -- [Asset Design Considerations](https://developers.stellar.org/docs/tokens/control-asset-access.md) -- [Stellar Asset Contract](https://developers.stellar.org/docs/tokens/stellar-asset-contract.md) -- [Token Interface](https://developers.stellar.org/docs/tokens/token-interface.md) -- [Tutorial: Issue an Asset](https://developers.stellar.org/docs/tokens/how-to-issue-an-asset.md) -- [Publish Asset Information](https://developers.stellar.org/docs/tokens/publishing-asset-info.md) -- [USDT0 Transfers with LayerZero](https://developers.stellar.org/docs/tokens/usdt0-layerzero.md) - -[Data](https://developers.stellar.org/docs/data.md) - -- [Overview](https://developers.stellar.org/docs/data.md) - -[Analytics](https://developers.stellar.org/docs/data/analytics.md) -- [Hubble](https://developers.stellar.org/docs/data/analytics/hubble.md) -- [Providers](https://developers.stellar.org/docs/data/analytics/analytics-providers.md) - -[API](https://developers.stellar.org/docs/data/apis.md) -- [RPC](https://developers.stellar.org/docs/data/apis/rpc.md) -- [RPC Providers](https://developers.stellar.org/docs/data/apis/rpc/providers.md) -- [Horizon](https://developers.stellar.org/docs/data/apis/horizon.md) -- [Horizon Providers](https://developers.stellar.org/docs/data/apis/horizon/providers.md) -- [Migrate Horizon to RPC](https://developers.stellar.org/docs/data/apis/migrate-from-horizon-to-rpc.md) - -[Indexers](https://developers.stellar.org/docs/data/indexers.md) -- [Build Your Own](https://developers.stellar.org/docs/data/indexers/build-your-own.md) -- [Providers](https://developers.stellar.org/docs/data/indexers.md) - -[Oracles](https://developers.stellar.org/docs/data/oracles.md) -- [Providers](https://developers.stellar.org/docs/data/oracles.md) - -[Tools](https://developers.stellar.org/docs/tools.md) - -Developer Tools -- [SDKs](https://developers.stellar.org/docs/tools/sdks.md) -- [Stellar CLI](https://developers.stellar.org/docs/tools/cli.md) -- [Lab](https://developers.stellar.org/docs/tools/lab.md) -- [Quickstart](https://developers.stellar.org/docs/tools/quickstart.md) -- [OpenZeppelin Relayer](https://developers.stellar.org/docs/tools/openzeppelin-relayer.md) -- [OpenZeppelin Contracts](https://developers.stellar.org/docs/tools/openzeppelin-contracts.md) -- [Scaffold Stellar](https://developers.stellar.org/docs/tools/scaffold-stellar.md) -- [Building with AI](https://developers.stellar.org/docs/build/building-with-ai.md) -- [More Developer Tools](https://developers.stellar.org/docs/tools/developer-tools.md) - -Ramps -- [MoneyGram Ramps](https://developers.stellar.org/docs/tools/ramps/moneygram.md) - -Infra Tools -- [Cross-Chain](https://developers.stellar.org/docs/tools/infra-tools/cross-chain.md) - -SDF Platforms -- [Anchor Platform](https://developers.stellar.org/docs/platforms/anchor-platform.md) -- [Stellar Disbursement Platform](https://developers.stellar.org/docs/platforms/stellar-disbursement-platform.md) - -[Networks](https://developers.stellar.org/docs/networks.md) - -- [Networks Overview](https://developers.stellar.org/docs/networks.md) -- [Software Versions](https://developers.stellar.org/docs/networks/software-versions.md) -- [Resource Limits & Fees](https://developers.stellar.org/docs/networks/resource-limits-fees.md) - -[Validators](https://developers.stellar.org/docs/validators.md) - -- [Validators Introduction](https://developers.stellar.org/docs/validators.md) -- [Admin Guide](https://developers.stellar.org/docs/validators/admin-guide.md) -- [Tier 1 Organizations](https://developers.stellar.org/docs/validators/tier-1-orgs.md) - -[GitHub](https://github.com/stellar/stellar-docs) - -[![](https://developers.stellar.org/assets/images/stellar-101-26081c928aa1f2587e8fa50c8820e4f0.png)](https://developers.stellar.org/docs/tokens/quickstart.md) - -### Asset Issuers - -Issue an asset or create a custom smart contract token. - -[Learn More](https://developers.stellar.org/docs/tokens/quickstart.md) - -[![](https://developers.stellar.org/assets/images/contract-4360e7119b2a4ba81b3849ea53901d98.png)](https://developers.stellar.org/docs/build/smart-contracts/getting-started.md) - -### Smart Contract Developers - -Write smart contracts on the Stellar network. - -[Learn More](https://developers.stellar.org/docs/build/smart-contracts/getting-started.md) - -[![](https://developers.stellar.org/assets/images/issue-assets-89ec386030248f486d74852861375c43.png)](https://developers.stellar.org/docs/learn/fundamentals/anchors.md) - -### Ramps (Anchors) - -Learn about and set up an anchor. - -[Learn More](https://developers.stellar.org/docs/learn/fundamentals/anchors.md) - -[![](https://developers.stellar.org/assets/images/build-applications-41ff5c71635741622bf54098505815da.png)](https://developers.stellar.org/docs/build/apps/overview.md) - -### Applications - -Build a traditional wallet, dapp, or list Stellar assets on an exchange. - -[Learn More](https://developers.stellar.org/docs/build/apps/overview.md) - -[![](https://developers.stellar.org/assets/images/dev-tools-80163b11f1e5d7aee9a2d7e24c680762.png)](https://developers.stellar.org/docs/data/apis.md) - -### Infrastructure Providers - -Set up a Horizon or RPC service. - -[Learn More](https://developers.stellar.org/docs/data/apis.md) - -[![](https://developers.stellar.org/assets/images/access-data-cd89f8e864d88bc2518f0b4716946071.png)](https://developers.stellar.org/docs/data/analytics.md) - -### Analytics - -Use Hubble to perform analysis on Stellar network data. - -[Learn More](https://developers.stellar.org/docs/data/analytics.md) - - -## **Navigating the docs** [​](https://developers.stellar.org/\#navigating-the-docs "Direct link to navigating-the-docs") - -What each main section of the developer docs contains. - -### Build - -Contains tutorials and how-to guides for writing smart contracts, building applications, interacting with the network, and more. - -[Explore](https://developers.stellar.org/docs/build.md) - -### Learn - -Find all informational and conceptual content here. Learn about Stellar fundamentals like how accounts and transactions function, dive deeper into the functionality of each operation, discover how fees work, and more. - -[Explore](https://developers.stellar.org/docs/learn/fundamentals.md) - -### Tokens - -Information on how to issue assets on the Stellar network and create custom smart contract tokens. - -[Explore](https://developers.stellar.org/docs/tokens.md) - -### Data - -Discover various data availability options: RPC, Hubble, Horizon, Galexie, and data indexers. - -[Explore](https://developers.stellar.org/docs/data.md) - -### Tools - -Learn about all the available tools for building on, interacting with, or just watching the Stellar network. Also, find information on how to use the Anchor Platform or Stellar Disbursement Platform. - -[Explore](https://developers.stellar.org/docs/tools.md) - -### Networks - -Information about deployed networks (Mainnet, Testnet, and Futurenet), current software versions, resource limitations, and fees. - -[Explore](https://developers.stellar.org/docs/networks.md) - -### Validators - -Everything you'll need to know if you want to run, operate, and maintain a core validator node on the Stellar network. - -[Explore](https://developers.stellar.org/docs/validators.md) - -## **Developer resources** [​](https://developers.stellar.org/\#developer-resources "Direct link to developer-resources") - -Interact with other Stellar developers, keep up with ecosystem standards and protocol upgrades, and learn about upcoming events. - -### Stellar Developer Discord - -Ask questions and engage with other Stellar devs. - -[Explore](https://discord.gg/stellardev) - -### Developer Site - -Get the latest news and insights about building on Stellar. - -[Explore](https://stellar.org/developers) - -### Stellar Stack Exchange - -A question and answer site for Stellar developers; if you can’t find what you’re looking for in the docs, try searching the Stack Exchange to see if your question has been addressed. If it hasn't, feel free to ask! - -[Explore](https://stellar.stackexchange.com) - -### Stellar Developers Google Group - -Discuss Core Advancement Proposals (CAPs) and Stellar Ecosystem Proposals (SEPs), talk about the development of Stellar Core and Horizon, and stay informed about important network upgrades. - -[Explore](https://groups.google.com/g/stellar-dev) - - -Resources - -- [Developer Blog](https://stellar.org/developers-blog) -- [Stellar Quest](https://quest.stellar.org) -- [Soroban Quest](https://fastcheapandoutofcontrol.com/tutorial) -- [YouTube](https://www.youtube.com/@StellarDevelopmentFoundation) -- [Twitch](https://m.twitch.tv/stellarorg/home) - -Tools - -- [Explorer](https://stellar.expert) -- [Lab](https://lab.stellar.org) -- [Status](https://status.stellar.org) -- [Dashboard](https://dashboard.stellar.org) -- [All Tools](https://developers.stellar.org/docs/tools.md) - -Community - -- [Contribute to Docs](https://github.com/stellar/stellar-docs?tab=readme-ov-file#contributing) -- [Developer Discord](https://discord.gg/stellardev) -- [Developer Meetings](https://developers.stellar.org/meetings) -- [Developer Google Group](https://groups.google.com/g/stellar-dev) -- [Stack Exchange](https://stellar.stackexchange.com) -- [Stellar Community Fund](https://communityfund.stellar.org) - -About - -- [About SDF](https://stellar.org/foundation) -- [Careers](https://stellar.org/foundation/careers) -- [Events](https://stellar.org/events) -- [Grants & Funding](https://stellar.org/foundation/grants-and-funding) diff --git a/static/robots.txt b/static/robots.txt deleted file mode 100644 index 203d37b04..000000000 --- a/static/robots.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Algolia-Crawler-Verif: 14A6F6C8BF9C907E - -User-agent: * -Allow: / -Content-Signal: ai-train=yes, search=yes, ai-input=yes -Sitemap: https://developers.stellar.org/sitemap.xml diff --git a/static/stellar-rpc-beta.openrpc.json b/stellar-rpc-beta.openrpc.json similarity index 100% rename from static/stellar-rpc-beta.openrpc.json rename to stellar-rpc-beta.openrpc.json diff --git a/static/stellar-rpc.openrpc.json b/stellar-rpc.openrpc.json similarity index 100% rename from static/stellar-rpc.openrpc.json rename to stellar-rpc.openrpc.json diff --git a/style.css b/style.css new file mode 100644 index 000000000..f27c5b40d --- /dev/null +++ b/style.css @@ -0,0 +1,703 @@ +/* Many rules below target Mintlify's internal markup (ids, data attributes, + Tailwind classes), which can change without notice. Re-check the styling + after Mintlify releases. */ + +:root { + --stellar-accent: #7d73b2; + --stellar-accent-hover: #6c629f; + --stellar-accent-contrast: #ffffff; + --stellar-accent-soft: rgba(125, 115, 178, 0.12); + --stellar-accent-border: rgba(125, 115, 178, 0.24); +} + +html.dark, +html[data-theme="dark"] { + --stellar-accent: #ffda00; + --stellar-accent-hover: #ffe34d; + --stellar-accent-contrast: #0a0a0a; + --stellar-accent-soft: rgba(255, 218, 0, 0.12); + --stellar-accent-border: rgba(255, 218, 0, 0.24); +} + +.stellar-hero-base { + background: + radial-gradient(circle at 16% 52%, rgba(125, 115, 178, 0.18) 0%, rgba(125, 115, 178, 0.08) 24%, rgba(255, 255, 255, 0) 56%), + linear-gradient(180deg, #fcfbff 0%, #ffffff 56%, #f6f4ff 100%); +} + +.stellar-hero-base-dark { + background: + radial-gradient(circle at 16% 52%, rgba(255, 218, 0, 0.12) 0%, rgba(255, 218, 0, 0.06) 24%, rgba(10, 10, 10, 0) 56%), + linear-gradient(180deg, #040404 0%, #09090b 56%, #0f172a 100%); +} + +.stellar-hero-wash-light { + background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.74) 34%, rgba(255, 255, 255, 0.24) 68%, rgba(255, 255, 255, 0) 100%); +} + +.stellar-hero-wash-dark { + background: linear-gradient(90deg, rgba(2, 6, 23, 0.86) 0%, rgba(2, 6, 23, 0.68) 34%, rgba(2, 6, 23, 0.2) 68%, rgba(2, 6, 23, 0) 100%); +} + +.stellar-accent-button { + background-color: var(--stellar-accent); + color: var(--stellar-accent-contrast); +} + +.stellar-accent-button:hover { + background-color: var(--stellar-accent-hover); + color: var(--stellar-accent-contrast); +} + +.stellar-accent-outline-button { + border-color: rgba(23, 23, 23, 0.14); + background-color: rgba(255, 255, 255, 0.7); + color: #171717; +} + +.stellar-accent-outline-button:hover { + border-color: var(--stellar-accent); + background-color: var(--stellar-accent-soft); + color: var(--stellar-accent); +} + +html.dark .stellar-accent-outline-button, +html[data-theme="dark"] .stellar-accent-outline-button { + border-color: rgba(255, 255, 255, 0.2); + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; +} + +.stellar-accent-panel { + border: 1px solid var(--stellar-accent-border); + background: linear-gradient(90deg, rgba(125, 115, 178, 0.16) 0%, #ffffff 52%, rgba(125, 115, 178, 0.06) 100%); +} + +html.dark .stellar-accent-panel, +html[data-theme="dark"] .stellar-accent-panel { + background: linear-gradient(90deg, rgba(255, 218, 0, 0.1) 0%, #0a0a0a 52%, #0f172a 100%); +} + +@media (max-width: 767px) { + .stellar-hero-wash-light { + background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.82) 38%, rgba(255, 255, 255, 0.64) 100%); + } + + .stellar-hero-wash-dark { + background: linear-gradient(180deg, rgba(2, 6, 23, 0.88) 0%, rgba(2, 6, 23, 0.78) 38%, rgba(2, 6, 23, 0.62) 100%); + } + + .stellar-accent-panel { + background: linear-gradient(180deg, rgba(125, 115, 178, 0.14) 0%, #ffffff 46%, rgba(125, 115, 178, 0.06) 100%); + } + + html.dark .stellar-accent-panel, + html[data-theme="dark"] .stellar-accent-panel { + background: linear-gradient(180deg, rgba(255, 218, 0, 0.1) 0%, #0a0a0a 46%, #0f172a 100%); + } +} + +/* Move the sidebar anchors (Blog, Discord, X, YouTube) to the bottom of the sidebar */ +div:has(> ul > li > a.nav-anchor) { + display: flex; + flex-direction: column; +} +ul:has(> li > a.nav-anchor) { + order: 99; + margin-top: 2rem; + padding-top: 1rem; + border-top: 1px solid rgba(125, 115, 178, 0.24); +} + +/* Remove the top gap left where the anchors used to be */ +div:has(> ul > li > a.nav-anchor) > div.mt-6 { + margin-top: 0; +} +#navigation-items > div.pt-6 { + padding-top: 0.5rem; +} + +/* Pin the anchors to the bottom of the sidebar */ +#navigation-items [data-component-part="scroll-area-content"] { + min-height: 100%; + display: flex; + flex-direction: column; +} +#navigation-items [data-component-part="scroll-area-content"] > div { + flex: 1; +} +ul:has(> li > a.nav-anchor) { + margin-top: auto; + padding-top: 1rem; +} + +/* Style Mintlify callouts like the SDS Notification component */ +.callout { + --Notification-bg: var(--sds-clr-lilac-01); + --Notification-border: var(--sds-clr-lilac-06); + --Notification-icon: var(--sds-clr-lilac-09); + --Notification-svg: url("/img/sds-icons/icons-info-circle.svg"); + font-family: var(--sds-ff-base); + background-color: var(--Notification-bg) !important; + border: 1px solid var(--Notification-border) !important; + border-radius: 0.5rem !important; + padding: 0.75rem !important; + gap: 0.75rem !important; + color: var(--sds-clr-gray-11); + font-size: 0.875rem; + line-height: 1.25rem; +} +.callout[data-callout-type="tip"], +.callout[data-callout-type="check"] { + --Notification-bg: var(--sds-clr-green-01); + --Notification-border: var(--sds-clr-green-06); + --Notification-icon: var(--sds-clr-green-09); + --Notification-svg: url("/img/sds-icons/icons-check-circle.svg"); +} +.callout[data-callout-type="warning"] { + --Notification-bg: var(--sds-clr-amber-01); + --Notification-border: var(--sds-clr-amber-06); + --Notification-icon: var(--sds-clr-amber-09); + --Notification-svg: url("/img/sds-icons/icons-alert-triangle.svg"); +} +.callout[data-callout-type="danger"] { + --Notification-bg: var(--sds-clr-red-01); + --Notification-border: var(--sds-clr-red-06); + --Notification-icon: var(--sds-clr-red-09); + --Notification-svg: url("/img/sds-icons/icons-alert-circle.svg"); +} +[data-component-part="callout-icon"] { + width: 1rem !important; + margin-top: 0.125rem !important; +} +[data-component-part="callout-icon"] svg { + display: none; +} +[data-component-part="callout-icon"]::before { + content: ""; + display: block; + width: 1rem; + height: 1rem; + background-color: var(--Notification-icon); + -webkit-mask: var(--Notification-svg) no-repeat center / contain; + mask: var(--Notification-svg) no-repeat center / contain; +} + +/* Replace the "Copy page" button icon with SDS copy-01 */ +#page-context-menu-button svg { + display: none; +} +#page-context-menu-button > div::before { + content: ""; + display: block; + width: 1rem; + height: 1rem; + flex-shrink: 0; + background-color: currentColor; + -webkit-mask: url("/img/sds-icons/icons-copy-01.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-copy-01.svg") no-repeat center / contain; +} + +/* Style the "Copy page" button group like SDS Button (tertiary, md) */ +#page-context-menu > button { + height: 2rem !important; + padding: 0.375rem 0.625rem !important; + font-family: var(--sds-ff-base); + font-size: 0.875rem !important; + line-height: 1.375rem !important; + font-weight: var(--sds-fw-semi-bold) !important; + color: var(--sds-clr-gray-12) !important; + background-color: var(--sds-clr-gray-01) !important; + border: 1px solid var(--sds-clr-gray-06) !important; + transition: background-color var(--sds-anim-transition-default), + border-color var(--sds-anim-transition-default); +} +#page-context-menu > button:hover { + background-color: var(--sds-clr-gray-04) !important; + border-color: var(--sds-clr-gray-07) !important; +} +#page-context-menu-button { + border-radius: 0.375rem 0 0 0.375rem !important; + border-right: 0 !important; +} +#page-context-menu > button:last-child { + border-radius: 0 0.375rem 0.375rem 0 !important; +} +#page-context-menu-button > div::before { + background-color: var(--sds-clr-gray-09); +} + +/* "Copy page" button group — match Figma spec (Varial, node 3436:190880) */ +#page-context-menu > button { + height: 2.25rem !important; + padding: 0.5rem 0.75rem !important; + font-size: 0.875rem !important; + line-height: 1.25rem !important; + font-weight: 600 !important; + color: var(--sds-clr-gray-12) !important; + background-color: var(--sds-clr-gray-01) !important; + border: 1px solid var(--sds-clr-gray-06) !important; +} +#page-context-menu-button { + border-radius: 0.5rem 0 0 0.5rem !important; + border-right: 0 !important; +} +#page-context-menu-button > div { + gap: 0.25rem !important; +} +#page-context-menu > button:last-child { + width: 2.25rem !important; + padding: 0 !important; + justify-content: center; + border-radius: 0 0.5rem 0.5rem 0 !important; +} + +/* Overlap the two buttons by 1px so the shared border reads as a single line */ +#page-context-menu-button { + border-right: 1px solid var(--sds-clr-gray-06) !important; + margin-right: -1px; + position: relative; + z-index: 1; +} +#page-context-menu > button:last-child { + border-left: 1px solid var(--sds-clr-gray-06) !important; +} + +/* Previous / Next links: plain text, no card border or padding */ +#pagination a { + border: 0 !important; + border-radius: 0 !important; + padding: 0 !important; +} + +/* Previous / Next page titles in brand primary (SDS lilac-09) */ +[data-component-part="pagination-title"] { + color: var(--sds-clr-lilac-09) !important; +} +#pagination a:hover [data-component-part="pagination-title"] { + color: var(--sds-clr-lilac-11) !important; +} + +/* Replace the code block copy icon with SDS copy-01 */ +[data-testid="copy-code-button"] svg { + display: none; +} +[data-testid="copy-code-button"]::before { + content: ""; + display: block; + width: 1rem; + height: 1rem; + background-color: var(--sds-clr-gray-09); + -webkit-mask: url("/img/sds-icons/icons-copy-01.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-copy-01.svg") no-repeat center / contain; +} +[data-testid="copy-code-button"]:hover::before { + background-color: var(--sds-clr-gray-11); +} + +/* Code block copy button: show SDS check (brand primary) for 2s after copying */ +[data-testid="copy-code-button"]:has(> svg.text-primary)::before { + background-color: var(--sds-clr-lilac-09); + -webkit-mask-image: url("/img/sds-icons/icons-check.svg"); + mask-image: url("/img/sds-icons/icons-check.svg"); +} + +/* Previous / Next: put the label above the page title */ +#pagination a > div { + display: flex; + flex-direction: column-reverse; + gap: 0.25rem; +} +#pagination a > div > * { + margin: 0 !important; +} + +/* Push the footer to the bottom of the page when content is short */ +#content-container > div.flex-1 { + display: flex; + flex-direction: column; +} +#content-area { + display: flex; + flex-direction: column; + flex: 1; +} +#footer { + margin-top: auto; + padding-bottom: 2rem !important; +} + +/* Navbar: "For agents" as SDS primary button, "Developer Hub" as SDS tertiary button */ +a[data-component-name="primary-header-button"] { + height: 2rem; + padding: 0.375rem 0.625rem !important; + gap: 0.25rem; + font-size: 0.875rem !important; + line-height: 1.375rem; + font-weight: var(--sds-fw-semi-bold) !important; + color: var(--sds-clr-white) !important; + background-color: var(--sds-clr-lilac-09) !important; + border: 1px solid var(--sds-clr-lilac-09); + border-radius: 0.375rem !important; + box-shadow: none !important; + opacity: 1 !important; +} +a[data-component-name="primary-header-button"]:hover { + background-color: var(--sds-clr-lilac-11) !important; + border-color: var(--sds-clr-lilac-11); +} +a[data-component-name="primary-header-button"]::before { + content: "\2726"; + font-size: 0.75rem; +} +/* For agents panel (rendered by for-agents.js) */ +#for-agents-panel { + position: fixed; + top: calc(var(--mintlify-slot-header-height, 6rem) + var(--banner-height, 0px) + 0.5rem); + right: 0.75rem; + bottom: 0.75rem; + width: min(25rem, calc(100vw - 1.5rem)); + z-index: 60; + display: flex; + flex-direction: column; + font-family: var(--sds-ff-base); + color: var(--sds-clr-gray-12); + background-color: var(--sds-clr-gray-01); + border: 1px solid var(--sds-clr-gray-06); + border-radius: 0.5rem; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); + overflow: hidden; +} +#for-agents-panel[hidden] { display: none; } +.fa-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.75rem 1rem; + border-bottom: 1px solid var(--sds-clr-gray-06); +} +.fa-title { + font-size: 0.875rem; + line-height: 1.25rem; + color: var(--sds-clr-gray-11); +} +.fa-close { + width: 1.5rem; + height: 1.5rem; + border: 0; + background: var(--sds-clr-gray-09); + -webkit-mask: url("/img/sds-icons/icons-x-close.svg") no-repeat center / 1rem; + mask: url("/img/sds-icons/icons-x-close.svg") no-repeat center / 1rem; + cursor: pointer; +} +.fa-close:hover { background: var(--sds-clr-gray-12); } +.fa-body { + overflow-y: auto; + padding: 1rem; + display: flex; + flex-direction: column; + gap: 1.25rem; +} +.fa-picker-label, +.fa-section-title { + display: block; + margin: 0 0 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: var(--sds-fw-medium); + color: var(--sds-clr-gray-12); +} +.fa-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; } +.fa-pill { + height: 1.625rem; + padding: 0.25rem 0.625rem; + font-family: inherit; + font-size: 0.75rem; + line-height: 1.125rem; + font-weight: var(--sds-fw-semi-bold); + color: var(--sds-clr-gray-12); + background-color: var(--sds-clr-gray-01); + border: 1px solid var(--sds-clr-gray-06); + border-radius: 9999px; + cursor: pointer; + transition: background-color var(--sds-anim-transition-default), border-color var(--sds-anim-transition-default); +} +.fa-pill:hover { background-color: var(--sds-clr-gray-04); border-color: var(--sds-clr-gray-07); } +.fa-pill.is-active { + color: var(--sds-clr-base-00); + background-color: var(--sds-clr-gray-12); + border-color: var(--sds-clr-gray-12); +} +.fa-section { + display: flex; + flex-direction: column; + gap: 0.5rem; + padding-top: 1.25rem; + border-top: 1px solid var(--sds-clr-gray-06); +} +.fa-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; } +.fa-section-head .fa-section-title { margin: 0; } +.fa-desc, .fa-note { + margin: 0; + font-size: 0.875rem; + line-height: 1.25rem; + color: var(--sds-clr-gray-11); +} +.fa-note { font-size: 0.75rem; line-height: 1.125rem; } +.fa-link { + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: var(--sds-fw-medium); + color: var(--sds-clr-lilac-11); + text-decoration: none; + white-space: nowrap; +} +.fa-link:hover { text-decoration: underline; } +.fa-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 0.25rem; } +.fa-copy { + position: relative; + border: 1px solid var(--sds-clr-gray-06); + border-radius: 0.375rem; + background-color: var(--sds-clr-gray-02); +} +.fa-code { + margin: 0; + padding: 0.625rem 2.5rem 0.625rem 0.75rem; + font-family: var(--sds-ff-monospace); + font-size: 0.8125rem; + line-height: 1.25rem; + color: var(--sds-clr-gray-12); + white-space: pre-wrap; + word-break: break-all; +} +.fa-copy-btn { + position: absolute; + top: 0.375rem; + right: 0.375rem; + width: 1.75rem; + height: 1.75rem; + border: 0; + border-radius: 0.375rem; + background: transparent; + cursor: pointer; +} +.fa-copy-btn:hover { background: var(--sds-clr-gray-04); } +.fa-copy-btn::before { + content: ""; + display: block; + width: 1rem; + height: 1rem; + margin: auto; + background-color: var(--sds-clr-gray-09); + -webkit-mask: url("/img/sds-icons/icons-copy-01.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-copy-01.svg") no-repeat center / contain; +} +.fa-copy-btn.is-copied::before { + background-color: var(--sds-clr-lilac-09); + -webkit-mask-image: url("/img/sds-icons/icons-check.svg"); + mask-image: url("/img/sds-icons/icons-check.svg"); +} + +/* "For agents" navbar button: SDS tertiary instead of primary */ +a[data-component-name="primary-header-button"] { + color: var(--sds-clr-gray-12) !important; + background-color: var(--sds-clr-gray-01) !important; + border-color: var(--sds-clr-gray-06) !important; +} +a[data-component-name="primary-header-button"]:hover { + background-color: var(--sds-clr-gray-04) !important; + border-color: var(--sds-clr-gray-07) !important; +} +a[data-component-name="primary-header-button"]::before { + color: var(--sds-clr-gray-09); +} + +/* For agents panel: full-height drawer flush to the right edge, like developers.stellar.org */ +#for-agents-panel { + top: calc(var(--mintlify-slot-header-height, 6rem) + var(--banner-height, 0px)); + right: 0; + bottom: 0; + width: min(26rem, 100vw); + border-radius: 0; + border-width: 0 0 0 1px; + box-shadow: -8px 0 24px rgba(0, 0, 0, 0.06); + animation: fa-slide-in 180ms ease-out; +} +@keyframes fa-slide-in { + from { transform: translateX(100%); } + to { transform: translateX(0); } +} +.fa-header { padding: 1rem 1.25rem; } +.fa-body { padding: 1.25rem; } + +/* For agents panel: start right under the top header row, covering the tab bar */ +#for-agents-panel { + top: calc(3rem + var(--banner-height, 0px)); + z-index: 40; +} + +/* For agents panel links: match SDS Link (primary) */ +.fa-link { + display: inline-flex; + align-items: center; + gap: 0.125rem; + color: var(--sds-clr-lilac-11); + transition: color var(--sds-anim-transition-default); +} +.fa-link:hover { + color: var(--sds-clr-lilac-12); + text-decoration: none; +} +.fa-link > span { display: none; } +.fa-link::after { + content: ""; + display: block; + width: 1rem; + height: 1rem; + background-color: currentColor; + -webkit-mask: url("/img/sds-icons/icons-arrow-right.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-arrow-right.svg") no-repeat center / contain; +} + +/* Code block frame (filename header area): SDS gray-02 instead of Mintlify's tinted gray */ +#body-content .code-block { + background-color: var(--sds-clr-gray-02) !important; +} +#body-content [data-component-part="code-block-header-filename"] { + font-family: var(--sds-ff-base); + color: var(--sds-clr-gray-11); +} + +/* Tab bar (Home / Build / Learn...): SDS gray-02 instead of Mintlify's tinted gray */ +#navbar .bg-gray-50 { + background-color: var(--sds-clr-gray-02) !important; +} + +/* Active top-level tab: brand primary text to match the underline */ +#navbar .nav-tabs-item[aria-current="location"] { + color: var(--sds-clr-lilac-09) !important; +} + +/* Sidebar: active group headers in gray-12, same as active page links */ +#navigation-items [data-active="true"] > div, +#navigation-items .text-primary { + color: var(--sds-clr-gray-12) !important; +} + +/* Sidebar active page link: drop Mintlify's faux-bold text-shadow so weight matches group headers */ +#navigation-items a[aria-current] { + text-shadow: none !important; +} + +/* Sidebar group chevrons: SDS chevron-right instead of Mintlify's inline SVG */ +#navigation-items svg.transition-transform { + width: 1rem; + height: 1rem; + margin-right: 0; + color: var(--sds-clr-gray-09); + background-color: currentColor; + -webkit-mask: url("/img/sds-icons/icons-chevron-right.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-chevron-right.svg") no-repeat center / contain; +} +#navigation-items svg.transition-transform > path { + display: none; +} + +/* Context menu (Copy page dropdown): external-link arrows as SDS arrow-up-right */ +[role="menu"] [role="menuitem"] .font-medium > svg { + width: 0.875rem; + height: 0.875rem; + color: var(--sds-clr-gray-09); + background-color: currentColor; + -webkit-mask: url("/img/sds-icons/icons-arrow-up-right.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-arrow-up-right.svg") no-repeat center / contain; +} +[role="menu"] [role="menuitem"] .font-medium > svg > path { + display: none; +} + +/* Previous / Next chevrons: SDS chevron-left / chevron-right */ +[data-component-part="pagination-chevron"] { + width: 1rem; + height: 1rem; + color: var(--sds-clr-gray-09); + background-color: currentColor; + -webkit-mask: url("/img/sds-icons/icons-chevron-right.svg") no-repeat center / contain; + mask: url("/img/sds-icons/icons-chevron-right.svg") no-repeat center / contain; +} +[data-component-part="pagination-chevron"] > path { + display: none; +} +.pagination-prev [data-component-part="pagination-chevron"] { + -webkit-mask-image: url("/img/sds-icons/icons-chevron-left.svg"); + mask-image: url("/img/sds-icons/icons-chevron-left.svg"); + transform: none; +} + +/* Active item in both side menus (sidebar + On this page): brand primary */ +#navigation-items a[aria-current], +#navigation-items [data-active="true"] > div, +#navigation-items .text-primary, +#table-of-contents a[aria-current], +#table-of-contents .text-primary { + color: var(--sds-clr-lilac-09) !important; +} + +/* Active items in side menus: SDS semi-bold */ +#navigation-items a[aria-current], +#navigation-items [data-active="true"] > button, +#navigation-items button.text-primary, +#table-of-contents a[aria-current] { + font-weight: var(--sds-fw-semi-bold) !important; +} + +/* Sidebar: remove Mintlify's faux-bold text-shadow from every nav button and link */ +#navigation-items button, +#navigation-items a { + text-shadow: none !important; +} + +/* Purple text everywhere uses SDS lilac-11 (text), not lilac-09 (solid fill) */ +#navbar .nav-tabs-item[aria-current="location"], +#navigation-items a[aria-current], +#navigation-items [data-active="true"] > div, +#navigation-items .text-primary, +#table-of-contents a[aria-current], +#table-of-contents .text-primary, +[data-component-part="pagination-title"] { + color: var(--sds-clr-lilac-11) !important; +} + +/* Active top-level tab: gray-12 text and underline */ +#navbar .nav-tabs-item[aria-current="location"] { + color: var(--sds-clr-gray-12) !important; + text-shadow: none !important; + font-weight: var(--sds-fw-semi-bold) !important; +} +#navbar .nav-tabs-item[aria-current="location"] > div.bg-primary { + background-color: var(--sds-clr-gray-12) !important; +} + +/* Home page has no tab, so Mintlify marks the first tab active: show it as inactive */ +body:has(.stellar-hero-base) #navbar .nav-tabs-item[aria-current="location"] { + color: rgb(var(--gray-600)) !important; + font-weight: 500 !important; +} +body:has(.stellar-hero-base) #navbar .nav-tabs-item[aria-current="location"]:hover { + color: rgb(var(--gray-800)) !important; +} +html.dark body:has(.stellar-hero-base) #navbar .nav-tabs-item[aria-current="location"] { + color: rgb(var(--gray-400)) !important; +} +html.dark body:has(.stellar-hero-base) #navbar .nav-tabs-item[aria-current="location"]:hover { + color: rgb(var(--gray-300)) !important; +} +body:has(.stellar-hero-base) #navbar .nav-tabs-item[aria-current="location"] > div.bg-primary { + display: none; +} + +/* Footer: no top divider line */ +#footer { + border-top: 0 !important; + padding-top: 0 !important; +} diff --git a/tools/gen-html-redirects.cjs b/tools/gen-html-redirects.cjs new file mode 100644 index 000000000..7af0ff30b --- /dev/null +++ b/tools/gen-html-redirects.cjs @@ -0,0 +1,156 @@ +#!/usr/bin/env node +/* + * gen-html-redirects.cjs + * --------------------------------------------------------------------------- + * Generates a redirect map that strips a trailing `.html` from every page URL + * (e.g. /docs/learn/glossary.html -> /docs/learn/glossary), merges it with any + * redirects already defined in docs.json, and writes the combined list to a + * standalone `redirects.json`. It then rewrites docs.json's `redirects` key to + * a single `{ "$ref": "redirects.json" }` so the large list lives outside + * docs.json. Mintlify's prebuild resolves the $ref at build time. + * + * Re-runnable: it reads the current page list from docs.json's navigation each + * time, so adding/removing pages + re-running keeps the map in sync. Existing + * redirects (by source) always win over generated ones. + * + * Usage: + * node tools/gen-html-redirects.cjs # apply (writes redirects.json + docs.json) + * node tools/gen-html-redirects.cjs --dry # print summary only, write nothing + */ +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +const ROOT = path.resolve(__dirname, '..'); +const DOCS_JSON = path.join(ROOT, 'docs.json'); +const REDIRECTS_JSON = path.join(ROOT, 'redirects.json'); +const REF_VALUE = 'redirects.json'; +const DRY = process.argv.includes('--dry'); + +const text = fs.readFileSync(DOCS_JSON, 'utf8'); +const cfg = JSON.parse(text); + +// --- 1. Collect page routes: string items of any "pages" array + any "root". +const routes = new Set(); +(function walk(node) { + if (Array.isArray(node)) return node.forEach(walk); + if (node && typeof node === 'object') { + for (const [k, v] of Object.entries(node)) { + if (k === 'pages' && Array.isArray(v)) { + for (const item of v) { + if (typeof item === 'string') routes.add(item); + else walk(item); + } + } else if (k === 'root' && typeof v === 'string') { + routes.add(v); + } else { + walk(v); + } + } + } +})(cfg.navigation || cfg); + +// --- 2. Preserve existing redirects (resolve a pre-existing $ref if present). +let existing = []; +if (Array.isArray(cfg.redirects)) { + existing = cfg.redirects; +} else if (cfg.redirects && typeof cfg.redirects === 'object' && cfg.redirects.$ref) { + const refPath = path.join(ROOT, cfg.redirects.$ref); + if (fs.existsSync(refPath)) existing = JSON.parse(fs.readFileSync(refPath, 'utf8')); +} + +const existingSources = new Set(existing.map((r) => r.source)); + +// --- 3. Build .html -> clean-slug redirects, skipping any source already taken. +const generated = []; +for (const route of [...routes].sort()) { + const clean = '/' + route.replace(/^\/+/, ''); + const source = clean + '.html'; + if (existingSources.has(source)) continue; + generated.push({ source, destination: clean }); // permanent defaults to true (308) +} + +const combined = [...existing, ...generated]; + +// Sanity: sources must be unique (Mintlify enforces this). +const seen = new Set(); +const dupes = []; +for (const r of combined) { + if (seen.has(r.source)) dupes.push(r.source); + seen.add(r.source); +} + +console.log(`page routes: ${routes.size}`); +console.log(`existing redirects: ${existing.length}`); +console.log(`generated (.html): ${generated.length}`); +console.log(`combined total: ${combined.length}`); +console.log(`duplicate sources: ${dupes.length}${dupes.length ? ' -> ' + dupes.slice(0, 5).join(', ') : ''}`); +if (dupes.length) { + console.error('Refusing to write: duplicate sources would fail validation.'); + process.exit(1); +} + +if (DRY) { + console.log('\n--dry: no files written. Sample generated entries:'); + generated.slice(0, 5).forEach((r) => console.log(' ', JSON.stringify(r))); + process.exit(0); +} + +// --- 4. Write redirects.json. +fs.writeFileSync(REDIRECTS_JSON, JSON.stringify(combined, null, 2) + '\n'); + +// --- 5. Surgically replace docs.json's `redirects` value with a $ref, leaving +// the rest of the file byte-for-byte unchanged. +const keyIdx = text.lastIndexOf('"redirects"'); +if (keyIdx === -1) { + console.error('Could not find "redirects" key in docs.json.'); + process.exit(1); +} +// Find the start of the value after the colon. +let i = text.indexOf(':', keyIdx) + 1; +while (/\s/.test(text[i])) i++; +const open = text[i]; // '[' for an array or '{' for an existing $ref object +if (open !== '[' && open !== '{') { + console.error(`Unexpected redirects value start: ${JSON.stringify(open)}`); + process.exit(1); +} +const close = open === '[' ? ']' : '}'; + +// String-aware bracket matcher. +let depth = 0; +let end = -1; +let inStr = false; +let esc = false; +for (let j = i; j < text.length; j++) { + const c = text[j]; + if (inStr) { + if (esc) esc = false; + else if (c === '\\') esc = true; + else if (c === '"') inStr = false; + continue; + } + if (c === '"') inStr = true; + else if (c === open) depth++; + else if (c === close) { + depth--; + if (depth === 0) { end = j; break; } + } +} +if (end === -1) { + console.error('Could not find end of redirects value.'); + process.exit(1); +} + +const newText = text.slice(0, i) + `{ "$ref": "${REF_VALUE}" }` + text.slice(end + 1); + +// Validate the result parses and the $ref is in place. +const reparsed = JSON.parse(newText); +if (!reparsed.redirects || reparsed.redirects.$ref !== REF_VALUE) { + console.error('Post-edit validation failed: redirects is not a $ref.'); + process.exit(1); +} +fs.writeFileSync(DOCS_JSON, newText); + +console.log(`\nWrote ${REDIRECTS_JSON} (${combined.length} entries).`); +console.log('Rewrote docs.json "redirects" -> { "$ref": "redirects.json" }.'); diff --git a/tools/sds/build-sds-icons.mjs b/tools/sds/build-sds-icons.mjs new file mode 100644 index 000000000..8da5aea9a --- /dev/null +++ b/tools/sds/build-sds-icons.mjs @@ -0,0 +1,50 @@ +// Swaps Mintlify's icons for SDS icons without touching pages. Mintlify draws every library icon as a +// mask-image box whose inline style names the source file, so a CSS rule matching that file name can +// replace the mask. Copies the mapped SDS SVGs to img/sds-icons/ and writes sds-icons.css at the docs root. +// Add a row when a page starts using a new icon name; unmapped icons keep Mintlify's default. +// Language logos on code tabs (Mintlify's devicon set) stay as they are: SDS has no language logos. +import fs from "node:fs"; +import { createRequire } from "node:module"; + +// Mintlify icon name (any Font Awesome style folder) -> SDS asset, as "icons/" or "logos/". +const MAP = { + "file-lines": "icons/file-04", + "box-archive": "icons/folder", + "house": "icons/home-05", + "magnifying-glass": "icons/search-md", + "ellipsis-vertical": "icons/dots-vertical", + "angle-right": "icons/chevron-right", + "play": "icons/play", + "newspaper": "icons/announcement-01", + "cube": "icons/cube-01", + "mobile-screen": "icons/phone-01", + "bolt": "icons/zap", + "wallet": "icons/wallet-02", + "toolbox": "icons/tool-02", + "message": "icons/message-square-01", + "code": "icons/code-02", + "users": "icons/users-01", + "discord": "logos/discord", + "x-twitter": "logos/x-twitter", + "youtube": "logos/youtube", + "linkedin": "logos/linkedin", +}; + +const require = createRequire(import.meta.url); +const pkgDir = require.resolve("@stellar/design-system/package.json").replace(/package\.json$/, ""); +const { version } = JSON.parse(fs.readFileSync(pkgDir + "package.json", "utf8")); +const outDir = new URL("../../img/sds-icons/", import.meta.url); +fs.mkdirSync(outDir, { recursive: true }); + +const rules = Object.entries(MAP).map(([fa, sds]) => { + const file = sds.replace("/", "-") + ".svg"; + fs.copyFileSync(`${pkgDir}build/assets/${sds}.svg`, new URL(file, outDir)); + const url = `url("/img/sds-icons/${file}")`; + return `[style*="/${fa}.svg"] { -webkit-mask-image: ${url} !important; mask-image: ${url} !important; ` + + `-webkit-mask-size: contain !important; mask-size: contain !important; }`; +}); + +const header = `/* Generated from @stellar/design-system@${version} build/assets. Do not edit by hand. + Regenerate: cd tools/sds && npm install && npm run build */\n`; +fs.writeFileSync(new URL("../../sds-icons.css", import.meta.url), header + rules.join("\n") + "\n"); +console.log(`sds-icons.css: ${rules.length} icons from @stellar/design-system@${version}`); diff --git a/tools/sds/build-sds-tokens.mjs b/tools/sds/build-sds-tokens.mjs new file mode 100644 index 000000000..9d9ac3548 --- /dev/null +++ b/tools/sds/build-sds-tokens.mjs @@ -0,0 +1,27 @@ +// Generates sds-tokens.css at the docs root from the pinned @stellar/design-system in package.json. +// Keeps only --sds-* custom properties. Light and shared tokens go on :root, dark tokens on html.dark. +import fs from "node:fs"; +import { createRequire } from "node:module"; +import postcss from "postcss"; + +const require = createRequire(import.meta.url); +const pkgDir = require.resolve("@stellar/design-system/package.json").replace(/package\.json$/, ""); +const { version } = JSON.parse(fs.readFileSync(pkgDir + "package.json", "utf8")); +const src = fs.readFileSync(pkgDir + "build/styles.min.css", "utf8"); + +const out = postcss.root(); +out.append(postcss.rule({ selector: ":root" }).append({ prop: "--sds-version", value: `"${version}"` })); +postcss.parse(src).walkRules((rule) => { + const themeSelectors = rule.selectors.filter((s) => /^(:root|\.sds-theme-(light|dark))$/.test(s)); + if (themeSelectors.length !== rule.selectors.length) return; + const tokens = rule.nodes.filter((n) => n.type === "decl" && n.prop.startsWith("--sds-")); + if (!tokens.length) return; + const isDark = rule.selectors.length === 1 && rule.selectors[0] === ".sds-theme-dark"; + const selectors = isDark ? ["html.dark", 'html[data-theme="dark"]'] : [":root"]; + out.append(postcss.rule({ selectors }).append(tokens.map((t) => t.clone()))); +}); + +const header = `/* Generated from @stellar/design-system@${version} build/styles.min.css. Do not edit by hand. + Regenerate: cd tools/sds && npm install && npm run build */\n`; +fs.writeFileSync(new URL("../../sds-tokens.css", import.meta.url), header + out.toString() + "\n"); +console.log(`sds-tokens.css written from @stellar/design-system@${version}`); diff --git a/tools/sds/package-lock.json b/tools/sds/package-lock.json new file mode 100644 index 000000000..0d34b6bbd --- /dev/null +++ b/tools/sds/package-lock.json @@ -0,0 +1,215 @@ +{ + "name": "sds-mintlify", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "sds-mintlify", + "devDependencies": { + "@stellar/design-system": "4.0.2", + "postcss": "8.5.28" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz", + "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.12" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz", + "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.8.0", + "@floating-ui/utils": "^0.2.12" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz", + "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stellar/design-system": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@stellar/design-system/-/design-system-4.0.2.tgz", + "integrity": "sha512-GYFrbVp4tjLP4JoW8wuQRdRQAvNZwzCERqwcSIdKkNcTpsqIhs/QpU01ZJbrgyzjIuIRzUBf6qXjIpK9pQL0/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@floating-ui/dom": "^1.7.4", + "bignumber.js": "^9.3.1", + "lodash": "^4.17.21", + "react-copy-to-clipboard-ts": "^1.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=22.0.0" + }, + "peerDependencies": { + "react": ">=18.x", + "react-dom": ">=18.x" + } + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.19", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", + "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.5.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", + "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.18", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.3.0.tgz", + "integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-copy-to-clipboard-ts": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard-ts/-/react-copy-to-clipboard-ts-1.3.1.tgz", + "integrity": "sha512-qA4J3vHAdkdrqmaYvFCt5dbATtG8mQPl4Ar8HNrfrPvdaUqAQiwyQSg8fqSw8QYkH5KVUspNyvP6o/7kwZLw8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-to-clipboard": "^3.3.3" + }, + "peerDependencies": { + "react": ">=18.0.0" + } + }, + "node_modules/react-dom": { + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.0.tgz", + "integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.28.0" + }, + "peerDependencies": { + "react": "^19.3.0" + } + }, + "node_modules/scheduler": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + } + } +} diff --git a/tools/sds/package.json b/tools/sds/package.json new file mode 100644 index 000000000..8b9432326 --- /dev/null +++ b/tools/sds/package.json @@ -0,0 +1,14 @@ +{ + "name": "sds-mintlify", + "private": true, + "type": "module", + "scripts": { + "build": "node build-sds-tokens.mjs && node build-sds-icons.mjs", + "build:tokens": "node build-sds-tokens.mjs", + "build:icons": "node build-sds-icons.mjs" + }, + "devDependencies": { + "@stellar/design-system": "4.0.2", + "postcss": "8.5.28" + } +} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 02bb984f5..000000000 --- a/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@docusaurus/tsconfig", - "compilerOptions": { - "baseUrl": ".", - "ignoreDeprecations": "6.0", - "strict": true, - "types": ["docusaurus-plugin-sass"] - }, - "exclude": [".docusaurus", "build"] -}