From e2dbabafda66cd9dbc90560117829cac85ae7eaa Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Sun, 19 Apr 2026 07:57:34 +0000 Subject: [PATCH] feat(ui): graph polish + persistence + mobile reload + README rewrite MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Graph view: - Replace @cosmograph/cosmos (blank-screen issues on mobile Safari) with SVG + d3-force + d3-zoom. 0.1×–40× zoom range, pinch + wheel + pan, reset button. viewBox expanded to container aspect so the graph fills the screen instead of letterboxing. - Hover / tap a node to highlight it and its direct neighbours; others dim to 20% opacity. Orphans don't trigger the dim effect. - Node radius scales with degree: r = 3.5 + √(degree) × 1.6. Hubs stand out; sqrt keeps extremes sane. - Labels disambiguated across projects: "overview" (collision) becomes "docsiq/overview", "codeiq/overview", etc. - Orphan nodes anchored to centre (stronger forceX/Y) so they don't drift off-screen; distance-max on charge force. Other: - Hard reload button in SiteHeader — unregisters SW, purges CacheStorage, reloads with cache-busting query. Useful on mobile where there's no ⌘⇧R. - useProjectStore persisted to localStorage (docsiq.project key). - README rewritten to reflect: notes + wikilinks + cross-project, all three LLM providers (+ "none" for zero-LLM serve), PWA, UI stack, kbd shortcuts, build path that assumes npm build (no committed dist). - Clean up stale tracked ui/dist assets that leaked through the squash merge of PR #12 — gitignore now correctly keeps only the placeholder index.html. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 355 ++++++++----------- ui/dist/assets/DocumentView-S_kRD8s0.js | 1 - ui/dist/assets/DocumentsList-DDiV8Alk.js | 1 - ui/dist/assets/Graph-DhboX9Bv.js | 1 - ui/dist/assets/MCPConsole-B2jF6C5Z.js | 6 - ui/dist/assets/NoteEditor-XWs05OuT.js | 1 - ui/dist/assets/NoteView-DbbP0PJj.js | 3 - ui/dist/assets/NotesLayout-B2b1sadk.js | 1 - ui/dist/assets/NotesSearch-BjwNYEol.js | 1 - ui/dist/assets/editor-l0sNRNKZ.js | 1 - ui/dist/assets/graph-mfGjgYhn.js | 1 - ui/dist/assets/index-4rAOjcug.css | 1 - ui/dist/assets/index-DEeQUcqL.js | 221 ------------ ui/dist/assets/markdown-BU1qdTNu.js | 16 - ui/dist/assets/useDocs-EWsD7rBb.js | 1 - ui/dist/favicon.svg | 8 - ui/dist/fonts/Geist-400.woff2 | Bin 45228 -> 0 bytes ui/dist/fonts/Geist-500.woff2 | Bin 46464 -> 0 bytes ui/dist/fonts/Geist-600.woff2 | Bin 46304 -> 0 bytes ui/dist/fonts/GeistMono-400.woff2 | Bin 50764 -> 0 bytes ui/dist/fonts/GeistMono-500.woff2 | Bin 51864 -> 0 bytes ui/dist/icon-192.png | Bin 6561 -> 0 bytes ui/dist/icon-512.png | Bin 24032 -> 0 bytes ui/dist/icon-maskable-512.png | Bin 17419 -> 0 bytes ui/dist/manifest.webmanifest | 17 - ui/dist/sw.js | 14 - ui/package-lock.json | 20 ++ ui/package.json | 4 + ui/src/components/graph/GraphCanvas.tsx | 317 ++++++++++++----- ui/src/components/graph/SVGGraphFallback.tsx | 76 ++++ ui/src/components/site-header.tsx | 15 +- ui/src/lib/graph-layout.ts | 21 +- ui/src/lib/hard-reload.ts | 23 ++ ui/src/routes/Graph.tsx | 8 +- ui/src/stores/project.ts | 18 +- ui/src/styles/globals.css | 14 +- 36 files changed, 567 insertions(+), 599 deletions(-) delete mode 100644 ui/dist/assets/DocumentView-S_kRD8s0.js delete mode 100644 ui/dist/assets/DocumentsList-DDiV8Alk.js delete mode 100644 ui/dist/assets/Graph-DhboX9Bv.js delete mode 100644 ui/dist/assets/MCPConsole-B2jF6C5Z.js delete mode 100644 ui/dist/assets/NoteEditor-XWs05OuT.js delete mode 100644 ui/dist/assets/NoteView-DbbP0PJj.js delete mode 100644 ui/dist/assets/NotesLayout-B2b1sadk.js delete mode 100644 ui/dist/assets/NotesSearch-BjwNYEol.js delete mode 100644 ui/dist/assets/editor-l0sNRNKZ.js delete mode 100644 ui/dist/assets/graph-mfGjgYhn.js delete mode 100644 ui/dist/assets/index-4rAOjcug.css delete mode 100644 ui/dist/assets/index-DEeQUcqL.js delete mode 100644 ui/dist/assets/markdown-BU1qdTNu.js delete mode 100644 ui/dist/assets/useDocs-EWsD7rBb.js delete mode 100644 ui/dist/favicon.svg delete mode 100644 ui/dist/fonts/Geist-400.woff2 delete mode 100644 ui/dist/fonts/Geist-500.woff2 delete mode 100644 ui/dist/fonts/Geist-600.woff2 delete mode 100644 ui/dist/fonts/GeistMono-400.woff2 delete mode 100644 ui/dist/fonts/GeistMono-500.woff2 delete mode 100644 ui/dist/icon-192.png delete mode 100644 ui/dist/icon-512.png delete mode 100644 ui/dist/icon-maskable-512.png delete mode 100644 ui/dist/manifest.webmanifest delete mode 100644 ui/dist/sw.js create mode 100644 ui/src/components/graph/SVGGraphFallback.tsx create mode 100644 ui/src/lib/hard-reload.ts diff --git a/README.md b/README.md index 9a41e98..ca781e5 100644 --- a/README.md +++ b/README.md @@ -1,258 +1,199 @@ # docsiq [![Security Scan](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml) -[![OpenSSF Scan](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml/badge.svg?branch=main&label=OpenSSF%20scan)](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml) [![OpenSSF Score](https://api.scorecard.dev/projects/github.com/RandomCodeSpace/docsiq/badge)](https://scorecard.dev/viewer/?uri=github.com/RandomCodeSpace/docsiq) [![Release](https://img.shields.io/github/v/release/RandomCodeSpace/docsiq)](https://github.com/RandomCodeSpace/docsiq/releases) -[![Beta](https://img.shields.io/github/v/release/RandomCodeSpace/docsiq?include_prereleases&label=beta)](https://github.com/RandomCodeSpace/docsiq/releases) [![Go Version](https://img.shields.io/github/go-mod/go-version/RandomCodeSpace/docsiq)](https://github.com/RandomCodeSpace/docsiq/blob/main/go.mod) -[![Frontend Version](https://img.shields.io/badge/frontend-none-lightgrey)](https://github.com/RandomCodeSpace/docsiq) -A GraphRAG tool inspired by [Microsoft GraphRAG](https://github.com/microsoft/graphrag). Built on CGO-backed SQLite ([`mattn/go-sqlite3`](https://github.com/mattn/go-sqlite3) with FTS5) plus the [`sqlite-vec`](https://github.com/asg017/sqlite-vec) loadable extension for ANN vector search. -Ingests unstructured documents, builds a hierarchical knowledge graph with community detection, and exposes an **MCP server + embedded Web UI** on a single port. +docsiq is a GraphRAG-powered knowledge base that runs as a single Go binary. +It ingests unstructured documents, builds a knowledge graph with +community detection, persists wikilinked markdown notes, and exposes the +whole thing over **MCP + an embedded React SPA** on one port. -## Features - -- **GraphRAG pipeline** — 5-phase: load → chunk → embed → graph extraction → community detection -- **Knowledge graph** — entity/relationship/claim extraction via LLM (JSON mode) -- **Louvain community detection** — pure Go, hierarchical, no external dependencies -- **Two LLM providers** — Azure OpenAI, Ollama (local), via langchaingo -- **12 MCP tools** — local search, global search, graph walk, community reports, and more -- **Embedded Web UI** — vis-network graph explorer, semantic search, document browser -- **Single binary** — ships on Linux / macOS (Windows is not supported) +Inspired by [Microsoft GraphRAG](https://github.com/microsoft/graphrag); +storage is CGO-backed SQLite (`mattn/go-sqlite3` with FTS5) + the +[`sqlite-vec`](https://github.com/asg017/sqlite-vec) extension for ANN +vector search. -## Install +## Features -### Prerequisites +- **GraphRAG pipeline** — load → chunk → embed → extract entities/ + relationships/claims → detect communities, all in one `docsiq index` run. +- **Notes subsystem** — markdown on disk with `[[wikilinks]]`, project + scopes, cross-project references, and a live note graph view. Works + without any LLM configured. +- **Interactive graph** — SVG force-directed viz with d3-zoom (pinch/wheel + pan/zoom 0.1×–40×), hover-to-highlight neighbourhood, degree-scaled nodes. +- **Community detection** — pure-Go Louvain, hierarchical, no external deps. +- **Three LLM providers** — Azure OpenAI, OpenAI, Ollama — via + [`tmc/langchaingo`](https://github.com/tmc/langchaingo). Set + `provider: "none"` to run the server in notes-only mode with no LLM. +- **MCP server** — 12+ tools (local/global search, graph walk, community + reports, note read/write, …) exposed at `/mcp` via Streamable HTTP + transport with session handshake. +- **Embedded SPA** — React 19 + Tailwind 4 + shadcn/ui, served from + `//go:embed ui/dist`. PWA-installable with manifest + service worker. +- **Per-repo projects** — each scope has its own SQLite store + notes + directory, addressable by slug. + +## Quickstart -A **C toolchain** is required at install time (docsiq links SQLite -via CGO and bundles the `sqlite-vec` loadable extension): +```bash +# Clone, install UI deps, build UI, build Go binary +git clone https://github.com/RandomCodeSpace/docsiq +cd docsiq +npm --prefix ui ci +npm --prefix ui run build +CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq ./ -- **Linux**: `sudo apt-get install build-essential` (or equivalent) -- **macOS**: `xcode-select --install` -- **Windows**: not supported +# Register the current git repo as a project +./docsiq init -Go ≥ 1.22 is required. +# Index a docs folder +./docsiq index ~/path/to/docs -```bash -go install github.com/RandomCodeSpace/docsiq@latest +# Start the server (UI + API + MCP) +./docsiq serve --port 37778 +# → http://localhost:37778 ``` -Or build from source: +## UI -```bash -git clone https://github.com/RandomCodeSpace/docsiq.git -cd docsiq -CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq . -``` - -## Quick Start +- **Stack**: React 19, Vite 6, Tailwind 4, shadcn/ui primitives, Geist typography, Lucide icons +- **Architecture**: CSS lives in a single `globals.css` with an + `@layer components` section; JSX uses semantic class names only; + shadcn primitives are the only place Tailwind utilities live inline +- **Navigation**: labeled sidebar (Home · Notes · Documents · Graph · MCP) + with ⌘K command palette +- **Responsiveness**: mobile drawer via shadcn `Sheet`; iOS safe-area + respected; inputs forced to 16px below `sm:` to kill Safari auto-zoom +- **PWA**: manifest + 192/512 PNG icons + minimal service worker, + installable on Android/iOS +- **Hard reload**: refresh button in the header purges service worker + + CacheStorage and reloads from network — mobile-friendly `⌘⇧R` substitute -```bash -# 1. Create config -mkdir -p ~/.docsiq -cp config.example.yaml ~/.docsiq/config.yaml -# Edit ~/.docsiq/config.yaml — set your LLM provider +### Keyboard shortcuts -# 2. Index documents (Phases 1-2: load, chunk, embed, extract entities) -docsiq index ./your-docs/ --workers 4 +| Key | Action | +|---|---| +| `⌘K` / `Ctrl+K` | Command palette | +| `G H` | Home | +| `G N` | Notes | +| `G D` | Documents | +| `G G` | Graph | +| `G M` | MCP console | +| `⌘/` | Toggle tree drawer (Notes) | +| `⌘L` | Toggle links drawer (Notes) | + +## MCP + +docsiq speaks the MCP Streamable HTTP transport at `POST /mcp`. The UI's +MCP Console (inspector-style) gives you the same tool list with typed +argument forms. For external clients (Claude Desktop, Cursor, etc.) +register the server URL directly, or use the hooks helper: -# 3. Build knowledge graph (Phases 3-4: community detection + summaries) -docsiq index --finalize +```bash +docsiq hooks install --client claude-desktop +``` -# 4. Check stats -docsiq stats +## Architecture -# 5. Start server -docsiq serve --port 8080 ``` - -Open **http://localhost:8080** for the Web UI. +cmd/ CLI commands (cobra): index, serve, search, projects, init, hooks, vec +internal/ + api/ REST API + /mcp handler + chunker/ Text splitting (textsplitter.RecursiveCharacter) + community/ Louvain detection + summaries + config/ Viper YAML config + env override + crawler/ Web page crawler + embedder/ Batched text → vector (nil-safe when provider=none) + extractor/ LLM-based entity / relationship / claim extraction + llm/ Provider abstraction (Azure, OpenAI, Ollama, none) + loader/ Document loaders (PDF, DOCX, TXT, MD, web) + mcp/ Streamable HTTP MCP server (12+ tools) + notes/ Per-project markdown + wikilinks + graph builder + pipeline/ 5-phase indexing pipeline + project/ Project registry (git-remote-scoped slugs) + search/ Query engine (local + global + hybrid) + store/ SQLite + FTS5 + vector index + vectorindex/ HNSW ANN vector search +ui/ React 19 + Vite 6 SPA, embedded at compile time +``` ## Configuration -Copy `config.example.yaml` to `~/.docsiq/config.yaml` and edit: +Config lives at `~/.docsiq/config.yaml`; every key can be overridden by +an env var with prefix `DOCSIQ_` (dots → underscores, uppercased). ```yaml -data_dir: ~/.docsiq/data +server: + host: 0.0.0.0 + port: 37778 + api_key: "" # if set, UI + API require Authorization: Bearer llm: - provider: ollama # azure | ollama - + provider: ollama # azure | openai | ollama | none + azure: + chat_endpoint: https://chat.openai.azure.com + chat_api_key: ${AZURE_OPENAI_KEY} + chat_model: gpt-4o + chat_api_version: "2024-08-01" + embed_endpoint: https://embed.openai.azure.com + embed_api_key: ${AZURE_OPENAI_KEY} + embed_model: text-embedding-3-small + embed_api_version: "2024-08-01" + openai: + api_key: ${OPENAI_API_KEY} + chat_model: gpt-4o + embed_model: text-embedding-3-small ollama: base_url: http://localhost:11434 chat_model: llama3.2 embed_model: nomic-embed-text - azure: - # Shared defaults — used when chat/embed-specific values are not set. - endpoint: https://myresource.openai.azure.com - api_key: ${AZURE_OPENAI_API_KEY} - api_version: "2024-08-01" - - chat: - model: gpt-4o - # endpoint: ... # optional override (falls back to shared) - # api_key: ... # optional override (falls back to shared) - embed: - model: text-embedding-3-small - # endpoint: ... # optional override for separate deployment - # api_key: ... # optional override - indexing: - chunk_size: 512 - chunk_overlap: 50 workers: 4 - extract_graph: true - extract_claims: true - max_gleanings: 1 - -community: - min_community_size: 2 - max_levels: 3 + chunk_size: 512 + batch_size: 32 -server: - host: 127.0.0.1 - port: 8080 +default_project: _default ``` -### Environment Variables +**No LLM?** Set `provider: none`. The server still runs notes, wikilinks, +graph, tree, and notes-search. Endpoints that need the model +(`POST /api/search`, `POST /api/upload`, `/mcp` tool calls that embed or +extract) return `503 {"code": "llm_disabled"}`. -All config keys can be set via environment variables with the `DOCSIQ_` prefix. -Dots become underscores; the prefix is case-sensitive (upper-case). +## Build ```bash -# Provider -export DOCSIQ_LLM_PROVIDER=azure - -# Azure shared (used by both chat and embed unless overridden) -export DOCSIQ_LLM_AZURE_ENDPOINT=https://myresource.openai.azure.com -export DOCSIQ_LLM_AZURE_API_KEY=sk-... -export DOCSIQ_LLM_AZURE_API_VERSION=2024-08-01 - -# Azure chat (overrides shared values for chat completions) -export DOCSIQ_LLM_AZURE_CHAT_ENDPOINT=https://chat-deployment.openai.azure.com -export DOCSIQ_LLM_AZURE_CHAT_MODEL=gpt-4o - -# Azure embed (overrides shared values for embeddings) -export DOCSIQ_LLM_AZURE_EMBED_ENDPOINT=https://embed-deployment.openai.azure.com -export DOCSIQ_LLM_AZURE_EMBED_MODEL=text-embedding-3-small +# First time on a connected machine +npm --prefix ui ci # install UI deps +go mod download # Go deps -# Ollama -export DOCSIQ_LLM_OLLAMA_BASE_URL=http://localhost:11434 -export DOCSIQ_LLM_OLLAMA_CHAT_MODEL=llama3.2 -export DOCSIQ_LLM_OLLAMA_EMBED_MODEL=nomic-embed-text - -# Indexing -export DOCSIQ_INDEXING_WORKERS=4 -export DOCSIQ_INDEXING_CHUNK_SIZE=512 - -# Server -export DOCSIQ_SERVER_PORT=9090 -``` - -## CLI - -```bash -# Index a file or directory -docsiq index ./docs/ [--force] [--workers 4] [--verbose] - -# Run community detection + LLM summaries -docsiq index --finalize - -# Show statistics -docsiq stats -docsiq stats --json - -# Start MCP + Web UI server -docsiq serve [--port 8080] [--host 127.0.0.1] -``` - -## MCP Tools - -Connect any MCP client to `http://localhost:8080/mcp/sse`. - -| Tool | Description | -|---|---| -| `search_documents` | Vector similarity search over chunks | -| `local_search` | Vector + graph walk (GraphRAG local) | -| `global_search` | Community summary aggregation with LLM synthesis | -| `query_entity` | Entity details + relationships by name | -| `find_relationships` | Relationship lookup by source / target / predicate | -| `get_graph_neighborhood` | Subgraph JSON for visualization | -| `get_document_structure` | LLM-generated structured summary | -| `list_entities` | Browse entities with type filter | -| `list_documents` | Browse indexed documents | -| `get_community_report` | Community summary + member entities | -| `get_chunk` | Retrieve chunk by ID | -| `stats` | Full index statistics | - -## REST API - -``` -GET /api/stats -GET /api/documents -GET /api/documents/{id} -POST /api/search {"query":"...","mode":"local|global","top_k":5} -GET /api/graph/neighborhood?entity=&depth=2 -GET /api/entities -GET /api/communities -GET /api/communities/{id} -POST /api/upload +# Build +npm --prefix ui run build # produces ui/dist/ +CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq ./ ``` -## Architecture - -``` -Document In - │ - ▼ Phase 1 — Text Units - Loader (PDF/DOCX/TXT/MD) → Chunker → Embedder → SQLite - - ▼ Phase 2 — Graph Extraction [parallel per document] - LLM → Entities + Relationships + Claims → SQLite - - ▼ Phase 3 — Community Detection [post-index finalization] - Louvain algorithm → hierarchical community assignments +CI builds UI first and passes `ui/dist/` to each Go job as an artifact. +`ui/dist/` is **not committed**; only a tiny placeholder `ui/dist/index.html` +exists in the repo to keep `//go:embed ui/dist` happy at compile time. - ▼ Phase 4 — Community Summaries [parallel] - LLM → CommunityReport → embed summary → SQLite +## Tests - ▼ Phase 5 — Structured Doc - LLM → JSON summary → SQLite +```bash +# Go +CGO_ENABLED=1 go test -tags sqlite_fts5 ./... +# Go -race integration +CGO_ENABLED=1 go test -tags "sqlite_fts5 integration" -race -timeout 1200s ./... + +# UI +npm --prefix ui run typecheck +npm --prefix ui test -- --run --coverage +npm --prefix ui run build ``` -Per-project SQLite databases live at -`$DATA_DIR/projects//docsiq.db`, with a tiny registry at -`$DATA_DIR/registry.db` mapping slugs to project metadata. - -## Hook support matrix - -docsiq registers a SessionStart hook with each AI client so GraphRAG -context is loaded when the client starts. Only Claude Code publishes a -documented SessionStart hook schema — the others are a best-effort -placeholder pinned by fixture tests. Installing an unverified hook -prints a `slog.Warn` so operators can opt out. - -| Client | Config path | Schema source | Status | -|---|---|---|---| -| Claude Code | `~/.claude/settings.json` | [docs.claude.com/en/docs/claude-code/hooks](https://docs.claude.com/en/docs/claude-code/hooks) (fetched 2026-04-17) | verified | -| Cursor | `~/.cursor/docsiq-hooks.json` | no docs (docs.cursor.com/en/agent/hooks returned empty, 2026-04-17) | unverified | -| Copilot CLI | `~/.config/github-copilot/hooks.json` | no docs (github.com/copilot CLI docs publish no hook schema, 2026-04-17) | unverified | -| Codex CLI | `~/.codex/hooks.json` | no docs (github.com/openai/codex `docs/config.md` documents only a `Notify` post-turn hook, no SessionStart, 2026-04-17) | unverified | - -> **Note:** Unverified hook shapes mirror the original kgraph guesses. -> When a client publishes a real schema, the corresponding installer in -> `internal/hookinstaller/` should be updated along with its fixture -> pair in `internal/hookinstaller/fixtures//`. - -## Supported File Types - -| Format | Extensions | Notes | -|---|---|---| -| PDF | `.pdf` | Text extraction via langchaingo (ledongthuc/pdf); scanned/image-only PDFs yield no text | -| Word | `.docx` | Open XML format (Office 2007+); legacy `.doc` not supported | -| Markdown | `.md`, `.markdown` | Heading `# Title` used as document title | -| Plain text | `.txt`, `.text` | UTF-8 encoding expected | +## License -> **Tip:** For best graph quality, prefer documents with clear structure (headings, named entities, factual prose). Scanned PDFs or heavily formatted spreadsheets will produce sparse graphs. +MIT. See [LICENSE](LICENSE). diff --git a/ui/dist/assets/DocumentView-S_kRD8s0.js b/ui/dist/assets/DocumentView-S_kRD8s0.js deleted file mode 100644 index 321bdc9..0000000 --- a/ui/dist/assets/DocumentView-S_kRD8s0.js +++ /dev/null @@ -1 +0,0 @@ -import{f as a,e as c,j as s}from"./index-DEeQUcqL.js";import{a as d}from"./useDocs-EWsD7rBb.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function p(){const{id:t}=a(),i=c(r=>r.slug),{data:e,isLoading:o}=d(i,t);return o?s.jsx("div",{className:"p-8 text-sm text-muted-foreground",children:"Loading…"}):e?s.jsxs("article",{className:"doc-view",children:[s.jsx("h1",{className:"doc-view-title",children:e.title||e.path}),s.jsxs("div",{className:"doc-view-meta",children:[e.doc_type," · v",e.version]})]}):s.jsx("div",{className:"p-8 text-sm",children:"Not found."})}export{p as default}; diff --git a/ui/dist/assets/DocumentsList-DDiV8Alk.js b/ui/dist/assets/DocumentsList-DDiV8Alk.js deleted file mode 100644 index 0e644bb..0000000 --- a/ui/dist/assets/DocumentsList-DDiV8Alk.js +++ /dev/null @@ -1 +0,0 @@ -import{j as e,o as r,e as y,p as w,r as u,D as v,s as k,t as T,v as D,n as q,q as j,B as f,L as C,i as U}from"./index-DEeQUcqL.js";import{u as R}from"./useDocs-EWsD7rBb.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function L({className:t,...s}){return e.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:e.jsx("table",{"data-slot":"table",className:r("w-full caption-bottom text-sm",t),...s})})}function O({className:t,...s}){return e.jsx("thead",{"data-slot":"table-header",className:r("[&_tr]:border-b",t),...s})}function A({className:t,...s}){return e.jsx("tbody",{"data-slot":"table-body",className:r("[&_tr:last-child]:border-0",t),...s})}function b({className:t,...s}){return e.jsx("tr",{"data-slot":"table-row",className:r("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",t),...s})}function c({className:t,...s}){return e.jsx("th",{"data-slot":"table-head",className:r("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...s})}function i({className:t,...s}){return e.jsx("td",{"data-slot":"table-cell",className:r("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...s})}function g({open:t,onOpenChange:s}){const n=y(l=>l.slug),o=w(),[a,p]=u.useState(!1),[x,m]=u.useState(null);async function N(l){if(!(!l||l.length===0)){p(!0),m(null);try{const d=new FormData;for(const h of Array.from(l))d.append("files",h,h.name);await q(`/api/upload?project=${encodeURIComponent(n)}`,{method:"POST",body:d}),o.invalidateQueries({queryKey:j.docs(n)}),o.invalidateQueries({queryKey:j.stats(n)}),s(!1)}catch(d){m(d.message)}finally{p(!1)}}}return e.jsx(v,{open:t,onOpenChange:s,children:e.jsxs(k,{children:[e.jsx(T,{children:e.jsx(D,{children:"Upload documents"})}),e.jsx("input",{type:"file",multiple:!0,onChange:l=>N(l.currentTarget.files),className:"block w-full text-sm"}),a&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Uploading…"}),x&&e.jsx("p",{className:"text-xs text-destructive",children:x})]})})}function _(){const t=y(a=>a.slug),{data:s=[]}=R(t),[n,o]=u.useState(!1);return s.length===0?e.jsxs("div",{className:"docs-page",children:[e.jsxs("div",{className:"docs-page-head",children:[e.jsx("h1",{className:"docs-page-title",children:"Documents"}),e.jsx(f,{onClick:()=>o(!0),children:"Upload"})]}),e.jsx(g,{open:n,onOpenChange:o}),e.jsxs("div",{className:"docs-empty",children:[e.jsx("p",{className:"docs-empty-title",children:"No documents indexed yet."}),e.jsx("p",{className:"docs-empty-desc",children:"docsiq indexes from disk or URL into a GraphRAG knowledge base. Run the CLI against a folder of PDFs, Markdown, text, or a docs site."}),e.jsxs("code",{className:"docs-empty-code",children:["docsiq index ~/path/to/docs --project ",t]}),e.jsxs("p",{className:"docs-empty-hint",children:["Requires an LLM provider (Azure OpenAI / OpenAI / Ollama) configured in",e.jsx("code",{className:"mx-1 px-1 py-0.5 bg-muted rounded font-mono",children:"~/.docsiq/config.yaml"}),". Notes and wikilinks work without a provider."]})]})]}):e.jsxs("div",{className:"docs-page",children:[e.jsxs("div",{className:"docs-page-head",children:[e.jsx("h1",{className:"docs-page-title",children:"Documents"}),e.jsx(f,{onClick:()=>o(!0),children:"Upload"})]}),e.jsx(g,{open:n,onOpenChange:o}),e.jsxs(L,{children:[e.jsx(O,{children:e.jsxs(b,{children:[e.jsx(c,{children:"Title"}),e.jsx(c,{children:"Type"}),e.jsx(c,{children:"Updated"})]})}),e.jsx(A,{children:s.map(a=>e.jsxs(b,{children:[e.jsx(i,{children:e.jsx(C,{to:`/docs/${a.id}`,className:"text-foreground underline decoration-dotted",children:a.title||a.path})}),e.jsx(i,{className:"text-muted-foreground",children:a.doc_type}),e.jsx(i,{className:"text-muted-foreground",children:U(a.updated_at*1e3)})]},a.id))})]})]})}export{_ as default}; diff --git a/ui/dist/assets/Graph-DhboX9Bv.js b/ui/dist/assets/Graph-DhboX9Bv.js deleted file mode 100644 index cb088f9..0000000 --- a/ui/dist/assets/Graph-DhboX9Bv.js +++ /dev/null @@ -1 +0,0 @@ -import{r as l,w as p,j as e,e as u,d as m}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";const d={entity:"var(--chart-1)",note:"var(--chart-3)",community:"var(--chart-2)"};function h({data:o,width:s=1200,height:t=700}){const a=l.useMemo(()=>p(o,s,t),[o,s,t]),c=l.useMemo(()=>Object.fromEntries(a.nodes.map(r=>[r.id,r])),[a.nodes]);return e.jsxs("svg",{viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",role:"img","aria-label":"Entity + notes graph",children:[a.edges.map((r,x)=>{const i=c[r.source],n=c[r.target];return!i||!n?null:e.jsx("line",{x1:i.x,y1:i.y,x2:n.x,y2:n.y,stroke:"var(--border)",strokeWidth:.7},x)}),a.nodes.map(r=>e.jsxs("g",{children:[e.jsx("circle",{cx:r.x,cy:r.y,r:4.5,fill:d[r.kind]??d.entity}),e.jsx("title",{children:r.label||r.id})]},r.id))]})}function v(){const o=u(a=>a.slug),{data:s,isLoading:t}=m(o);return t?e.jsx("div",{className:"p-8 text-sm text-muted-foreground",children:"Loading graph…"}):s?e.jsx("div",{className:"graph-page",children:e.jsx("div",{className:"graph-canvas-wrap",children:e.jsx(h,{data:s})})}):e.jsx("div",{className:"p-8 text-sm",children:"No graph data."})}export{v as default}; diff --git a/ui/dist/assets/MCPConsole-B2jF6C5Z.js b/ui/dist/assets/MCPConsole-B2jF6C5Z.js deleted file mode 100644 index 97f3ba7..0000000 --- a/ui/dist/assets/MCPConsole-B2jF6C5Z.js +++ /dev/null @@ -1,6 +0,0 @@ -import{r as i,j as e,o as O,B as J}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function q(){var a;if(typeof document>"u")return null;const s=(a=document.querySelector('meta[name="docsiq-api-key"]'))==null?void 0:a.getAttribute("content");return s&&s.length?s:null}async function v(s,a){const r={"Content-Type":"application/json",Accept:"application/json, text/event-stream"},o=q();o&&(r.Authorization=`Bearer ${o}`),s&&(r["Mcp-Session-Id"]=s);const l=await fetch("/mcp",{method:"POST",headers:r,body:JSON.stringify(a)}),n=l.headers.get("Mcp-Session-Id")??s,c=await l.text();if(!l.ok)throw new Error(`HTTP ${l.status}: ${c.slice(0,200)}`);if(!c)return{json:null,sessionId:n};if((l.headers.get("content-type")??"").includes("text/event-stream")){for(const N of c.split(/\r?\n/))if(N.startsWith("data: "))return{json:JSON.parse(N.slice(6)),sessionId:n};throw new Error("MCP SSE response had no data frame")}return{json:JSON.parse(c),sessionId:n}}function P(){const[s,a]=i.useState([]),[r,o]=i.useState([]),[l,n]=i.useState(null),c=i.useRef(null),m=i.useRef(!1);async function N(){if(m.current)return;const{sessionId:u}=await v(null,{jsonrpc:"2.0",id:1,method:"initialize",params:{protocolVersion:"2025-03-26",capabilities:{},clientInfo:{name:"docsiq-ui",version:"0.1"}}});c.current=u,await v(c.current,{jsonrpc:"2.0",method:"notifications/initialized"}),m.current=!0}const S=i.useCallback(async()=>{var u;try{await N();const{json:h}=await v(c.current,{jsonrpc:"2.0",id:Date.now(),method:"tools/list"}),f=h;o(((u=f==null?void 0:f.result)==null?void 0:u.tools)??[]),n(null)}catch(h){n(h.message),m.current=!1,c.current=null}},[]);i.useEffect(()=>{S()},[S]);const b=i.useCallback(async(u,h)=>{const f=performance.now(),y={id:crypto.randomUUID(),tool:u,args:h,tookMs:0,timestamp:Date.now()};try{await N();const{json:x}=await v(c.current,{jsonrpc:"2.0",id:Date.now(),method:"tools/call",params:{name:u,arguments:h}}),d=x;if(d!=null&&d.error)throw new Error(d.error.message);y.result=d==null?void 0:d.result}catch(x){y.error=x.message,m.current=!1,c.current=null}finally{y.tookMs=Math.round(performance.now()-f),a(x=>[y,...x].slice(0,50))}},[]);return{history:s,invoke:b,tools:r,toolsError:l,refreshTools:S}}function R(s){var n;if(!((n=s==null?void 0:s.inputSchema)!=null&&n.properties))return"{}";const a=s.inputSchema.properties,r=new Set(s.inputSchema.required??[]),o=Object.keys(a);if(o.length===0)return"{}";const l={};for(const c of o){if(r.size&&!r.has(c))continue;const m=a[c].type;l[c]=m==="number"||m==="integer"?0:m==="boolean"?!1:m==="array"?[]:m==="object"?{}:""}return JSON.stringify(l,null,2)}function I(s){var o,l;const a=((o=s==null?void 0:s.inputSchema)==null?void 0:o.properties)??{},r=new Set(((l=s==null?void 0:s.inputSchema)==null?void 0:l.required)??[]);return Object.entries(a).map(([n,c])=>({name:n,type:c.type??"string",description:c.description,enum:c.enum,required:r.has(n)}))}function F(s,a){if(s!==""){if(a==="number"||a==="integer"){const r=Number(s);return Number.isFinite(r)?r:s}if(a==="boolean")return s==="true";if(a==="array"||a==="object")try{return JSON.parse(s)}catch{return s}return s}}function D(){const{history:s,invoke:a,tools:r,toolsError:o,refreshTools:l}=P(),[n,c]=i.useState(""),[m,N]=i.useState(""),[S,b]=i.useState({}),[u,h]=i.useState("{}"),[f,y]=i.useState(!1),[x,d]=i.useState(null),[C,T]=i.useState(!1),w=i.useMemo(()=>{const t=m.trim().toLowerCase();return t?r.filter(g=>{var j;return g.name.toLowerCase().includes(t)||((j=g.description)==null?void 0:j.toLowerCase().includes(t))}):r},[r,m]);i.useEffect(()=>{!n&&w.length&&c(w[0].name)},[w,n]);const p=i.useMemo(()=>r.find(t=>t.name===n),[r,n]),k=i.useMemo(()=>I(p),[p]);i.useEffect(()=>{d(null),b({}),h(R(p)),y(!1)},[n,p]);async function E(){if(!p)return;d(null);let t;if(f)try{t=JSON.parse(u)}catch{d("Invalid JSON");return}else{const g={};for(const j of k){const M=F(S[j.name]??"",j.type);M!==void 0&&(g[j.name]=M)}t=g}T(!0);try{await a(p.name,t)}finally{T(!1)}}return e.jsxs("div",{className:"mcp-shell",children:[e.jsxs("aside",{className:"mcp-aside",children:[e.jsxs("div",{className:"mcp-aside-head",children:[e.jsxs("div",{className:"mcp-aside-title",children:[e.jsx("h1",{className:"mcp-aside-name",children:"MCP Tools"}),e.jsx("span",{className:"mcp-aside-count",children:o?"error":r.length})]}),e.jsx("input",{value:m,onChange:t=>N(t.currentTarget.value),placeholder:"filter…",className:"mcp-filter","aria-label":"Filter tools"}),e.jsx("button",{onClick:()=>void l(),className:"mcp-refresh",children:"refresh"})]}),o&&e.jsx("p",{className:"mcp-error",children:o}),e.jsx("ul",{children:w.map(t=>e.jsx("li",{children:e.jsxs("button",{onClick:()=>c(t.name),className:O("mcp-tool",t.name===n&&"mcp-tool-active"),children:[e.jsx("div",{children:t.name}),t.description&&e.jsx("div",{className:"mcp-tool-desc",children:t.description})]})},t.name))})]}),e.jsx("section",{className:"mcp-main",children:p?e.jsxs("div",{className:"mcp-content",children:[e.jsxs("header",{className:"mb-4",children:[e.jsx("h2",{className:"mcp-title",children:p.name}),p.description&&e.jsx("p",{className:"mcp-desc",children:p.description})]}),e.jsxs("div",{className:"mcp-panel",children:[e.jsxs("div",{className:"mcp-panel-head",children:[e.jsx("h3",{className:"mcp-panel-title",children:"Arguments"}),e.jsxs("label",{className:"mcp-raw-toggle",children:[e.jsx("input",{type:"checkbox",checked:f,onChange:t=>y(t.currentTarget.checked)}),"raw JSON"]})]}),f?e.jsx("textarea",{value:u,onChange:t=>h(t.currentTarget.value),rows:Math.min(14,Math.max(4,u.split(` -`).length)),className:"mcp-textarea",spellCheck:!1}):k.length===0?e.jsx("p",{className:"mcp-empty-params",children:"(no parameters)"}):e.jsx("div",{className:"space-y-3",children:k.map(t=>e.jsx(z,{spec:t,value:S[t.name]??"",onChange:g=>b(j=>({...j,[t.name]:g}))},t.name))}),e.jsxs("div",{className:"mcp-run-row",children:[e.jsx(J,{onClick:E,disabled:C,size:"sm",children:C?"running…":"Run"}),x&&e.jsx("span",{className:"text-xs text-destructive",children:x})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"mcp-panel-title mb-2",children:"History"}),s.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"No calls yet."}),e.jsx("div",{className:"mcp-history",children:s.map(t=>e.jsxs("details",{className:"mcp-history-item",open:t===s[0],children:[e.jsxs("summary",{className:"mcp-history-head",children:[e.jsx("span",{className:"mcp-history-name",children:t.tool}),e.jsxs("span",{className:"mcp-history-ms",children:[t.tookMs,"ms"]}),t.error?e.jsx("span",{className:"mcp-history-err",children:t.error}):e.jsx("span",{className:"mcp-history-ok",children:"ok"})]}),e.jsx("pre",{className:"mcp-history-body",children:`args: -${JSON.stringify(t.args,null,2)} - -result: -${JSON.stringify(t.result,null,2)}`})]},t.id))})]})]}):e.jsx("div",{className:"mcp-content text-sm text-muted-foreground",children:r.length?"Pick a tool on the left.":"Connecting to MCP…"})})]})}function z({spec:s,value:a,onChange:r}){var l;const o=e.jsxs("label",{className:"param-label",children:[e.jsx("span",{className:"param-name",children:s.name}),e.jsxs("span",{className:"param-type",children:[":",s.type]}),s.required&&e.jsx("span",{className:"param-required",children:"*"}),s.description&&e.jsx("span",{className:"param-desc",children:s.description})]});return(l=s.enum)!=null&&l.length?e.jsxs("div",{children:[o,e.jsxs("select",{value:a,onChange:n=>r(n.currentTarget.value),className:"param-input",children:[e.jsx("option",{value:"",children:"—"}),s.enum.map(n=>e.jsx("option",{value:String(n),children:String(n)},String(n)))]})]}):s.type==="boolean"?e.jsxs("div",{children:[o,e.jsxs("select",{value:a,onChange:n=>r(n.currentTarget.value),className:"param-input",children:[e.jsx("option",{value:"",children:"—"}),e.jsx("option",{value:"true",children:"true"}),e.jsx("option",{value:"false",children:"false"})]})]}):s.type==="array"||s.type==="object"?e.jsxs("div",{children:[o,e.jsx("textarea",{value:a,onChange:n=>r(n.currentTarget.value),rows:3,placeholder:s.type==="array"?"[]":"{}",className:"param-input",spellCheck:!1})]}):e.jsxs("div",{children:[o,e.jsx("input",{value:a,onChange:n=>r(n.currentTarget.value),type:s.type==="number"||s.type==="integer"?"number":"text",className:"param-input"})]})}export{D as default}; diff --git a/ui/dist/assets/NoteEditor-XWs05OuT.js b/ui/dist/assets/NoteEditor-XWs05OuT.js deleted file mode 100644 index a27ce33..0000000 --- a/ui/dist/assets/NoteEditor-XWs05OuT.js +++ /dev/null @@ -1 +0,0 @@ -import{R as q,f as Ir,e as Dr,k as jr,h as Zr,l as Lr,r as Mr,j as ue}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";var We=t=>t.type==="checkbox",Ae=t=>t instanceof Date,J=t=>t==null;const fr=t=>typeof t=="object";var M=t=>!J(t)&&!Array.isArray(t)&&fr(t)&&!Ae(t),$r=t=>M(t)&&t.target?We(t.target)?t.target.checked:t.target.value:t,Pr=(t,e)=>e.split(".").some((r,s,i)=>!isNaN(Number(r))&&t.has(i.slice(0,s).join("."))),Ur=t=>{const e=t.constructor&&t.constructor.prototype;return M(e)&&e.hasOwnProperty("isPrototypeOf")},xt=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function U(t){if(t instanceof Date)return new Date(t);const e=typeof FileList<"u"&&t instanceof FileList;if(xt&&(t instanceof Blob||e))return t;const r=Array.isArray(t);if(!r&&!(M(t)&&Ur(t)))return t;const s=r?[]:Object.create(Object.getPrototypeOf(t));for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=U(t[i]));return s}var tt=t=>/^\w*$/.test(t),L=t=>t===void 0,bt=t=>Array.isArray(t)?t.filter(Boolean):[],kt=t=>bt(t.replace(/["|']|\]/g,"").split(/\.|\[/)),p=(t,e,r)=>{if(!e||!M(t))return r;const s=(tt(e)?[e]:kt(e)).reduce((i,a)=>J(i)?i:i[a],t);return L(s)||s===t?L(t[e])?r:t[e]:s},le=t=>typeof t=="boolean",se=t=>typeof t=="function",D=(t,e,r)=>{let s=-1;const i=tt(e)?[e]:kt(e),a=i.length,o=a-1;for(;++s{const i={defaultValues:e._defaultValues};for(const a in t)Object.defineProperty(i,a,{get:()=>{const o=a;return e._proxyFormState[o]!==ae.all&&(e._proxyFormState[o]=!s||ae.all),t[o]}});return i};const Wr=typeof window<"u"?q.useLayoutEffect:q.useEffect;var G=t=>typeof t=="string",qr=(t,e,r,s,i)=>G(t)?(s&&e.watch.add(t),p(r,t,i)):Array.isArray(t)?t.map(a=>(s&&e.watch.add(a),p(r,a))):(s&&(e.watchAll=!0),r),ht=t=>J(t)||!fr(t);function pe(t,e,r=new WeakSet){if(ht(t)||ht(e))return Object.is(t,e);if(Ae(t)&&Ae(e))return Object.is(t.getTime(),e.getTime());const s=Object.keys(t),i=Object.keys(e);if(s.length!==i.length)return!1;if(r.has(t)||r.has(e))return!0;r.add(t),r.add(e);for(const a of s){const o=t[a];if(!i.includes(a))return!1;if(a!=="ref"){const d=e[a];if(Ae(o)&&Ae(d)||(M(o)||Array.isArray(o))&&(M(d)||Array.isArray(d))?!pe(o,d,r):!Object.is(o,d))return!1}}return!0}const Hr=q.createContext(null);Hr.displayName="HookFormContext";var mr=(t,e,r,s,i)=>e?{...r[t],types:{...r[t]&&r[t].types?r[t].types:{},[s]:i||!0}}:{},$e=t=>Array.isArray(t)?t:[t],Lt=()=>{let t=[];return{get observers(){return t},next:i=>{for(const a of t)a.next&&a.next(i)},subscribe:i=>(t.push(i),{unsubscribe:()=>{t=t.filter(a=>a!==i)}}),unsubscribe:()=>{t=[]}}};function yr(t,e){const r={};for(const s in t)if(t.hasOwnProperty(s)){const i=t[s],a=e[s];if(i&&M(i)&&a){const o=yr(i,a);M(o)&&(r[s]=o)}else t[s]&&(r[s]=a)}return r}var H=t=>M(t)&&!Object.keys(t).length,wt=t=>t.type==="file",Ge=t=>{if(!xt)return!1;const e=t?t.ownerDocument:0;return t instanceof(e&&e.defaultView?e.defaultView.HTMLElement:HTMLElement)},gr=t=>t.type==="select-multiple",At=t=>t.type==="radio",Gr=t=>At(t)||We(t),lt=t=>Ge(t)&&t.isConnected;function Yr(t,e){const r=e.slice(0,-1).length;let s=0;for(;s{for(const e in t)if(se(t[e]))return!0;return!1};function vr(t){return Array.isArray(t)||M(t)&&!Qr(t)}function mt(t,e={}){for(const r in t){const s=t[r];vr(s)?(e[r]=Array.isArray(s)?[]:{},mt(s,e[r])):L(s)||(e[r]=!0)}return e}function Le(t,e,r){r||(r=mt(e));for(const s in t){const i=t[s];if(vr(i))L(e)||ht(r[s])?r[s]=mt(i,Array.isArray(i)?[]:{}):Le(i,J(e)?{}:e[s],r[s]);else{const a=e[s];r[s]=!pe(i,a)}}return r}const Mt={value:!1,isValid:!1},$t={value:!0,isValid:!0};var pr=t=>{if(Array.isArray(t)){if(t.length>1){const e=t.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:e,isValid:!!e.length}}return t[0].checked&&!t[0].disabled?t[0].attributes&&!L(t[0].attributes.value)?L(t[0].value)||t[0].value===""?$t:{value:t[0].value,isValid:!0}:$t:Mt}return Mt},_r=(t,{valueAsNumber:e,valueAsDate:r,setValueAs:s})=>L(t)?t:e?t===""?NaN:t&&+t:r&&G(t)?new Date(t):s?s(t):t;const Pt={isValid:!1,value:null};var xr=t=>Array.isArray(t)?t.reduce((e,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:e,Pt):Pt;function Ut(t){const e=t.ref;return wt(e)?e.files:At(e)?xr(t.refs).value:gr(e)?[...e.selectedOptions].map(({value:r})=>r):We(e)?pr(t.refs).value:_r(L(e.value)?t.ref.value:e.value,t)}var Xr=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,Kr=(t,e,r,s)=>{const i={};for(const a of t){const o=p(e,a);o&&D(i,a,o._f)}return{criteriaMode:r,names:[...t],fields:i,shouldUseNativeValidation:s}},Ye=t=>t instanceof RegExp,Ze=t=>L(t)?t:Ye(t)?t.source:M(t)?Ye(t.value)?t.value.source:t.value:t,Bt=t=>({isOnSubmit:!t||t===ae.onSubmit,isOnBlur:t===ae.onBlur,isOnChange:t===ae.onChange,isOnAll:t===ae.all,isOnTouch:t===ae.onTouched});const zt="AsyncFunction";var es=t=>!!t&&!!t.validate&&!!(se(t.validate)&&t.validate.constructor.name===zt||M(t.validate)&&Object.values(t.validate).find(e=>e.constructor.name===zt)),ts=t=>t.mount&&(t.required||t.min||t.max||t.maxLength||t.minLength||t.pattern||t.validate),Wt=(t,e,r)=>!r&&(e.watchAll||e.watch.has(t)||[...e.watch].some(s=>t.startsWith(s)&&/^\.\w+/.test(t.slice(s.length))));const Pe=(t,e,r,s)=>{for(const i of r||Object.keys(t)){const a=p(t,i);if(a){const{_f:o,...d}=a;if(o){if(o.refs&&o.refs[0]&&e(o.refs[0],i)&&!s)return!0;if(o.ref&&e(o.ref,o.name)&&!s)return!0;if(Pe(d,e))break}else if(M(d)&&Pe(d,e))break}}};function qt(t,e,r){const s=p(t,r);if(s||tt(r))return{error:s,name:r};const i=r.split(".");for(;i.length;){const a=i.join("."),o=p(e,a),d=p(t,a);if(o&&!Array.isArray(o)&&r!==a)return{name:r};if(d&&d.type)return{name:a,error:d};if(d&&d.root&&d.root.type)return{name:`${a}.root`,error:d.root};i.pop()}return{name:r}}var rs=(t,e,r,s)=>{r(t);const{name:i,...a}=t;return H(a)||Object.keys(a).length>=Object.keys(e).length||Object.keys(a).find(o=>e[o]===(!s||ae.all))},ss=(t,e,r)=>!t||!e||t===e||$e(t).some(s=>s&&(r?s===e:s.startsWith(e)||e.startsWith(s))),as=(t,e,r,s,i)=>i.isOnAll?!1:!r&&i.isOnTouch?!(e||t):(r?s.isOnBlur:i.isOnBlur)?!t:(r?s.isOnChange:i.isOnChange)?t:!0,is=(t,e)=>!bt(p(t,e)).length&&$(t,e),ns=(t,e,r)=>{const s=$e(p(t,r));return D(s,hr,e[r]),D(t,r,s),t};function Ht(t,e,r="validate"){if(G(t)||Array.isArray(t)&&t.every(G)||le(t)&&!t)return{type:r,message:G(t)?t:"",ref:e}}var Ve=t=>M(t)&&!Ye(t)?t:{value:t,message:""},Gt=async(t,e,r,s,i,a)=>{const{ref:o,refs:d,required:f,maxLength:y,minLength:k,min:O,max:Z,pattern:V,validate:fe,name:Q,valueAsNumber:ie,mount:K}=t._f,N=p(r,Q);if(!K||e.has(Q))return{};const he=d?d[0]:o,me=T=>{i&&he.reportValidity&&(he.setCustomValidity(le(T)?"":T||""),he.reportValidity())},B={},Fe=At(o),Ie=We(o),rt=Fe||Ie,ne=(ie||wt(o))&&L(o.value)&&L(N)||Ge(o)&&o.value===""||N===""||Array.isArray(N)&&!N.length,we=mr.bind(null,Q,s,B),De=(T,I,j,z=re.maxLength,oe=re.minLength)=>{const te=T?I:j;B[Q]={type:T?z:oe,message:te,ref:o,...we(T?z:oe,te)}};if(a?!Array.isArray(N)||!N.length:f&&(!rt&&(ne||J(N))||le(N)&&!N||Ie&&!pr(d).isValid||Fe&&!xr(d).isValid)){const{value:T,message:I}=G(f)?{value:!!f,message:f}:Ve(f);if(T&&(B[Q]={type:re.required,message:I,ref:he,...we(re.required,I)},!s))return me(I),B}if(!ne&&(!J(O)||!J(Z))){let T,I;const j=Ve(Z),z=Ve(O);if(!J(N)&&!isNaN(N)){const oe=o.valueAsNumber||N&&+N;J(j.value)||(T=oe>j.value),J(z.value)||(I=oenew Date(new Date().toDateString()+" "+qe),je=o.type=="time",ge=o.type=="week";G(j.value)&&N&&(T=je?te(N)>te(j.value):ge?N>j.value:oe>new Date(j.value)),G(z.value)&&N&&(I=je?te(N)+T.value,z=!J(I.value)&&N.length<+I.value;if((j||z)&&(De(j,T.message,I.message),!s))return me(B[Q].message),B}if(V&&!ne&&G(N)){const{value:T,message:I}=Ve(V);if(Ye(T)&&!N.match(T)&&(B[Q]={type:re.pattern,message:I,ref:o,...we(re.pattern,I)},!s))return me(I),B}if(fe){if(se(fe)){const T=await fe(N,r),I=Ht(T,he);if(I&&(B[Q]={...I,...we(re.validate,I.message)},!s))return me(I.message),B}else if(M(fe)){let T={};for(const I in fe){if(!H(T)&&!s)break;const j=Ht(await fe[I](N,r),he,I);j&&(T={...j,...we(I,j.message)},me(j.message),s&&(B[Q]=T))}if(!H(T)&&(B[Q]={ref:he,...T},!s))return B}}return me(!0),B};const os={mode:ae.onSubmit,reValidateMode:ae.onChange,shouldFocusError:!0};function ds(t={}){let e={...os,...t},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:se(e.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1},s={},i=M(e.defaultValues)||M(e.values)?U(e.defaultValues||e.values)||{}:{},a=e.shouldUnregister?{}:U(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},f,y=0;const k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},O={...k};let Z={...O};const V={array:Lt(),state:Lt()},fe=e.criteriaMode===ae.all,Q=n=>u=>{clearTimeout(y),y=setTimeout(n,u)},ie=async n=>{if(!o.keepIsValid&&!e.disabled&&(O.isValid||Z.isValid||n)){let u;e.resolver?(u=H((await ne()).errors),K()):u=await T({fields:s,onlyCheckValid:!0,eventType:Ce.VALID}),u!==r.isValid&&V.state.next({isValid:u})}},K=(n,u)=>{!e.disabled&&(O.isValidating||O.validatingFields||Z.isValidating||Z.validatingFields)&&((n||Array.from(d.mount)).forEach(l=>{l&&(u?D(r.validatingFields,l,u):$(r.validatingFields,l))}),V.state.next({validatingFields:r.validatingFields,isValidating:!H(r.validatingFields)}))},N=n=>{const u=Le(i,a),l=Xr(n);D(r.dirtyFields,l,p(u,l))},he=(n,u=[],l,g,m=!0,h=!0)=>{if(g&&l&&!e.disabled){if(o.action=!0,h&&Array.isArray(p(s,n))){const _=l(p(s,n),g.argA,g.argB);m&&D(s,n,_)}if(h&&Array.isArray(p(r.errors,n))){const _=l(p(r.errors,n),g.argA,g.argB);m&&D(r.errors,n,_),is(r.errors,n)}if((O.touchedFields||Z.touchedFields)&&h&&Array.isArray(p(r.touchedFields,n))){const _=l(p(r.touchedFields,n),g.argA,g.argB);m&&D(r.touchedFields,n,_)}(O.dirtyFields||Z.dirtyFields)&&N(n),V.state.next({name:n,isDirty:j(n,u),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else D(a,n,u)},me=(n,u)=>{D(r.errors,n,u),V.state.next({errors:r.errors})},B=n=>{r.errors=n,V.state.next({errors:r.errors,isValid:!1})},Fe=(n,u,l,g)=>{const m=p(s,n);if(m){const h=p(a,n,L(l)?p(i,n):l);L(h)||g&&g.defaultChecked||u?D(a,n,u?h:Ut(m._f)):te(n,h),o.mount&&!o.action&&ie()}},Ie=(n,u,l,g,m)=>{let h=!1,_=!1;const S={name:n};if(!e.disabled){if(!l||g){(O.isDirty||Z.isDirty)&&(_=r.isDirty,r.isDirty=S.isDirty=j(),h=_!==S.isDirty);const F=pe(p(i,n),u);_=!!p(r.dirtyFields,n),F?$(r.dirtyFields,n):D(r.dirtyFields,n,!0),S.dirtyFields=r.dirtyFields,h=h||(O.dirtyFields||Z.dirtyFields)&&_!==!F}if(l){const F=p(r.touchedFields,n);F||(D(r.touchedFields,n,l),S.touchedFields=r.touchedFields,h=h||(O.touchedFields||Z.touchedFields)&&F!==l)}h&&m&&V.state.next(S)}return h?S:{}},rt=(n,u,l,g)=>{const m=p(r.errors,n),h=(O.isValid||Z.isValid)&&le(u)&&r.isValid!==u;if(e.delayError&&l?(f=Q(()=>me(n,l)),f(e.delayError)):(clearTimeout(y),f=null,l?D(r.errors,n,l):$(r.errors,n)),(l?!pe(m,l):m)||!H(g)||h){const _={...g,...h&&le(u)?{isValid:u}:{},errors:r.errors,name:n};r={...r,..._},V.state.next(_)}},ne=async n=>(K(n,!0),await e.resolver(a,e.context,Kr(n||d.mount,s,e.criteriaMode,e.shouldUseNativeValidation))),we=async n=>{const{errors:u}=await ne(n);if(K(n),n)for(const l of n){const g=p(u,l);g?D(r.errors,l,g):$(r.errors,l)}else r.errors=u;return u},De=async({name:n,eventType:u})=>{if(t.validate){const l=await t.validate({formValues:a,formState:r,name:n,eventType:u});if(M(l))for(const g in l)l[g]&&He(`${ut}.${g}`,{message:G(l.message)?l.message:"",type:re.validate});else G(l)||!l?He(ut,{message:l||"",type:re.validate}):Ot(ut);return l}return!0},T=async({fields:n,onlyCheckValid:u,name:l,eventType:g,context:m={valid:!0,runRootValidation:!1}})=>{if(t.validate&&(m.runRootValidation=!0,!await De({name:l,eventType:g})&&(m.valid=!1,u)))return m.valid;for(const h in n){const _=n[h];if(_){const{_f:S,...F}=_;if(S){const W=d.array.has(S.name),de=_._f&&es(_._f);de&&O.validatingFields&&K([S.name],!0);const Y=await Gt(_,d.disabled,a,fe,e.shouldUseNativeValidation&&!u,W);if(de&&O.validatingFields&&K([S.name]),Y[S.name]&&(m.valid=!1,u)||(!u&&(p(Y,S.name)?W?ns(r.errors,Y,S.name):D(r.errors,S.name,Y[S.name]):$(r.errors,S.name)),t.shouldUseNativeValidation&&Y[S.name]))break}!H(F)&&await T({context:m,onlyCheckValid:u,fields:F,name:h,eventType:g})}}return m.valid},I=()=>{for(const n of d.unMount){const u=p(s,n);u&&(u._f.refs?u._f.refs.every(l=>!lt(l)):!lt(u._f.ref))&&at(n)}d.unMount=new Set},j=(n,u)=>!e.disabled&&(n&&u&&D(a,n,u),!pe(Vt(),i)),z=(n,u,l)=>qr(n,d,{...o.mount?a:L(u)?i:G(n)?{[n]:u}:u},l,u),oe=n=>bt(p(o.mount?a:i,n,e.shouldUnregister?p(i,n,[]):[])),te=(n,u,l={})=>{const g=p(s,n);let m=u;if(g){const h=g._f;h&&(!h.disabled&&D(a,n,_r(u,h)),m=Ge(h.ref)&&J(u)?"":u,gr(h.ref)?[...h.ref.options].forEach(_=>_.selected=m.includes(_.value)):h.refs?We(h.ref)?h.refs.forEach(_=>{(!_.defaultChecked||!_.disabled)&&(Array.isArray(m)?_.checked=!!m.find(S=>S===_.value):_.checked=m===_.value||!!m)}):h.refs.forEach(_=>_.checked=_.value===m):wt(h.ref)?h.ref.value="":(h.ref.value=m,h.ref.type||V.state.next({name:n,values:U(a)})))}(l.shouldDirty||l.shouldTouch)&&Ie(n,m,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&st(n)},je=(n,u,l)=>{for(const g in u){if(!u.hasOwnProperty(g))return;const m=u[g],h=n+"."+g,_=p(s,h);(d.array.has(n)||M(m)||_&&!_._f)&&!Ae(m)?je(h,m,l):te(h,m,l)}},ge=(n,u,l={})=>{const g=p(s,n),m=d.array.has(n),h=U(u);D(a,n,h),m?(V.array.next({name:n,values:U(a)}),(O.isDirty||O.dirtyFields||Z.isDirty||Z.dirtyFields)&&l.shouldDirty&&(N(n),V.state.next({name:n,dirtyFields:r.dirtyFields,isDirty:j(n,h)}))):g&&!g._f&&!J(h)?je(n,h,l):te(n,h,l),Wt(n,d)?V.state.next({...r,name:n,values:U(a)}):V.state.next({name:o.mount?n:void 0,values:U(a)})},qe=async n=>{o.mount=!0;const u=n.target;let l=u.name,g=!0;const m=p(s,l),h=F=>{g=Number.isNaN(F)||Ae(F)&&isNaN(F.getTime())||pe(F,p(a,l,F))},_=Bt(e.mode),S=Bt(e.reValidateMode);if(m){let F,W;const de=u.type?Ut(m._f):$r(n),Y=n.type===Ce.BLUR||n.type===Ce.FOCUS_OUT,Nr=!ts(m._f)&&!t.validate&&!e.resolver&&!p(r.errors,l)&&!m._f.deps||as(Y,p(r.touchedFields,l),r.isSubmitted,S,_),ot=Wt(l,d,Y);D(a,l,de),Y?(!u||!u.readOnly)&&(m._f.onBlur&&m._f.onBlur(n),f&&f(0)):m._f.onChange&&m._f.onChange(n);const dt=Ie(l,de,Y),Rr=!H(dt)||ot;if(!Y&&V.state.next({name:l,type:n.type,values:U(a)}),Nr)return(O.isValid||Z.isValid)&&(e.mode==="onBlur"?Y&&ie():Y||ie()),Rr&&V.state.next({name:l,...ot?{}:dt});if(!e.resolver&&t.validate&&await De({name:l,eventType:n.type}),!Y&&ot&&V.state.next({...r}),e.resolver){const{errors:jt}=await ne([l]);if(K([l]),h(de),g){const Fr=qt(r.errors,s,l),Zt=qt(jt,s,Fr.name||l);F=Zt.error,l=Zt.name,W=H(jt)}}else K([l],!0),F=(await Gt(m,d.disabled,a,fe,e.shouldUseNativeValidation))[l],K([l]),h(de),g&&(F?W=!1:(O.isValid||Z.isValid)&&(W=await T({fields:s,onlyCheckValid:!0,name:l,eventType:n.type})));g&&(m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&st(m._f.deps),rt(l,W,F,dt))}},Ct=(n,u)=>{if(p(r.errors,u)&&n.focus)return n.focus(),1},st=async(n,u={})=>{let l,g;const m=$e(n);if(e.resolver){const h=await we(L(n)?n:m);l=H(h),g=n?!m.some(_=>p(h,_)):l}else n?(g=(await Promise.all(m.map(async h=>{const _=p(s,h);return await T({fields:_&&_._f?{[h]:_}:_,eventType:Ce.TRIGGER})}))).every(Boolean),!(!g&&!r.isValid)&&ie()):g=l=await T({fields:s,name:n,eventType:Ce.TRIGGER});return V.state.next({...!G(n)||(O.isValid||Z.isValid)&&l!==r.isValid?{}:{name:n},...e.resolver||!n?{isValid:l}:{},errors:r.errors}),u.shouldFocus&&!g&&Pe(s,Ct,n?m:d.mount),g},Vt=(n,u)=>{let l={...o.mount?a:i};return u&&(l=yr(u.dirtyFields?r.dirtyFields:r.touchedFields,l)),L(n)?l:G(n)?p(l,n):n.map(g=>p(l,g))},Tt=(n,u)=>({invalid:!!p((u||r).errors,n),isDirty:!!p((u||r).dirtyFields,n),error:p((u||r).errors,n),isValidating:!!p(r.validatingFields,n),isTouched:!!p((u||r).touchedFields,n)}),Ot=n=>{const u=n?$e(n):void 0;u==null||u.forEach(l=>$(r.errors,l)),u?u.forEach(l=>{V.state.next({name:l,errors:r.errors})}):V.state.next({errors:{}})},He=(n,u,l)=>{const g=(p(s,n,{_f:{}})._f||{}).ref,m=p(r.errors,n)||{},{ref:h,message:_,type:S,...F}=m;D(r.errors,n,{...F,...u,ref:g}),V.state.next({name:n,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&g&&g.focus&&g.focus()},Sr=(n,u)=>se(n)?V.state.subscribe({next:l=>"values"in l&&n(z(void 0,u),l)}):z(n,u,!0),Et=n=>V.state.subscribe({next:u=>{ss(n.name,u.name,n.exact)&&rs(u,n.formState||O,Er,n.reRenderRoot)&&n.callback({values:{...a},...r,...u,defaultValues:i})}}).unsubscribe,Cr=n=>(o.mount=!0,Z={...Z,...n.formState},Et({...n,formState:{...k,...n.formState}})),at=(n,u={})=>{for(const l of n?$e(n):d.mount)d.mount.delete(l),d.array.delete(l),u.keepValue||($(s,l),$(a,l)),!u.keepError&&$(r.errors,l),!u.keepDirty&&$(r.dirtyFields,l),!u.keepTouched&&$(r.touchedFields,l),!u.keepIsValidating&&$(r.validatingFields,l),!e.shouldUnregister&&!u.keepDefaultValue&&$(i,l);V.state.next({values:U(a)}),V.state.next({...r,...u.keepDirty?{isDirty:j()}:{}}),!u.keepIsValid&&ie()},Nt=({disabled:n,name:u})=>{if(le(n)&&o.mount||n||d.disabled.has(u)){const m=d.disabled.has(u)!==!!n;n?d.disabled.add(u):d.disabled.delete(u),m&&o.mount&&!o.action&&ie()}},it=(n,u={})=>{let l=p(s,n);const g=le(u.disabled)||le(e.disabled),m=!d.registerName.has(n)&&l&&!l._f.mount;return D(s,n,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:n}},name:n,mount:!0,...u}}),d.mount.add(n),l&&!m?Nt({disabled:le(u.disabled)?u.disabled:e.disabled,name:n}):Fe(n,!0,u.value),{...g?{disabled:u.disabled||e.disabled}:{},...e.progressive?{required:!!u.required,min:Ze(u.min),max:Ze(u.max),minLength:Ze(u.minLength),maxLength:Ze(u.maxLength),pattern:Ze(u.pattern)}:{},name:n,onChange:qe,onBlur:qe,ref:h=>{if(h){d.registerName.add(n),it(n,u),d.registerName.delete(n),l=p(s,n);const _=L(h.value)&&h.querySelectorAll&&h.querySelectorAll("input,select,textarea")[0]||h,S=Gr(_),F=l._f.refs||[];if(S?F.find(W=>W===_):_===l._f.ref)return;D(s,n,{_f:{...l._f,...S?{refs:[...F.filter(lt),_,...Array.isArray(p(i,n))?[{}]:[]],ref:{type:_.type,name:n}}:{ref:_}}}),Fe(n,!1,void 0,_)}else l=p(s,n,{}),l._f&&(l._f.mount=!1),(e.shouldUnregister||u.shouldUnregister)&&!(Pr(d.array,n)&&o.action)&&d.unMount.add(n)}}},nt=()=>e.shouldFocusError&&Pe(s,Ct,d.mount),Vr=n=>{le(n)&&(V.state.next({disabled:n}),Pe(s,(u,l)=>{const g=p(s,l);g&&(u.disabled=g._f.disabled||n,Array.isArray(g._f.refs)&&g._f.refs.forEach(m=>{m.disabled=g._f.disabled||n}))},0,!1))},Rt=(n,u)=>async l=>{let g;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let m=U(a);if(V.state.next({isSubmitting:!0}),e.resolver){const{errors:h,values:_}=await ne();K(),r.errors=h,m=U(_)}else await T({fields:s,eventType:Ce.SUBMIT});if(d.disabled.size)for(const h of d.disabled)$(m,h);if($(r.errors,hr),H(r.errors)){V.state.next({errors:{}});try{await n(m,l)}catch(h){g=h}}else u&&await u({...r.errors},l),nt(),setTimeout(nt);if(V.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:H(r.errors)&&!g,submitCount:r.submitCount+1,errors:r.errors}),g)throw g},Tr=(n,u={})=>{p(s,n)&&(L(u.defaultValue)?ge(n,U(p(i,n))):(ge(n,u.defaultValue),D(i,n,U(u.defaultValue))),u.keepTouched||$(r.touchedFields,n),u.keepDirty||($(r.dirtyFields,n),r.isDirty=u.defaultValue?j(n,U(p(i,n))):j()),u.keepError||($(r.errors,n),O.isValid&&ie()),V.state.next({...r}))},Ft=(n,u={})=>{const l=n?U(n):i,g=U(l),m=H(n),h=m?i:g;if(u.keepDefaultValues||(i=l),!u.keepValues){if(u.keepDirtyValues){const _=new Set([...d.mount,...Object.keys(Le(i,a))]);for(const S of Array.from(_)){const F=p(r.dirtyFields,S),W=p(a,S),de=p(h,S);F&&!L(W)?D(h,S,W):!F&&!L(de)&&ge(S,de)}}else{if(xt&&L(n))for(const _ of d.mount){const S=p(s,_);if(S&&S._f){const F=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(Ge(F)){const W=F.closest("form");if(W){W.reset();break}}}}if(u.keepFieldsRef)for(const _ of d.mount)ge(_,p(h,_));else s={}}a=e.shouldUnregister?u.keepDefaultValues?U(i):{}:U(h),V.array.next({values:{...h}}),V.state.next({values:{...h}})}d={mount:u.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!O.isValid||!!u.keepIsValid||!!u.keepDirtyValues||!e.shouldUnregister&&!H(h),o.watch=!!e.shouldUnregister,o.keepIsValid=!!u.keepIsValid,o.action=!1,u.keepErrors||(r.errors={}),V.state.next({submitCount:u.keepSubmitCount?r.submitCount:0,isDirty:m?!1:u.keepDirty?r.isDirty:!!(u.keepDefaultValues&&!pe(n,i)),isSubmitted:u.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:m?{}:u.keepDirtyValues?u.keepDefaultValues&&a?Le(i,a):r.dirtyFields:u.keepDefaultValues&&n?Le(i,n):u.keepDirty?r.dirtyFields:{},touchedFields:u.keepTouched?r.touchedFields:{},errors:u.keepErrors?r.errors:{},isSubmitSuccessful:u.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},It=(n,u)=>Ft(se(n)?n(a):n,{...e.resetOptions,...u}),Or=(n,u={})=>{const l=p(s,n),g=l&&l._f;if(g){const m=g.refs?g.refs[0]:g.ref;m.focus&&setTimeout(()=>{m.focus(),u.shouldSelect&&se(m.select)&&m.select()})}},Er=n=>{r={...r,...n}},Dt={control:{register:it,unregister:at,getFieldState:Tt,handleSubmit:Rt,setError:He,_subscribe:Et,_runSchema:ne,_updateIsValidating:K,_focusError:nt,_getWatch:z,_getDirty:j,_setValid:ie,_setFieldArray:he,_setDisabledField:Nt,_setErrors:B,_getFieldArray:oe,_reset:Ft,_resetDefaultValues:()=>se(e.defaultValues)&&e.defaultValues().then(n=>{It(n,e.resetOptions),V.state.next({isLoading:!1})}),_removeUnmounted:I,_disableForm:Vr,_subjects:V,_proxyFormState:O,get _fields(){return s},get _formValues(){return a},get _state(){return o},set _state(n){o=n},get _defaultValues(){return i},get _names(){return d},set _names(n){d=n},get _formState(){return r},get _options(){return e},set _options(n){e={...e,...n}}},subscribe:Cr,trigger:st,register:it,handleSubmit:Rt,watch:Sr,setValue:ge,getValues:Vt,reset:It,resetField:Tr,clearErrors:Ot,unregister:at,setError:He,setFocus:Or,getFieldState:Tt};return{...Dt,formControl:Dt}}function us(t={}){const e=q.useRef(void 0),r=q.useRef(void 0),[s,i]=q.useState({isDirty:!1,isValidating:!1,isLoading:se(t.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1,isReady:!1,defaultValues:se(t.defaultValues)?void 0:t.defaultValues});if(!e.current)if(t.formControl)e.current={...t.formControl,formState:s},t.defaultValues&&!se(t.defaultValues)&&t.formControl.reset(t.defaultValues,t.resetOptions);else{const{formControl:o,...d}=ds(t);e.current={...d,formState:s}}const a=e.current.control;return a._options=t,Wr(()=>{const o=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(d=>({...d,isReady:!0})),a._formState.isReady=!0,o},[a]),q.useEffect(()=>a._disableForm(t.disabled),[a,t.disabled]),q.useEffect(()=>{t.mode&&(a._options.mode=t.mode),t.reValidateMode&&(a._options.reValidateMode=t.reValidateMode)},[a,t.mode,t.reValidateMode]),q.useEffect(()=>{t.errors&&(a._setErrors(t.errors),a._focusError())},[a,t.errors]),q.useEffect(()=>{t.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,t.shouldUnregister]),q.useEffect(()=>{if(a._proxyFormState.isDirty){const o=a._getDirty();o!==s.isDirty&&a._subjects.state.next({isDirty:o})}},[a,s.isDirty]),q.useEffect(()=>{var o;t.values&&!pe(t.values,r.current)?(a._reset(t.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((o=a._options.resetOptions)===null||o===void 0)&&o.keepIsValid||a._setValid(),r.current=t.values,i(d=>({...d}))):a._resetDefaultValues()},[a,t.values]),q.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),e.current.formState=q.useMemo(()=>zr(s,a),[a,s]),e.current}const Yt=(t,e,r)=>{if(t&&"reportValidity"in t){const s=p(r,e);t.setCustomValidity(s&&s.message||""),t.reportValidity()}},br=(t,e)=>{for(const r in e.fields){const s=e.fields[r];s&&s.ref&&"reportValidity"in s.ref?Yt(s.ref,r,t):s.refs&&s.refs.forEach(i=>Yt(i,r,t))}},ls=(t,e)=>{e.shouldUseNativeValidation&&br(t,e);const r={};for(const s in t){const i=p(e.fields,s),a=Object.assign(t[s]||{},{ref:i&&i.ref});if(cs(e.names||Object.keys(t),s)){const o=Object.assign({},p(r,s));D(o,"root",a),D(r,s,o)}else D(r,s,a)}return r},cs=(t,e)=>t.some(r=>r.startsWith(e+"."));var fs=function(t,e){for(var r={};t.length;){var s=t[0],i=s.code,a=s.message,o=s.path.join(".");if(!r[o])if("unionErrors"in s){var d=s.unionErrors[0].errors[0];r[o]={message:d.message,type:d.code}}else r[o]={message:a,type:i};if("unionErrors"in s&&s.unionErrors.forEach(function(k){return k.errors.forEach(function(O){return t.push(O)})}),e){var f=r[o].types,y=f&&f[s.code];r[o]=mr(o,e,r,i,y?[].concat(y,s.message):s.message)}t.shift()}return r},hs=function(t,e,r){return r===void 0&&(r={}),function(s,i,a){try{return Promise.resolve((function(o,d){try{var f=Promise.resolve(t[r.mode==="sync"?"parse":"parseAsync"](s,e)).then(function(y){return a.shouldUseNativeValidation&&br({},a),{errors:{},values:r.raw?s:y}})}catch(y){return d(y)}return f&&f.then?f.then(void 0,d):f})(0,function(o){if((function(d){return Array.isArray(d==null?void 0:d.errors)})(o))return{values:{},errors:ls(fs(o.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw o}))}catch(o){return Promise.reject(o)}}},R;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{const a={};for(const o of i)a[o]=o;return a},t.getValidEnumValues=i=>{const a=t.objectKeys(i).filter(d=>typeof i[i[d]]!="number"),o={};for(const d of a)o[d]=i[d];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const a=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(const o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function s(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=s,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(R||(R={}));var Jt;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Jt||(Jt={}));const x=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=t=>{switch(typeof t){case"undefined":return x.undefined;case"string":return x.string;case"number":return Number.isNaN(t)?x.nan:x.number;case"boolean":return x.boolean;case"function":return x.function;case"bigint":return x.bigint;case"symbol":return x.symbol;case"object":return Array.isArray(t)?x.array:t===null?x.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?x.promise:typeof Map<"u"&&t instanceof Map?x.map:typeof Set<"u"&&t instanceof Set?x.set:typeof Date<"u"&&t instanceof Date?x.date:x.object;default:return x.unknown}},c=R.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ye extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){const r=e||function(a){return a.message},s={_errors:[]},i=a=>{for(const o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)s._errors.push(r(o));else{let d=s,f=0;for(;fr.message){const r={},s=[];for(const i of this.issues)if(i.path.length>0){const a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else s.push(e(i));return{formErrors:s,fieldErrors:r}}get formErrors(){return this.flatten()}}ye.create=t=>new ye(t);const yt=(t,e)=>{let r;switch(t.code){case c.invalid_type:t.received===x.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case c.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,R.jsonStringifyReplacer)}`;break;case c.unrecognized_keys:r=`Unrecognized key(s) in object: ${R.joinValues(t.keys,", ")}`;break;case c.invalid_union:r="Invalid input";break;case c.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${R.joinValues(t.options)}`;break;case c.invalid_enum_value:r=`Invalid enum value. Expected ${R.joinValues(t.options)}, received '${t.received}'`;break;case c.invalid_arguments:r="Invalid function arguments";break;case c.invalid_return_type:r="Invalid function return type";break;case c.invalid_date:r="Invalid date";break;case c.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:R.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case c.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case c.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case c.custom:r="Invalid input";break;case c.invalid_intersection_types:r="Intersection results could not be merged";break;case c.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case c.not_finite:r="Number must be finite";break;default:r=e.defaultError,R.assertNever(t)}return{message:r}};let ms=yt;function ys(){return ms}const gs=t=>{const{data:e,path:r,errorMaps:s,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let d="";const f=s.filter(y=>!!y).slice().reverse();for(const y of f)d=y(o,{data:e,defaultError:d}).message;return{...i,path:a,message:d}};function v(t,e){const r=ys(),s=gs({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===yt?void 0:yt].filter(i=>!!i)});t.common.issues.push(s)}class X{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){const s=[];for(const i of r){if(i.status==="aborted")return w;i.status==="dirty"&&e.dirty(),s.push(i.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,r){const s=[];for(const i of r){const a=await i.key,o=await i.value;s.push({key:a,value:o})}return X.mergeObjectSync(e,s)}static mergeObjectSync(e,r){const s={};for(const i of r){const{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return w;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(s[a.value]=o.value)}return{status:e.value,value:s}}}const w=Object.freeze({status:"aborted"}),Me=t=>({status:"dirty",value:t}),ee=t=>({status:"valid",value:t}),Qt=t=>t.status==="aborted",Xt=t=>t.status==="dirty",Oe=t=>t.status==="valid",Je=t=>typeof Promise<"u"&&t instanceof Promise;var b;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(b||(b={}));class be{constructor(e,r,s,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=s,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Kt=(t,e)=>{if(Oe(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new ye(t.common.issues);return this._error=r,this._error}}};function C(t){if(!t)return{};const{errorMap:e,invalid_type_error:r,required_error:s,description:i}=t;if(e&&(r||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,d)=>{const{message:f}=t;return o.code==="invalid_enum_value"?{message:f??d.defaultError}:typeof d.data>"u"?{message:f??s??d.defaultError}:o.code!=="invalid_type"?{message:d.defaultError}:{message:f??r??d.defaultError}},description:i}}class E{get description(){return this._def.description}_getType(e){return ve(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:ve(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new X,ctx:{common:e.parent.common,data:e.data,parsedType:ve(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const r=this._parse(e);if(Je(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){const r=this._parse(e);return Promise.resolve(r)}parse(e,r){const s=this.safeParse(e,r);if(s.success)return s.data;throw s.error}safeParse(e,r){const s={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ve(e)},i=this._parseSync({data:e,path:s.path,parent:s});return Kt(s,i)}"~validate"(e){var s,i;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ve(e)};if(!this["~standard"].async)try{const a=this._parseSync({data:e,path:[],parent:r});return Oe(a)?{value:a.value}:{issues:r.common.issues}}catch(a){(i=(s=a==null?void 0:a.message)==null?void 0:s.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(a=>Oe(a)?{value:a.value}:{issues:r.common.issues})}async parseAsync(e,r){const s=await this.safeParseAsync(e,r);if(s.success)return s.data;throw s.error}async safeParseAsync(e,r){const s={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ve(e)},i=this._parse({data:e,path:s.path,parent:s}),a=await(Je(i)?i:Promise.resolve(i));return Kt(s,a)}refine(e,r){const s=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{const o=e(i),d=()=>a.addIssue({code:c.custom,...s(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(f=>f?!0:(d(),!1)):o?!0:(d(),!1)})}refinement(e,r){return this._refinement((s,i)=>e(s)?!0:(i.addIssue(typeof r=="function"?r(s,i):r),!1))}_refinement(e){return new Ne({schema:this,typeName:A.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return xe.create(this,this._def)}nullable(){return Re.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ce.create(this)}promise(){return et.create(this,this._def)}or(e){return Xe.create([this,e],this._def)}and(e){return Ke.create(this,e,this._def)}transform(e){return new Ne({...C(this._def),schema:this,typeName:A.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const r=typeof e=="function"?e:()=>e;return new vt({...C(this._def),innerType:this,defaultValue:r,typeName:A.ZodDefault})}brand(){return new Ms({typeName:A.ZodBranded,type:this,...C(this._def)})}catch(e){const r=typeof e=="function"?e:()=>e;return new pt({...C(this._def),innerType:this,catchValue:r,typeName:A.ZodCatch})}describe(e){const r=this.constructor;return new r({...this._def,description:e})}pipe(e){return St.create(this,e)}readonly(){return _t.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const vs=/^c[^\s-]{8,}$/i,ps=/^[0-9a-z]+$/,_s=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xs=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,bs=/^[a-z0-9_-]{21}$/i,ks=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ws=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,As=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ss="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ct;const Cs=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Vs=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ts=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Os=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Es=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ns=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,kr="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Rs=new RegExp(`^${kr}$`);function wr(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);const r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Fs(t){return new RegExp(`^${wr(t)}$`)}function Is(t){let e=`${kr}T${wr(t)}`;const r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Ds(t,e){return!!((e==="v4"||!e)&&Cs.test(t)||(e==="v6"||!e)&&Ts.test(t))}function js(t,e){if(!ks.test(t))return!1;try{const[r]=t.split(".");if(!r)return!1;const s=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(s));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Zs(t,e){return!!((e==="v4"||!e)&&Vs.test(t)||(e==="v6"||!e)&&Os.test(t))}class _e extends E{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==x.string){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_type,expected:x.string,received:a.parsedType}),w}const s=new X;let i;for(const a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:c.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="length"){const o=e.data.length>a.value,d=e.data.lengthe.test(i),{validation:r,code:c.invalid_string,...b.errToObj(s)})}_addCheck(e){return new _e({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...b.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...b.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...b.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...b.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...b.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...b.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...b.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...b.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...b.errToObj(r)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new _e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew _e({checks:[],typeName:A.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...C(t)});function Ls(t,e){const r=(t.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,i=r>s?r:s,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}class Ue extends E{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==x.number){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_type,expected:x.number,received:a.parsedType}),w}let s;const i=new X;for(const a of this._def.checks)a.kind==="int"?R.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),v(s,{code:c.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Ls(e.data,a.value)!==0&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),v(s,{code:c.not_finite,message:a.message}),i.dirty()):R.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,s,i){return new Ue({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:b.toString(i)}]})}_addCheck(e){return new Ue({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.toString(e)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&R.isInteger(e.value))}get isFinite(){let e=null,r=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(r===null||s.value>r)&&(r=s.value):s.kind==="max"&&(e===null||s.valuenew Ue({checks:[],typeName:A.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});class Be extends E{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==x.bigint)return this._getInvalidInput(e);let s;const i=new X;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):R.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){const r=this._getOrReturnCtx(e);return v(r,{code:c.invalid_type,expected:x.bigint,received:r.parsedType}),w}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,s,i){return new Be({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:b.toString(i)}]})}_addCheck(e){return new Be({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Be({checks:[],typeName:A.ZodBigInt,coerce:(t==null?void 0:t.coerce)??!1,...C(t)});class er extends E{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==x.boolean){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.boolean,received:s.parsedType}),w}return ee(e.data)}}er.create=t=>new er({typeName:A.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});class Qe extends E{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==x.date){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_type,expected:x.date,received:a.parsedType}),w}if(Number.isNaN(e.data.getTime())){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_date}),w}const s=new X;let i;for(const a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:c.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),s.dirty()):R.assertNever(a);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Qe({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:b.toString(r)})}get minDate(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Qe({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:A.ZodDate,...C(t)});class tr extends E{_parse(e){if(this._getType(e)!==x.symbol){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.symbol,received:s.parsedType}),w}return ee(e.data)}}tr.create=t=>new tr({typeName:A.ZodSymbol,...C(t)});class rr extends E{_parse(e){if(this._getType(e)!==x.undefined){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.undefined,received:s.parsedType}),w}return ee(e.data)}}rr.create=t=>new rr({typeName:A.ZodUndefined,...C(t)});class sr extends E{_parse(e){if(this._getType(e)!==x.null){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.null,received:s.parsedType}),w}return ee(e.data)}}sr.create=t=>new sr({typeName:A.ZodNull,...C(t)});class ar extends E{constructor(){super(...arguments),this._any=!0}_parse(e){return ee(e.data)}}ar.create=t=>new ar({typeName:A.ZodAny,...C(t)});class ir extends E{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ee(e.data)}}ir.create=t=>new ir({typeName:A.ZodUnknown,...C(t)});class ke extends E{_parse(e){const r=this._getOrReturnCtx(e);return v(r,{code:c.invalid_type,expected:x.never,received:r.parsedType}),w}}ke.create=t=>new ke({typeName:A.ZodNever,...C(t)});class nr extends E{_parse(e){if(this._getType(e)!==x.undefined){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.void,received:s.parsedType}),w}return ee(e.data)}}nr.create=t=>new nr({typeName:A.ZodVoid,...C(t)});class ce extends E{_parse(e){const{ctx:r,status:s}=this._processInputParams(e),i=this._def;if(r.parsedType!==x.array)return v(r,{code:c.invalid_type,expected:x.array,received:r.parsedType}),w;if(i.exactLength!==null){const o=r.data.length>i.exactLength.value,d=r.data.lengthi.maxLength.value&&(v(r,{code:c.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),s.dirty()),r.common.async)return Promise.all([...r.data].map((o,d)=>i.type._parseAsync(new be(r,o,r.path,d)))).then(o=>X.mergeArray(s,o));const a=[...r.data].map((o,d)=>i.type._parseSync(new be(r,o,r.path,d)));return X.mergeArray(s,a)}get element(){return this._def.type}min(e,r){return new ce({...this._def,minLength:{value:e,message:b.toString(r)}})}max(e,r){return new ce({...this._def,maxLength:{value:e,message:b.toString(r)}})}length(e,r){return new ce({...this._def,exactLength:{value:e,message:b.toString(r)}})}nonempty(e){return this.min(1,e)}}ce.create=(t,e)=>new ce({type:t,minLength:null,maxLength:null,exactLength:null,typeName:A.ZodArray,...C(e)});function Te(t){if(t instanceof P){const e={};for(const r in t.shape){const s=t.shape[r];e[r]=xe.create(Te(s))}return new P({...t._def,shape:()=>e})}else return t instanceof ce?new ce({...t._def,type:Te(t.element)}):t instanceof xe?xe.create(Te(t.unwrap())):t instanceof Re?Re.create(Te(t.unwrap())):t instanceof Se?Se.create(t.items.map(e=>Te(e))):t}class P extends E{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),r=R.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==x.object){const y=this._getOrReturnCtx(e);return v(y,{code:c.invalid_type,expected:x.object,received:y.parsedType}),w}const{status:s,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),d=[];if(!(this._def.catchall instanceof ke&&this._def.unknownKeys==="strip"))for(const y in i.data)o.includes(y)||d.push(y);const f=[];for(const y of o){const k=a[y],O=i.data[y];f.push({key:{status:"valid",value:y},value:k._parse(new be(i,O,i.path,y)),alwaysSet:y in i.data})}if(this._def.catchall instanceof ke){const y=this._def.unknownKeys;if(y==="passthrough")for(const k of d)f.push({key:{status:"valid",value:k},value:{status:"valid",value:i.data[k]}});else if(y==="strict")d.length>0&&(v(i,{code:c.unrecognized_keys,keys:d}),s.dirty());else if(y!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const y=this._def.catchall;for(const k of d){const O=i.data[k];f.push({key:{status:"valid",value:k},value:y._parse(new be(i,O,i.path,k)),alwaysSet:k in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const y=[];for(const k of f){const O=await k.key,Z=await k.value;y.push({key:O,value:Z,alwaysSet:k.alwaysSet})}return y}).then(y=>X.mergeObjectSync(s,y)):X.mergeObjectSync(s,f)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new P({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,s)=>{var a,o;const i=((o=(a=this._def).errorMap)==null?void 0:o.call(a,r,s).message)??s.defaultError;return r.code==="unrecognized_keys"?{message:b.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new P({...this._def,unknownKeys:"strip"})}passthrough(){return new P({...this._def,unknownKeys:"passthrough"})}extend(e){return new P({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new P({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:A.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new P({...this._def,catchall:e})}pick(e){const r={};for(const s of R.objectKeys(e))e[s]&&this.shape[s]&&(r[s]=this.shape[s]);return new P({...this._def,shape:()=>r})}omit(e){const r={};for(const s of R.objectKeys(this.shape))e[s]||(r[s]=this.shape[s]);return new P({...this._def,shape:()=>r})}deepPartial(){return Te(this)}partial(e){const r={};for(const s of R.objectKeys(this.shape)){const i=this.shape[s];e&&!e[s]?r[s]=i:r[s]=i.optional()}return new P({...this._def,shape:()=>r})}required(e){const r={};for(const s of R.objectKeys(this.shape))if(e&&!e[s])r[s]=this.shape[s];else{let a=this.shape[s];for(;a instanceof xe;)a=a._def.innerType;r[s]=a}return new P({...this._def,shape:()=>r})}keyof(){return Ar(R.objectKeys(this.shape))}}P.create=(t,e)=>new P({shape:()=>t,unknownKeys:"strip",catchall:ke.create(),typeName:A.ZodObject,...C(e)});P.strictCreate=(t,e)=>new P({shape:()=>t,unknownKeys:"strict",catchall:ke.create(),typeName:A.ZodObject,...C(e)});P.lazycreate=(t,e)=>new P({shape:t,unknownKeys:"strip",catchall:ke.create(),typeName:A.ZodObject,...C(e)});class Xe extends E{_parse(e){const{ctx:r}=this._processInputParams(e),s=this._def.options;function i(a){for(const d of a)if(d.result.status==="valid")return d.result;for(const d of a)if(d.result.status==="dirty")return r.common.issues.push(...d.ctx.common.issues),d.result;const o=a.map(d=>new ye(d.ctx.common.issues));return v(r,{code:c.invalid_union,unionErrors:o}),w}if(r.common.async)return Promise.all(s.map(async a=>{const o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a;const o=[];for(const f of s){const y={...r,common:{...r.common,issues:[]},parent:null},k=f._parseSync({data:r.data,path:r.path,parent:y});if(k.status==="valid")return k;k.status==="dirty"&&!a&&(a={result:k,ctx:y}),y.common.issues.length&&o.push(y.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;const d=o.map(f=>new ye(f));return v(r,{code:c.invalid_union,unionErrors:d}),w}}get options(){return this._def.options}}Xe.create=(t,e)=>new Xe({options:t,typeName:A.ZodUnion,...C(e)});function gt(t,e){const r=ve(t),s=ve(e);if(t===e)return{valid:!0,data:t};if(r===x.object&&s===x.object){const i=R.objectKeys(e),a=R.objectKeys(t).filter(d=>i.indexOf(d)!==-1),o={...t,...e};for(const d of a){const f=gt(t[d],e[d]);if(!f.valid)return{valid:!1};o[d]=f.data}return{valid:!0,data:o}}else if(r===x.array&&s===x.array){if(t.length!==e.length)return{valid:!1};const i=[];for(let a=0;a{if(Qt(a)||Qt(o))return w;const d=gt(a.value,o.value);return d.valid?((Xt(a)||Xt(o))&&r.dirty(),{status:r.value,value:d.data}):(v(s,{code:c.invalid_intersection_types}),w)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}Ke.create=(t,e,r)=>new Ke({left:t,right:e,typeName:A.ZodIntersection,...C(r)});class Se extends E{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==x.array)return v(s,{code:c.invalid_type,expected:x.array,received:s.parsedType}),w;if(s.data.lengththis._def.items.length&&(v(s,{code:c.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const a=[...s.data].map((o,d)=>{const f=this._def.items[d]||this._def.rest;return f?f._parse(new be(s,o,s.path,d)):null}).filter(o=>!!o);return s.common.async?Promise.all(a).then(o=>X.mergeArray(r,o)):X.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new Se({...this._def,rest:e})}}Se.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Se({items:t,typeName:A.ZodTuple,rest:null,...C(e)})};class or extends E{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==x.map)return v(s,{code:c.invalid_type,expected:x.map,received:s.parsedType}),w;const i=this._def.keyType,a=this._def.valueType,o=[...s.data.entries()].map(([d,f],y)=>({key:i._parse(new be(s,d,s.path,[y,"key"])),value:a._parse(new be(s,f,s.path,[y,"value"]))}));if(s.common.async){const d=new Map;return Promise.resolve().then(async()=>{for(const f of o){const y=await f.key,k=await f.value;if(y.status==="aborted"||k.status==="aborted")return w;(y.status==="dirty"||k.status==="dirty")&&r.dirty(),d.set(y.value,k.value)}return{status:r.value,value:d}})}else{const d=new Map;for(const f of o){const y=f.key,k=f.value;if(y.status==="aborted"||k.status==="aborted")return w;(y.status==="dirty"||k.status==="dirty")&&r.dirty(),d.set(y.value,k.value)}return{status:r.value,value:d}}}}or.create=(t,e,r)=>new or({valueType:e,keyType:t,typeName:A.ZodMap,...C(r)});class ze extends E{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==x.set)return v(s,{code:c.invalid_type,expected:x.set,received:s.parsedType}),w;const i=this._def;i.minSize!==null&&s.data.sizei.maxSize.value&&(v(s,{code:c.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());const a=this._def.valueType;function o(f){const y=new Set;for(const k of f){if(k.status==="aborted")return w;k.status==="dirty"&&r.dirty(),y.add(k.value)}return{status:r.value,value:y}}const d=[...s.data.values()].map((f,y)=>a._parse(new be(s,f,s.path,y)));return s.common.async?Promise.all(d).then(f=>o(f)):o(d)}min(e,r){return new ze({...this._def,minSize:{value:e,message:b.toString(r)}})}max(e,r){return new ze({...this._def,maxSize:{value:e,message:b.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}}ze.create=(t,e)=>new ze({valueType:t,minSize:null,maxSize:null,typeName:A.ZodSet,...C(e)});class dr extends E{get schema(){return this._def.getter()}_parse(e){const{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}dr.create=(t,e)=>new dr({getter:t,typeName:A.ZodLazy,...C(e)});class ur extends E{_parse(e){if(e.data!==this._def.value){const r=this._getOrReturnCtx(e);return v(r,{received:r.data,code:c.invalid_literal,expected:this._def.value}),w}return{status:"valid",value:e.data}}get value(){return this._def.value}}ur.create=(t,e)=>new ur({value:t,typeName:A.ZodLiteral,...C(e)});function Ar(t,e){return new Ee({values:t,typeName:A.ZodEnum,...C(e)})}class Ee extends E{_parse(e){if(typeof e.data!="string"){const r=this._getOrReturnCtx(e),s=this._def.values;return v(r,{expected:R.joinValues(s),received:r.parsedType,code:c.invalid_type}),w}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const r=this._getOrReturnCtx(e),s=this._def.values;return v(r,{received:r.data,code:c.invalid_enum_value,options:s}),w}return ee(e.data)}get options(){return this._def.values}get enum(){const e={};for(const r of this._def.values)e[r]=r;return e}get Values(){const e={};for(const r of this._def.values)e[r]=r;return e}get Enum(){const e={};for(const r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return Ee.create(e,{...this._def,...r})}exclude(e,r=this._def){return Ee.create(this.options.filter(s=>!e.includes(s)),{...this._def,...r})}}Ee.create=Ar;class lr extends E{_parse(e){const r=R.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==x.string&&s.parsedType!==x.number){const i=R.objectValues(r);return v(s,{expected:R.joinValues(i),received:s.parsedType,code:c.invalid_type}),w}if(this._cache||(this._cache=new Set(R.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const i=R.objectValues(r);return v(s,{received:s.data,code:c.invalid_enum_value,options:i}),w}return ee(e.data)}get enum(){return this._def.values}}lr.create=(t,e)=>new lr({values:t,typeName:A.ZodNativeEnum,...C(e)});class et extends E{unwrap(){return this._def.type}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==x.promise&&r.common.async===!1)return v(r,{code:c.invalid_type,expected:x.promise,received:r.parsedType}),w;const s=r.parsedType===x.promise?r.data:Promise.resolve(r.data);return ee(s.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}}et.create=(t,e)=>new et({type:t,typeName:A.ZodPromise,...C(e)});class Ne extends E{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===A.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:r,ctx:s}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{v(s,o),o.fatal?r.abort():r.dirty()},get path(){return s.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){const o=i.transform(s.data,a);if(s.common.async)return Promise.resolve(o).then(async d=>{if(r.value==="aborted")return w;const f=await this._def.schema._parseAsync({data:d,path:s.path,parent:s});return f.status==="aborted"?w:f.status==="dirty"||r.value==="dirty"?Me(f.value):f});{if(r.value==="aborted")return w;const d=this._def.schema._parseSync({data:o,path:s.path,parent:s});return d.status==="aborted"?w:d.status==="dirty"||r.value==="dirty"?Me(d.value):d}}if(i.type==="refinement"){const o=d=>{const f=i.refinement(d,a);if(s.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return d};if(s.common.async===!1){const d=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return d.status==="aborted"?w:(d.status==="dirty"&&r.dirty(),o(d.value),{status:r.value,value:d.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(d=>d.status==="aborted"?w:(d.status==="dirty"&&r.dirty(),o(d.value).then(()=>({status:r.value,value:d.value}))))}if(i.type==="transform")if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!Oe(o))return w;const d=i.transform(o.value,a);if(d instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:d}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>Oe(o)?Promise.resolve(i.transform(o.value,a)).then(d=>({status:r.value,value:d})):w);R.assertNever(i)}}Ne.create=(t,e,r)=>new Ne({schema:t,typeName:A.ZodEffects,effect:e,...C(r)});Ne.createWithPreprocess=(t,e,r)=>new Ne({schema:e,effect:{type:"preprocess",transform:t},typeName:A.ZodEffects,...C(r)});class xe extends E{_parse(e){return this._getType(e)===x.undefined?ee(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}xe.create=(t,e)=>new xe({innerType:t,typeName:A.ZodOptional,...C(e)});class Re extends E{_parse(e){return this._getType(e)===x.null?ee(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Re.create=(t,e)=>new Re({innerType:t,typeName:A.ZodNullable,...C(e)});class vt extends E{_parse(e){const{ctx:r}=this._processInputParams(e);let s=r.data;return r.parsedType===x.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}vt.create=(t,e)=>new vt({innerType:t,typeName:A.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...C(e)});class pt extends E{_parse(e){const{ctx:r}=this._processInputParams(e),s={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return Je(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ye(s.common.issues)},input:s.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ye(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}pt.create=(t,e)=>new pt({innerType:t,typeName:A.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...C(e)});class cr extends E{_parse(e){if(this._getType(e)!==x.nan){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.nan,received:s.parsedType}),w}return{status:"valid",value:e.data}}}cr.create=t=>new cr({typeName:A.ZodNaN,...C(t)});class Ms extends E{_parse(e){const{ctx:r}=this._processInputParams(e),s=r.data;return this._def.type._parse({data:s,path:r.path,parent:r})}unwrap(){return this._def.type}}class St extends E{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?w:a.status==="dirty"?(r.dirty(),Me(a.value)):this._def.out._parseAsync({data:a.value,path:s.path,parent:s})})();{const i=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return i.status==="aborted"?w:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:s.path,parent:s})}}static create(e,r){return new St({in:e,out:r,typeName:A.ZodPipeline})}}class _t extends E{_parse(e){const r=this._def.innerType._parse(e),s=i=>(Oe(i)&&(i.value=Object.freeze(i.value)),i);return Je(r)?r.then(i=>s(i)):s(r)}unwrap(){return this._def.innerType}}_t.create=(t,e)=>new _t({innerType:t,typeName:A.ZodReadonly,...C(e)});var A;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(A||(A={}));const ft=_e.create;ke.create;ce.create;const $s=P.create;Xe.create;Ke.create;Se.create;Ee.create;et.create;xe.create;Re.create;const Ps=$s({content:ft().min(1,"Content cannot be empty"),author:ft().optional(),tagsRaw:ft().optional()});function qs(){const{key:t}=Ir(),e=Dr(k=>k.slug),r=jr(),{data:s}=Zr(e,t),i=Lr(e),{register:a,handleSubmit:o,formState:d,reset:f}=us({resolver:hs(Ps),defaultValues:{content:"",author:"",tagsRaw:""}});Mr.useEffect(()=>{s&&f({content:s.content,author:s.author??"",tagsRaw:s.tags.join(", ")})},[s,f]);const y=async k=>{if(!t)return;const O=(k.tagsRaw??"").split(",").map(Z=>Z.trim()).filter(Boolean);await i.mutateAsync({key:t,content:k.content,author:k.author||void 0,tags:O}),r(`/notes/${encodeURIComponent(t)}`)};return ue.jsxs("form",{onSubmit:o(y),className:"note-editor",children:[ue.jsx("div",{className:"note-editor-head",children:ue.jsxs("h1",{className:"note-editor-title",children:["Edit ",t]})}),ue.jsx("textarea",{...a("content"),rows:20,className:"note-editor-textarea","aria-label":"Note content"}),d.errors.content&&ue.jsx("p",{className:"text-xs text-destructive",children:d.errors.content.message}),ue.jsx("input",{...a("author"),placeholder:"Author (optional)",className:"w-full px-3 py-2 bg-card border border-border rounded-md text-sm"}),ue.jsx("input",{...a("tagsRaw"),placeholder:"Tags, comma-separated",className:"w-full px-3 py-2 bg-card border border-border rounded-md text-sm"}),ue.jsxs("div",{className:"flex gap-2",children:[ue.jsx("button",{type:"submit",disabled:d.isSubmitting,className:"px-3 py-1.5 bg-primary text-primary-foreground rounded-md text-sm",children:"Save"}),ue.jsx("button",{type:"button",onClick:()=>r(-1),className:"px-3 py-1.5 border border-border rounded-md text-sm",children:"Cancel"})]})]})}export{qs as default}; diff --git a/ui/dist/assets/NoteView-DbbP0PJj.js b/ui/dist/assets/NoteView-DbbP0PJj.js deleted file mode 100644 index cbab99f..0000000 --- a/ui/dist/assets/NoteView-DbbP0PJj.js +++ /dev/null @@ -1,3 +0,0 @@ -import{j as a,L as m,f as u,e as f,h,i as x}from"./index-DEeQUcqL.js";import{M as p}from"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";const k=/\[\[([^\]|]+?)(?:\|([^\]]+))?\]\]/g;function j(){const o=new p({html:!1,linkify:!0,breaks:!1}),r=o.renderer.rules.link_open||((e,s,n,i,l)=>l.renderToken(e,s,n));o.renderer.rules.link_open=(e,s,n,i,l)=>{const c=e[s].attrGet("href")??"";return/^https?:\/\//.test(c)&&(e[s].attrSet("target","_blank"),e[s].attrSet("rel","noopener noreferrer")),r(e,s,n,i,l)};const t=o.renderer.rules.image||((e,s,n,i,l)=>l.renderToken(e,s,n));return o.renderer.rules.image=(e,s,n,i,l)=>(e[s].attrSet("loading","lazy"),t(e,s,n,i,l)),o}const d=j();function g(o){var s;let r=o;if(r.startsWith(`--- -`)){const n=r.indexOf(` ----`,4);n>0&&(r=r.slice(n+4).replace(/^\n/,""))}const t=[];let e=0;for(const n of r.matchAll(k)){const i=n.index??0;i>e&&t.push({kind:"html",content:d.render(r.slice(e,i))}),t.push({kind:"wikilink",content:n[1].trim(),label:(s=n[2])==null?void 0:s.trim()}),e=i+n[0].length}return et.kind==="html"?a.jsx("div",{dangerouslySetInnerHTML:{__html:t.content}},e):a.jsx(w,{target:t.content,label:t.label},e))})}function I(){const{key:o}=u(),r=f(n=>n.slug),{data:t,isLoading:e,error:s}=h(r,o);return e?a.jsx("div",{className:"p-8 text-muted-foreground text-sm",children:"Loading…"}):s||!t?a.jsxs("div",{className:"p-8 max-w-[620px] mx-auto",children:[a.jsx("h1",{className:"text-xl font-semibold",children:"Note not found"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-2 font-mono",children:o})]}):a.jsxs("article",{className:"doc-view",children:[a.jsxs("header",{children:[a.jsx("h1",{className:"doc-view-title",children:t.key.split("/").pop()}),a.jsxs("div",{className:"doc-view-meta",children:[t.key," · updated ",x(new Date(t.updated_at).getTime()),t.author&&` · by ${t.author}`]})]}),a.jsx("div",{className:"prose-body",children:a.jsx(N,{source:t.content})})]})}export{I as default}; diff --git a/ui/dist/assets/NotesLayout-B2b1sadk.js b/ui/dist/assets/NotesLayout-B2b1sadk.js deleted file mode 100644 index c0f95d1..0000000 --- a/ui/dist/assets/NotesLayout-B2b1sadk.js +++ /dev/null @@ -1 +0,0 @@ -import{u as h,j as e,S as u,a as j,b as N,c as f,L as m,d as k,r as p,e as g,f as b,g as x,O as y}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function v(i){const o={};for(const c of i){const a=c.key.split("/"),s=a.length===1?"":a.slice(0,-1).join("/");(o[s]??(o[s]=[])).push(c)}return o}function O({project:i,open:o,onOpenChange:c,currentKey:a}){const{data:s=[]}=h(i),l=v(s),n=Object.keys(l).sort();return e.jsx(u,{open:o,onOpenChange:c,children:e.jsxs(j,{side:"left",className:"w-[300px] p-0",children:[e.jsx(N,{className:"px-4 py-3 border-b border-border",children:e.jsx(f,{className:"font-mono text-xs uppercase tracking-wider text-muted-foreground",children:"Notes"})}),e.jsxs("div",{className:"p-2 overflow-auto text-sm",children:[n.map(t=>e.jsxs("div",{className:"mb-2",children:[t&&e.jsxs("div",{className:"tree-node-folder",children:[t,"/"]}),l[t].sort((r,d)=>r.key.localeCompare(d.key)).map(r=>e.jsx(m,{to:`/notes/${encodeURIComponent(r.key)}`,className:a===r.key?"tree-node-note tree-node-note-active":"tree-node-note",onClick:()=>c(!1),children:r.key.split("/").pop()},r.key))]},t||"(root)")),n.length===0&&e.jsx("div",{className:"p-2 text-xs text-muted-foreground",children:"No notes yet."})]})]})})}function S({project:i,open:o,onOpenChange:c,currentKey:a}){const{data:s}=k(i),{inbound:l,outbound:n}=p.useMemo(()=>{if(!s||!a)return{inbound:[],outbound:[]};const t=[],r=[];for(const d of s.edges)d.target===a&&t.push(d.source),d.source===a&&r.push(d.target);return{inbound:Array.from(new Set(t)),outbound:Array.from(new Set(r))}},[s,a]);return e.jsx(u,{open:o,onOpenChange:c,children:e.jsxs(j,{side:"right",className:"w-[280px]",children:[e.jsx(N,{className:"mb-4",children:e.jsx(f,{className:"font-mono text-xs uppercase tracking-wider text-muted-foreground",children:"Links"})}),e.jsxs("div",{children:[e.jsxs("section",{className:"link-panel-section",children:[e.jsx("h3",{className:"link-panel-heading",children:"Inbound"}),l.length===0&&e.jsx("p",{className:"link-panel-empty",children:"—"}),e.jsx("ul",{className:"link-panel-list",children:l.map(t=>e.jsx("li",{children:e.jsx(m,{to:`/notes/${encodeURIComponent(t)}`,onClick:()=>c(!1),className:"link-panel-item",children:t})},t))})]}),e.jsxs("section",{className:"link-panel-section",children:[e.jsx("h3",{className:"link-panel-heading",children:"Outbound"}),n.length===0&&e.jsx("p",{className:"link-panel-empty",children:"—"}),e.jsx("ul",{className:"link-panel-list",children:n.map(t=>e.jsx("li",{children:e.jsx(m,{to:`/notes/${encodeURIComponent(t)}`,onClick:()=>c(!1),className:"link-panel-item",children:t})},t))})]})]})]})})}function $(){const i=g(n=>n.slug),{key:o}=b(),[c,a]=p.useState(!1),[s,l]=p.useState(!1);return x("mod+/",()=>a(n=>!n)),x("mod+l",()=>l(n=>!n)),e.jsxs("div",{className:"relative",children:[e.jsx(O,{project:i,open:c,onOpenChange:a,currentKey:o}),e.jsx(S,{project:i,open:s,onOpenChange:l,currentKey:o}),e.jsx(y,{}),!o&&e.jsx(C,{project:i})]})}function C({project:i}){const{data:o,isLoading:c}=h(i),a=p.useMemo(()=>{const s={};for(const l of o??[]){const n=l.key.split("/"),t=n.length>1?n.slice(0,-1).join("/"):"(root)";(s[t]??(s[t]=[])).push(l.key)}for(const l of Object.keys(s))s[l].sort();return Object.entries(s).sort(([l],[n])=>l.localeCompare(n))},[o]);return e.jsxs("div",{className:"notes-index",children:[e.jsxs("div",{className:"notes-index-head",children:[e.jsx("h1",{className:"notes-index-title",children:"Notes"}),e.jsx("span",{className:"notes-index-count",children:c?"loading…":`${(o==null?void 0:o.length)??0} notes in ${a.length} folders`})]}),e.jsxs("p",{className:"notes-index-hint",children:["Open tree ",e.jsx("kbd",{className:"kbd",children:"⌘/"})," · search ",e.jsx("kbd",{className:"kbd",children:"⌘K"})]}),e.jsx("div",{className:"notes-index-grid",children:a.map(([s,l])=>e.jsxs("section",{className:"notes-folder",children:[e.jsxs("h2",{className:"notes-folder-head",children:[s," ",e.jsxs("span",{className:"notes-folder-count",children:["· ",l.length]})]}),e.jsx("ul",{className:"notes-folder-list",children:l.map(n=>e.jsx("li",{className:"notes-folder-item",children:e.jsx(m,{to:`/notes/${encodeURIComponent(n)}`,className:"notes-folder-link",children:n.split("/").pop()})},n))})]},s))})]})}export{$ as default}; diff --git a/ui/dist/assets/NotesSearch-BjwNYEol.js b/ui/dist/assets/NotesSearch-BjwNYEol.js deleted file mode 100644 index f338e2f..0000000 --- a/ui/dist/assets/NotesSearch-BjwNYEol.js +++ /dev/null @@ -1 +0,0 @@ -import{e as u,r as o,m as h,j as s,L as m,n as p,q as d}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function g(){const r=u(e=>e.slug),[t,c]=o.useState(""),[n,i]=o.useState("");o.useEffect(()=>{const e=setTimeout(()=>i(t.trim()),300);return()=>clearTimeout(e)},[t]);const{data:a,isFetching:l}=h({queryKey:d.notesSearch(r,n),enabled:n.length>0,queryFn:()=>p(`/api/projects/${encodeURIComponent(r)}/search?q=${encodeURIComponent(n)}`)});return s.jsxs("div",{className:"notes-search",children:[s.jsx("input",{autoFocus:!0,value:t,onChange:e=>c(e.target.value),placeholder:"Search notes…",className:"notes-search-input","aria-label":"Search notes"}),l&&s.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"searching…"}),s.jsx("ul",{className:"mt-6 space-y-1.5",children:a==null?void 0:a.hits.map(e=>s.jsx("li",{children:s.jsxs(m,{to:`/notes/${encodeURIComponent(e.key)}`,className:"notes-search-hit",children:[s.jsx("div",{className:"notes-search-hit-title",children:e.key}),s.jsx("div",{className:"notes-search-hit-snippet",dangerouslySetInnerHTML:{__html:e.snippet}})]})},e.key))})]})}export{g as default}; diff --git a/ui/dist/assets/editor-l0sNRNKZ.js b/ui/dist/assets/editor-l0sNRNKZ.js deleted file mode 100644 index 8b13789..0000000 --- a/ui/dist/assets/editor-l0sNRNKZ.js +++ /dev/null @@ -1 +0,0 @@ - diff --git a/ui/dist/assets/graph-mfGjgYhn.js b/ui/dist/assets/graph-mfGjgYhn.js deleted file mode 100644 index 918b299..0000000 --- a/ui/dist/assets/graph-mfGjgYhn.js +++ /dev/null @@ -1 +0,0 @@ -function Pt(t,n){var e,r=1;t==null&&(t=0),n==null&&(n=0);function i(){var o,s=e.length,f,c=0,g=0;for(o=0;o=(_=(f+g)/2))?f=_:g=_,(a=e>=(w=(c+x)/2))?c=w:x=w,i=o,!(o=o[l=a<<1|u]))return i[l]=s,t;if(h=+t._x.call(null,o.data),p=+t._y.call(null,o.data),n===h&&e===p)return s.next=o,i?i[l]=s:t._root=s,t;do i=i?i[l]=new Array(4):t._root=new Array(4),(u=n>=(_=(f+g)/2))?f=_:g=_,(a=e>=(w=(c+x)/2))?c=w:x=w;while((l=a<<1|u)===(v=(p>=w)<<1|h>=_));return i[v]=o,i[l]=s,t}function rt(t){var n,e,r=t.length,i,o,s=new Array(r),f=new Array(r),c=1/0,g=1/0,x=-1/0,_=-1/0;for(e=0;ex&&(x=i),o_&&(_=o));if(c>x||g>_)return this;for(this.cover(c,g).cover(x,_),e=0;et||t>=i||r>n||n>=o;)switch(g=(nx||(f=p.y0)>_||(c=p.x1)=l)<<1|t>=a)&&(p=w[w.length-1],w[w.length-1]=w[w.length-1-u],w[w.length-1-u]=p)}else{var v=t-+this._x.call(null,h.data),m=n-+this._y.call(null,h.data),y=v*v+m*m;if(y=(w=(s+c)/2))?s=w:c=w,(u=_>=(h=(f+g)/2))?f=h:g=h,n=e,!(e=e[a=u<<1|p]))return this;if(!e.length)break;(n[a+1&3]||n[a+2&3]||n[a+3&3])&&(r=n,l=a)}for(;e.data!==t;)if(i=e,!(e=e.next))return this;return(o=e.next)&&delete e.next,i?(o?i.next=o:delete i.next,this):n?(o?n[a]=o:delete n[a],(e=n[0]||n[1]||n[2]||n[3])&&e===(n[3]||n[2]||n[1]||n[0])&&!e.length&&(r?r[l]=e:this._root=e),this):(this._root=o,this)}function st(t){for(var n=0,e=t.length;n[n(d,M,s),d])),y;for(a=0,f=new Array(l);a{}};function W(){for(var t=0,n=arguments.length,e={},r;t=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}q.prototype=W.prototype={constructor:q,on:function(t,n){var e=this._,r=mt(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var e=new Array(i),r=0,i,o;r=0&&t._call.call(void 0,n),t=t._next;--j}function J(){T=(L=k.now())+Q,j=S=0;try{At()}finally{j=0,zt(),T=0}}function Mt(){var t=k.now(),n=t-L;n>Z&&(Q-=n,L=t)}function zt(){for(var t,n=B,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:B=e);O=t,Y(r)}function Y(t){if(!j){S&&(S=clearTimeout(S));var n=t-T;n>24?(t<1/0&&(S=setTimeout(J,t-k.now()-Q)),P&&(P=clearInterval(P))):(P||(L=k.now(),P=setInterval(Mt,Z)),j=1,$(J))}}const It=1664525,Et=1013904223,K=4294967296;function Tt(){let t=1;return()=>(t=(It*t+Et)%K)/K}function bt(t){return t.x}function Dt(t){return t.y}var jt=10,Ft=Math.PI*(3-Math.sqrt(5));function Ot(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),o=0,s=.6,f=new Map,c=nt(_),g=W("tick","end"),x=Tt();t==null&&(t=[]);function _(){w(),g.call("tick",n),e1?(a==null?f.delete(u):f.set(u,p(a)),n):f.get(u)},find:function(u,a,l){var v=0,m=t.length,y,d,M,I,E;for(l==null?l=1/0:l*=l,v=0;v1?(g.on(u,a),n):g.on(u)}}}function kt(){var t,n,e,r,i=z(-30),o,s=1,f=1/0,c=.81;function g(h){var p,u=t.length,a=V(t,bt,Dt).visitAfter(_);for(r=h,p=0;p=f)return;(h.data!==n||h.next)&&(l===0&&(l=D(e),y+=l*l),v===0&&(v=D(e),y+=v*v),y:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--border)}.stats-strip{border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--border);background-color:var(--card)}@media(min-width:40rem){.stats-strip{grid-template-columns:repeat(3,minmax(0,1fr))}:where(.stats-strip>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}}@media(min-width:48rem){.stats-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}.stats-cell{min-height:86px;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);flex-direction:column;justify-content:space-between;display:flex}.stats-label{--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);--tw-tracking:.08em;letter-spacing:.08em;color:var(--muted-foreground);text-transform:uppercase}.stats-value-row{margin-top:calc(var(--spacing) * 1);align-items:baseline;gap:calc(var(--spacing) * 2);display:flex}.stats-value{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--foreground);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stats-delta{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary)}.home-split{min-height:calc(var(--spacing) * 0);flex:1;grid-template-columns:repeat(1,minmax(0,1fr));display:grid}:where(.home-split>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));border-color:var(--border)}@media(min-width:64rem){.home-split{grid-template-columns:minmax(0,1fr) 380px}}.home-main{min-height:calc(var(--spacing) * 0);min-width:calc(var(--spacing) * 0);flex-direction:column;display:flex}.home-rail{min-height:calc(var(--spacing) * 0);flex-direction:column;display:flex}.home-rail-top{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border)}.graph-card{padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 4)}.note-list{flex:1;overflow-y:auto}.note-row{justify-content:space-between;align-items:baseline;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media(hover:hover){.note-row:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.note-row:hover{background-color:color-mix(in oklab,var(--accent) 60%,transparent)}}}.note-row-name{text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:13px;overflow:hidden}.note-row-folder{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--muted-foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;overflow:hidden}.notes-index{max-width:980px;padding:calc(var(--spacing) * 6);margin-inline:auto}.notes-index-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:baseline;display:flex}.notes-index-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.notes-index-count{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.notes-index-hint{margin-bottom:calc(var(--spacing) * 6);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.notes-index-grid{gap:calc(var(--spacing) * 5);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.notes-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.notes-folder{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 3)}.notes-folder-head{margin-bottom:calc(var(--spacing) * 2);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;font-size:10px}.notes-folder-count{color:var(--muted-foreground)}:where(.notes-folder-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.notes-folder-list{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.notes-folder-item{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-folder-link{color:var(--foreground)}@media(hover:hover){.notes-folder-link:hover{color:var(--primary)}}.kbd{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.note-view{max-width:720px;padding:calc(var(--spacing) * 8);margin-inline:auto}.note-view-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.note-view-meta{margin-top:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-shell{min-height:calc(var(--spacing) * 0);flex:1;grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:64rem){.mcp-shell{grid-template-columns:300px minmax(0,1fr)}}.mcp-aside{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--border);overflow-y:auto}.mcp-aside-head{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding:calc(var(--spacing) * 3)}.mcp-aside-title{margin-bottom:calc(var(--spacing) * 2);justify-content:space-between;align-items:baseline;display:flex}.mcp-aside-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.mcp-aside-count{color:var(--muted-foreground);font-size:10px}.mcp-filter{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-refresh{margin-top:calc(var(--spacing) * 2);width:100%;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);text-decoration-line:underline;text-decoration-style:dotted}.mcp-error{padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--destructive)}.mcp-tool{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.mcp-tool:hover{background-color:var(--muted)}}.mcp-tool-active{background-color:var(--muted);color:var(--foreground)}.mcp-tool-desc{margin-top:calc(var(--spacing) * .5);-webkit-line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:10px;display:-webkit-box;overflow:hidden}.mcp-main{overflow-y:auto}.mcp-content{max-width:900px;padding:calc(var(--spacing) * 6)}.mcp-title{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.mcp-desc{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.mcp-panel{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 4)}.mcp-panel-head{margin-bottom:calc(var(--spacing) * 3);justify-content:space-between;align-items:center;display:flex}.mcp-panel-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}.mcp-raw-toggle{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);display:flex}.mcp-textarea{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-empty-params{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-run-row{margin-top:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 3);display:flex}:where(.mcp-history>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.mcp-history-item{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card)}.mcp-history-head{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 3);display:flex}.mcp-history-name{background-color:var(--muted);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-history-ms{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-history-ok{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary);margin-left:auto}.mcp-history-err{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--destructive);margin-left:auto;overflow:hidden}.mcp-history-body{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border);background-color:var(--background);padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow:auto}.param-label{margin-bottom:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));display:block}.param-name{color:var(--foreground)}.param-type{color:var(--muted-foreground)}.param-required{margin-left:calc(var(--spacing) * 1);color:var(--destructive)}.param-desc{margin-top:calc(var(--spacing) * .5);color:var(--muted-foreground);font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:10px;display:block}.param-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.skip-link{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{clip-path:none;white-space:normal;width:auto;height:auto;top:calc(var(--spacing) * 2);left:calc(var(--spacing) * 2);z-index:50;border-radius:var(--radius);background-color:var(--primary);padding:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);color:var(--primary-foreground);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);margin:0;position:fixed;overflow:visible}.sidebar-brand{align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);display:flex}.sidebar-brand:is(:where(.group)[data-collapsible=icon] *){padding-inline:calc(var(--spacing) * 0);justify-content:center}.sidebar-brand-link{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex:1;display:flex}.sidebar-brand-link:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 1);flex:none}@media(hover:hover){.sidebar-brand-link:hover{background-color:var(--sidebar-accent)}}.sidebar-brand-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--sidebar-foreground);overflow:hidden}.sidebar-brand-name:is(:where(.group)[data-collapsible=icon] *){display:none}.sidebar-brand-trigger{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);flex-shrink:0}.sidebar-brand-trigger:is(:where(.group)[data-collapsible=icon] *){display:none}.site-header{height:var(--header-height);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);background-color:var(--background);padding-inline:calc(var(--spacing) * 4);flex-shrink:0;display:flex}@media(min-width:64rem){.site-header{padding-inline:calc(var(--spacing) * 6)}}.site-header-left{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);display:flex}.site-header-mobile-trigger{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);flex-shrink:0}@media(min-width:48rem){.site-header-mobile-trigger{display:none}}.site-header-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);overflow:hidden}.site-header-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.site-header-search{height:calc(var(--spacing) * 8);gap:calc(var(--spacing) * 2);color:var(--muted-foreground)}.site-header-kbd{pointer-events:none;height:calc(var(--spacing) * 5);align-items:center;gap:calc(var(--spacing) * 1);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:var(--font-weight-medium);opacity:1;-webkit-user-select:none;user-select:none;border-radius:.25rem;display:none}@media(min-width:40rem){.site-header-kbd{display:flex}}:where(.activity-list>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--border)}.activity-row{align-items:flex-start;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media(hover:hover){.activity-row:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.activity-row:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}.activity-icon-wrap{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);border-radius:var(--radius);background-color:var(--muted);color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-body{min-width:calc(var(--spacing) * 0);flex:1}.activity-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);overflow:hidden}.activity-detail{margin-top:calc(var(--spacing) * .5);text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);overflow:hidden}.activity-time{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);flex-shrink:0}.activity-empty{padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 8);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.activity-badge{align-items:center;gap:calc(var(--spacing) * 1);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;display:inline-flex}.activity-badge-new{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.activity-badge-new{background-color:color-mix(in oklab,var(--primary) 15%,transparent)}}.activity-badge-new{color:var(--primary)}.activity-badge-doc{background-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.activity-badge-doc{background-color:color-mix(in oklab,var(--chart-2) 15%,transparent)}}.activity-badge-doc{color:var(--chart-2)}.activity-badge-upd{background-color:var(--muted);color:var(--muted-foreground)}.activity-badge-err{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.activity-badge-err{background-color:color-mix(in oklab,var(--destructive) 15%,transparent)}}.activity-badge-err{color:var(--destructive)}.docs-page{max-width:1200px;padding:calc(var(--spacing) * 6);margin-inline:auto}.docs-page-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.docs-page-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.docs-empty{border-radius:var(--radius);border-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 10)}.docs-empty-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.docs-empty-desc{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.docs-empty-code{margin-block:calc(var(--spacing) * 4);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));white-space:pre;color:var(--foreground);border-radius:.25rem;display:block;overflow-x:auto}.docs-empty-hint{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.doc-view{max-width:860px;padding:calc(var(--spacing) * 8);margin-inline:auto}.doc-view-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.doc-view-meta{margin-top:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.note-editor{max-width:820px;padding:calc(var(--spacing) * 6);margin-inline:auto}.note-editor-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.note-editor-title{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.note-editor-textarea{resize:vertical;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;min-height:60vh;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.note-editor-textarea:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring)}.notes-search{max-width:860px;padding:calc(var(--spacing) * 6);margin-inline:auto}.notes-search-input{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.notes-search-input:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring)}.notes-search-hit{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:block}@media(hover:hover){.notes-search-hit:hover{border-color:var(--ring);background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.notes-search-hit:hover{background-color:color-mix(in oklab,var(--accent) 40%,transparent)}}}.notes-search-hit-title{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.notes-search-hit-snippet{margin-top:calc(var(--spacing) * 1);-webkit-line-clamp:2;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.graph-page{min-height:calc(var(--spacing) * 0);flex-direction:column;flex:1;display:flex}.graph-page-head{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);justify-content:space-between;align-items:baseline;display:flex}.graph-canvas-wrap{min-height:calc(var(--spacing) * 0);flex:1}.wikilink{background-color:var(--primary);border-radius:.25rem}@supports (color:color-mix(in lab,red,red)){.wikilink{background-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.wikilink{padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--primary);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.wikilink:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.wikilink:hover{background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}}.wikilink-missing{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.wikilink-missing{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.wikilink-missing{color:var(--destructive)}.prose-body{--tw-leading:calc(var(--spacing) * 7);font-size:15px;line-height:calc(var(--spacing) * 7);color:var(--foreground)}.prose-body h1,.prose-body h2,.prose-body h3{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--foreground)}.prose-body h1{margin-top:calc(var(--spacing) * 0);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.prose-body h2{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.prose-body h3{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.prose-body p{margin-block:calc(var(--spacing) * 3)}.prose-body ul{margin-block:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 6);list-style-type:disc}.prose-body ol{margin-block:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 6);list-style-type:decimal}.prose-body li{margin-block:calc(var(--spacing) * 1)}.prose-body a{color:var(--primary);text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:dotted}@media(hover:hover){.prose-body a:hover{text-decoration-style:solid}}.prose-body code{background-color:var(--muted);padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);color:var(--foreground);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.85em}.prose-body pre{margin-block:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 3);overflow-x:auto}.prose-body pre code{padding:calc(var(--spacing) * 0);background-color:#0000;font-size:13px}.prose-body blockquote{margin-block:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--border);padding-left:calc(var(--spacing) * 4);color:var(--muted-foreground);font-style:italic}.prose-body hr{margin-block:calc(var(--spacing) * 6);border-color:var(--border)}.theme-toggle{border-radius:var(--radius);padding:calc(var(--spacing) * 1.5);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.theme-toggle:hover{background-color:var(--muted)}}.tree-node-folder{align-items:center;gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;display:flex}.tree-node-note{align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:.25rem;display:flex}@media(hover:hover){.tree-node-note:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.tree-node-note:hover{background-color:color-mix(in oklab,var(--accent) 60%,transparent)}}}.tree-node-note-active{background-color:var(--accent);color:var(--foreground)}.link-panel-section{margin-bottom:calc(var(--spacing) * 6)}.link-panel-heading{margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}:where(.link-panel-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.link-panel-item{text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);display:block;overflow:hidden}@media(hover:hover){.link-panel-item:hover{color:var(--primary)}}.link-panel-empty{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.cmd-chip{margin-right:calc(var(--spacing) * 2);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);color:var(--muted-foreground);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}}@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[18\%\]{top:18%}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[140px\]{height:140px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-72{width:calc(var(--spacing) * 72)}.w-\[56px\]{width:56px}.w-\[100px\]{width:100px}.w-\[220px\]{width:220px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[620px\]{max-width:620px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-repeat{background-repeat:repeat}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:Geist Mono,ui-monospace,monospace}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground) 60%,transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-border{--tw-ring-color:var(--border)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:calc(var(--radius) + 2px)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:text-left{text-align:left}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:text-left{text-align:left}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:var(--border)}@supports (color:color-mix(in lab,red,red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:color-mix(in oklab,var(--border) 50%,transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{--background:oklch(99% 0 0);--foreground:oklch(17% .01 260);--card:oklch(100% 0 0);--card-foreground:oklch(17% .01 260);--popover:oklch(100% 0 0);--popover-foreground:oklch(17% .01 260);--muted:oklch(97% .005 260);--muted-foreground:oklch(50% .01 260);--accent:oklch(96% .005 260);--accent-foreground:oklch(17% .01 260);--border:oklch(92% .005 260);--input:oklch(92% .005 260);--primary:oklch(68% .16 152);--primary-foreground:oklch(100% 0 0);--ring:oklch(68% .16 152);--secondary:oklch(97% .005 260);--secondary-foreground:oklch(17% .01 260);--destructive:oklch(58% .2 27);--destructive-foreground:oklch(100% 0 0);--chart-1:oklch(68% .16 152);--chart-2:oklch(60% .18 250);--chart-3:oklch(62% .2 300);--chart-4:oklch(72% .15 80);--chart-5:oklch(58% .2 27);--sidebar:oklch(98% 0 0);--sidebar-foreground:oklch(17% .01 260);--sidebar-primary:oklch(68% .16 152);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(95% .005 260);--sidebar-accent-foreground:oklch(17% .01 260);--sidebar-border:oklch(92% .005 260);--sidebar-ring:oklch(68% .16 152);--radius:.375rem}.dark{--background:oklch(14% .01 260);--foreground:oklch(92% .005 260);--card:oklch(17% .01 260);--card-foreground:oklch(92% .005 260);--popover:oklch(19% .01 260);--popover-foreground:oklch(92% .005 260);--muted:oklch(20% .01 260);--muted-foreground:oklch(62% .01 260);--accent:oklch(22% .01 260);--accent-foreground:oklch(92% .005 260);--border:oklch(25% .01 260);--input:oklch(25% .01 260);--primary:oklch(78% .17 152);--primary-foreground:oklch(14% .01 260);--ring:oklch(78% .17 152);--secondary:oklch(22% .01 260);--secondary-foreground:oklch(92% .005 260);--destructive:oklch(70% .2 27);--destructive-foreground:oklch(14% .01 260);--chart-1:oklch(78% .17 152);--chart-2:oklch(70% .18 250);--chart-3:oklch(72% .2 300);--chart-4:oklch(78% .15 80);--chart-5:oklch(70% .2 27);--sidebar:oklch(16% .01 260);--sidebar-foreground:oklch(92% .005 260);--sidebar-primary:oklch(78% .17 152);--sidebar-primary-foreground:oklch(14% .01 260);--sidebar-accent:oklch(22% .01 260);--sidebar-accent-foreground:oklch(92% .005 260);--sidebar-border:oklch(25% .01 260);--sidebar-ring:oklch(78% .17 152)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Geist;src:url(/fonts/Geist-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-500.woff2)format("woff2");font-weight:500;font-display:swap}html,body,#root{background:var(--background);height:100%;color:var(--foreground);font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}@supports (padding:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}a:focus-visible,button:not([data-slot]):focus-visible,[role=link]:focus-visible{outline:1.5px solid var(--ring);outline-offset:2px;border-radius:calc(var(--radius) - 2px)}html,body{overscroll-behavior:none}@media(max-width:640px){input,select,textarea{font-size:16px!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--muted-foreground) 30%,transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch,var(--muted-foreground) 50%,transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:padding-box;border:2px solid #0000}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/ui/dist/assets/index-DEeQUcqL.js b/ui/dist/assets/index-DEeQUcqL.js deleted file mode 100644 index 7b55a4a..0000000 --- a/ui/dist/assets/index-DEeQUcqL.js +++ /dev/null @@ -1,221 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NotesLayout-B2b1sadk.js","assets/markdown-BU1qdTNu.js","assets/graph-mfGjgYhn.js","assets/NoteView-DbbP0PJj.js","assets/NoteEditor-XWs05OuT.js","assets/NotesSearch-BjwNYEol.js","assets/DocumentsList-DDiV8Alk.js","assets/useDocs-EWsD7rBb.js","assets/DocumentView-S_kRD8s0.js","assets/Graph-DhboX9Bv.js","assets/MCPConsole-B2jF6C5Z.js"])))=>i.map(i=>d[i]); -var Rw=Object.defineProperty;var fy=n=>{throw TypeError(n)};var Aw=(n,l,r)=>l in n?Rw(n,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[l]=r;var id=(n,l,r)=>Aw(n,typeof l!="symbol"?l+"":l,r),od=(n,l,r)=>l.has(n)||fy("Cannot "+r);var O=(n,l,r)=>(od(n,l,"read from private field"),r?r.call(n):l.get(n)),pe=(n,l,r)=>l.has(n)?fy("Cannot add the same private member more than once"):l instanceof WeakSet?l.add(n):l.set(n,r),re=(n,l,r,o)=>(od(n,l,"write to private field"),o?o.call(n,r):l.set(n,r),r),Ce=(n,l,r)=>(od(n,l,"access private method"),r);var tu=(n,l,r,o)=>({set _(s){re(n,l,s,r)},get _(){return O(n,l,o)}});import{_ as ll}from"./markdown-BU1qdTNu.js";import{f as _w,a as Mw,b as Ow,c as Nw,d as Dw,e as jw}from"./graph-mfGjgYhn.js";function zw(n,l){for(var r=0;ro[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const c of s)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function r(s){const c={};return s.integrity&&(c.integrity=s.integrity),s.referrerPolicy&&(c.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?c.credentials="include":s.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function o(s){if(s.ep)return;s.ep=!0;const c=r(s);fetch(s.href,c)}})();function Ib(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var sd={exports:{}},ro={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var dy;function Uw(){if(dy)return ro;dy=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function r(o,s,c){var d=null;if(c!==void 0&&(d=""+c),s.key!==void 0&&(d=""+s.key),"key"in s){c={};for(var h in s)h!=="key"&&(c[h]=s[h])}else c=s;return s=c.ref,{$$typeof:n,type:o,key:d,ref:s!==void 0?s:null,props:c}}return ro.Fragment=l,ro.jsx=r,ro.jsxs=r,ro}var hy;function Lw(){return hy||(hy=1,sd.exports=Uw()),sd.exports}var x=Lw(),ud={exports:{}},xe={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var my;function Bw(){if(my)return xe;my=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),E=Symbol.iterator;function T(_){return _===null||typeof _!="object"?null:(_=E&&_[E]||_["@@iterator"],typeof _=="function"?_:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,C={};function A(_,D,Q){this.props=_,this.context=D,this.refs=C,this.updater=Q||R}A.prototype.isReactComponent={},A.prototype.setState=function(_,D){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,D,"setState")},A.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function N(){}N.prototype=A.prototype;function j(_,D,Q){this.props=_,this.context=D,this.refs=C,this.updater=Q||R}var z=j.prototype=new N;z.constructor=j,w(z,A.prototype),z.isPureReactComponent=!0;var P=Array.isArray;function Y(){}var G={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function le(_,D,Q){var Z=Q.ref;return{$$typeof:n,type:_,key:D,ref:Z!==void 0?Z:null,props:Q}}function ie(_,D){return le(_.type,D,_.props)}function se(_){return typeof _=="object"&&_!==null&&_.$$typeof===n}function ne(_){var D={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(Q){return D[Q]})}var be=/\/+/g;function ce(_,D){return typeof _=="object"&&_!==null&&_.key!=null?ne(""+_.key):D.toString(36)}function ge(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(Y,Y):(_.status="pending",_.then(function(D){_.status==="pending"&&(_.status="fulfilled",_.value=D)},function(D){_.status==="pending"&&(_.status="rejected",_.reason=D)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function B(_,D,Q,Z,ee){var ae=typeof _;(ae==="undefined"||ae==="boolean")&&(_=null);var J=!1;if(_===null)J=!0;else switch(ae){case"bigint":case"string":case"number":J=!0;break;case"object":switch(_.$$typeof){case n:case l:J=!0;break;case b:return J=_._init,B(J(_._payload),D,Q,Z,ee)}}if(J)return ee=ee(_),J=Z===""?"."+ce(_,0):Z,P(ee)?(Q="",J!=null&&(Q=J.replace(be,"$&/")+"/"),B(ee,D,Q,"",function(Ae){return Ae})):ee!=null&&(se(ee)&&(ee=ie(ee,Q+(ee.key==null||_&&_.key===ee.key?"":(""+ee.key).replace(be,"$&/")+"/")+J)),D.push(ee)),1;J=0;var me=Z===""?".":Z+":";if(P(_))for(var ue=0;ue<_.length;ue++)Z=_[ue],ae=me+ce(Z,ue),J+=B(Z,D,Q,ae,ee);else if(ue=T(_),typeof ue=="function")for(_=ue.call(_),ue=0;!(Z=_.next()).done;)Z=Z.value,ae=me+ce(Z,ue++),J+=B(Z,D,Q,ae,ee);else if(ae==="object"){if(typeof _.then=="function")return B(ge(_),D,Q,Z,ee);throw D=String(_),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.")}return J}function F(_,D,Q){if(_==null)return _;var Z=[],ee=0;return B(_,Z,"","",function(ae){return D.call(Q,ae,ee++)}),Z}function $(_){if(_._status===-1){var D=_._result;D=D(),D.then(function(Q){(_._status===0||_._status===-1)&&(_._status=1,_._result=Q)},function(Q){(_._status===0||_._status===-1)&&(_._status=2,_._result=Q)}),_._status===-1&&(_._status=0,_._result=D)}if(_._status===1)return _._result.default;throw _._result}var W=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var D=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(D))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},de={map:F,forEach:function(_,D,Q){F(_,function(){D.apply(this,arguments)},Q)},count:function(_){var D=0;return F(_,function(){D++}),D},toArray:function(_){return F(_,function(D){return D})||[]},only:function(_){if(!se(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return xe.Activity=y,xe.Children=de,xe.Component=A,xe.Fragment=r,xe.Profiler=s,xe.PureComponent=j,xe.StrictMode=o,xe.Suspense=v,xe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=G,xe.__COMPILER_RUNTIME={__proto__:null,c:function(_){return G.H.useMemoCache(_)}},xe.cache=function(_){return function(){return _.apply(null,arguments)}},xe.cacheSignal=function(){return null},xe.cloneElement=function(_,D,Q){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var Z=w({},_.props),ee=_.key;if(D!=null)for(ae in D.key!==void 0&&(ee=""+D.key),D)!te.call(D,ae)||ae==="key"||ae==="__self"||ae==="__source"||ae==="ref"&&D.ref===void 0||(Z[ae]=D[ae]);var ae=arguments.length-2;if(ae===1)Z.children=Q;else if(1>>1,de=B[W];if(0>>1;W<_;){var D=2*(W+1)-1,Q=B[D],Z=D+1,ee=B[Z];if(0>s(Q,$))Zs(ee,Q)?(B[W]=ee,B[Z]=$,W=Z):(B[W]=Q,B[D]=$,W=D);else if(Zs(ee,$))B[W]=ee,B[Z]=$,W=Z;else break e}}return F}function s(B,F){var $=B.sortIndex-F.sortIndex;return $!==0?$:B.id-F.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();n.unstable_now=function(){return d.now()-h}}var v=[],p=[],b=1,y=null,E=3,T=!1,R=!1,w=!1,C=!1,A=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;function z(B){for(var F=r(p);F!==null;){if(F.callback===null)o(p);else if(F.startTime<=B)o(p),F.sortIndex=F.expirationTime,l(v,F);else break;F=r(p)}}function P(B){if(w=!1,z(B),!R)if(r(v)!==null)R=!0,Y||(Y=!0,ne());else{var F=r(p);F!==null&&ge(P,F.startTime-B)}}var Y=!1,G=-1,te=5,le=-1;function ie(){return C?!0:!(n.unstable_now()-leB&&ie());){var W=y.callback;if(typeof W=="function"){y.callback=null,E=y.priorityLevel;var de=W(y.expirationTime<=B);if(B=n.unstable_now(),typeof de=="function"){y.callback=de,z(B),F=!0;break t}y===r(v)&&o(v),z(B)}else o(v);y=r(v)}if(y!==null)F=!0;else{var _=r(p);_!==null&&ge(P,_.startTime-B),F=!1}}break e}finally{y=null,E=$,T=!1}F=void 0}}finally{F?ne():Y=!1}}}var ne;if(typeof j=="function")ne=function(){j(se)};else if(typeof MessageChannel<"u"){var be=new MessageChannel,ce=be.port2;be.port1.onmessage=se,ne=function(){ce.postMessage(null)}}else ne=function(){A(se,0)};function ge(B,F){G=A(function(){B(n.unstable_now())},F)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(B){B.callback=null},n.unstable_forceFrameRate=function(B){0>B||125W?(B.sortIndex=$,l(p,B),r(v)===null&&B===r(p)&&(w?(N(G),G=-1):w=!0,ge(P,$-W))):(B.sortIndex=de,l(v,B),R||T||(R=!0,Y||(Y=!0,ne()))),B},n.unstable_shouldYield=ie,n.unstable_wrapCallback=function(B){var F=E;return function(){var $=E;E=F;try{return B.apply(this,arguments)}finally{E=$}}}})(dd)),dd}var gy;function kw(){return gy||(gy=1,fd.exports=Hw()),fd.exports}var hd={exports:{}},bt={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var yy;function qw(){if(yy)return bt;yy=1;var n=gh();function l(v){var p="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),hd.exports=qw(),hd.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var xy;function Gw(){if(xy)return io;xy=1;var n=kw(),l=gh(),r=Yb();function o(e){var t="https://react.dev/errors/"+e;if(1de||(e.current=W[de],W[de]=null,de--)}function Q(e,t){de++,W[de]=e.current,e.current=t}var Z=_(null),ee=_(null),ae=_(null),J=_(null);function me(e,t){switch(Q(ae,t),Q(ee,e),Q(Z,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?zg(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=zg(t),e=Ug(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}D(Z),Q(Z,e)}function ue(){D(Z),D(ee),D(ae)}function Ae(e){e.memoizedState!==null&&Q(J,e);var t=Z.current,a=Ug(t,e.type);t!==a&&(Q(ee,e),Q(Z,a))}function ze(e){ee.current===e&&(D(Z),D(ee)),J.current===e&&(D(J),to._currentValue=$)}var Ue,yt;function ut(e){if(Ue===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ue=t&&t[1]||"",yt=-1)":-1u||M[i]!==k[u]){var I=` -`+M[i].replace(" at new "," at ");return e.displayName&&I.includes("")&&(I=I.replace("",e.displayName)),I}while(1<=i&&0<=u);break}}}finally{Ln=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ut(a):""}function sl(e,t){switch(e.tag){case 26:case 27:case 5:return ut(e.type);case 16:return ut("Lazy");case 13:return e.child!==t&&t!==null?ut("Suspense Fallback"):ut("Suspense");case 19:return ut("SuspenseList");case 0:case 15:return Bn(e.type,!1);case 11:return Bn(e.type.render,!1);case 1:return Bn(e.type,!0);case 31:return ut("Activity");default:return""}}function Bo(e){try{var t="",a=null;do t+=sl(e,a),a=e,e=e.return;while(e);return t}catch(i){return` -Error generating stack: `+i.message+` -`+i.stack}}var ha=Object.prototype.hasOwnProperty,Yu=n.unstable_scheduleCallback,Qu=n.unstable_cancelCallback,l1=n.unstable_shouldYield,r1=n.unstable_requestPaint,Ht=n.unstable_now,i1=n.unstable_getCurrentPriorityLevel,dm=n.unstable_ImmediatePriority,hm=n.unstable_UserBlockingPriority,Ho=n.unstable_NormalPriority,o1=n.unstable_LowPriority,mm=n.unstable_IdlePriority,s1=n.log,u1=n.unstable_setDisableYieldValue,hi=null,kt=null;function ma(e){if(typeof s1=="function"&&u1(e),kt&&typeof kt.setStrictMode=="function")try{kt.setStrictMode(hi,e)}catch{}}var qt=Math.clz32?Math.clz32:d1,c1=Math.log,f1=Math.LN2;function d1(e){return e>>>=0,e===0?32:31-(c1(e)/f1|0)|0}var ko=256,qo=262144,Go=4194304;function ul(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Vo(e,t,a){var i=e.pendingLanes;if(i===0)return 0;var u=0,f=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var S=i&134217727;return S!==0?(i=S&~f,i!==0?u=ul(i):(g&=S,g!==0?u=ul(g):a||(a=S&~e,a!==0&&(u=ul(a))))):(S=i&~f,S!==0?u=ul(S):g!==0?u=ul(g):a||(a=i&~e,a!==0&&(u=ul(a)))),u===0?0:t!==0&&t!==u&&(t&f)===0&&(f=u&-u,a=t&-t,f>=a||f===32&&(a&4194048)!==0)?t:u}function mi(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function h1(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function pm(){var e=Go;return Go<<=1,(Go&62914560)===0&&(Go=4194304),e}function Ku(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function pi(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function m1(e,t,a,i,u,f){var g=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var S=e.entanglements,M=e.expirationTimes,k=e.hiddenUpdates;for(a=g&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var x1=/[\n"\\]/g;function Jt(e){return e.replace(x1,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Wu(e,t,a,i,u,f,g,S){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+$t(t)):e.value!==""+$t(t)&&(e.value=""+$t(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?ec(e,g,$t(t)):a!=null?ec(e,g,$t(a)):i!=null&&e.removeAttribute("value"),u==null&&f!=null&&(e.defaultChecked=!!f),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?e.name=""+$t(S):e.removeAttribute("name")}function _m(e,t,a,i,u,f,g,S){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(e.type=f),t!=null||a!=null){if(!(f!=="submit"&&f!=="reset"||t!=null)){Ju(e);return}a=a!=null?""+$t(a):"",t=t!=null?""+$t(t):a,S||t===e.value||(e.value=t),e.defaultValue=t}i=i??u,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=S?e.checked:!!i,e.defaultChecked=!!i,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),Ju(e)}function ec(e,t,a){t==="number"&&Yo(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function tr(e,t,a,i){if(e=e.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),rc=!1;if(qn)try{var bi={};Object.defineProperty(bi,"passive",{get:function(){rc=!0}}),window.addEventListener("test",bi,bi),window.removeEventListener("test",bi,bi)}catch{rc=!1}var va=null,ic=null,Ko=null;function Um(){if(Ko)return Ko;var e,t=ic,a=t.length,i,u="value"in va?va.value:va.textContent,f=u.length;for(e=0;e=Ei),Gm=" ",Vm=!1;function Pm(e,t){switch(e){case"keyup":return X1.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Im(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var rr=!1;function Z1(e,t){switch(e){case"compositionend":return Im(t);case"keypress":return t.which!==32?null:(Vm=!0,Gm);case"textInput":return e=t.data,e===Gm&&Vm?null:e;default:return null}}function $1(e,t){if(rr)return e==="compositionend"||!fc&&Pm(e,t)?(e=Um(),Ko=ic=va=null,rr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Jm(a)}}function ep(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ep(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function tp(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Yo(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Yo(e.document)}return t}function mc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var rE=qn&&"documentMode"in document&&11>=document.documentMode,ir=null,pc=null,Ri=null,vc=!1;function np(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;vc||ir==null||ir!==Yo(i)||(i=ir,"selectionStart"in i&&mc(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Ri&&Ti(Ri,i)||(Ri=i,i=qs(pc,"onSelect"),0>=g,u-=g,Sn=1<<32-qt(t)+u|a<we?(Ne=he,he=null):Ne=he.sibling;var Be=q(L,he,H[we],K);if(Be===null){he===null&&(he=Ne);break}e&&he&&Be.alternate===null&&t(L,he),U=f(Be,U,we),Le===null?ve=Be:Le.sibling=Be,Le=Be,he=Ne}if(we===H.length)return a(L,he),De&&Vn(L,we),ve;if(he===null){for(;wewe?(Ne=he,he=null):Ne=he.sibling;var Ha=q(L,he,Be.value,K);if(Ha===null){he===null&&(he=Ne);break}e&&he&&Ha.alternate===null&&t(L,he),U=f(Ha,U,we),Le===null?ve=Ha:Le.sibling=Ha,Le=Ha,he=Ne}if(Be.done)return a(L,he),De&&Vn(L,we),ve;if(he===null){for(;!Be.done;we++,Be=H.next())Be=X(L,Be.value,K),Be!==null&&(U=f(Be,U,we),Le===null?ve=Be:Le.sibling=Be,Le=Be);return De&&Vn(L,we),ve}for(he=i(he);!Be.done;we++,Be=H.next())Be=V(he,L,we,Be.value,K),Be!==null&&(e&&Be.alternate!==null&&he.delete(Be.key===null?we:Be.key),U=f(Be,U,we),Le===null?ve=Be:Le.sibling=Be,Le=Be);return e&&he.forEach(function(Tw){return t(L,Tw)}),De&&Vn(L,we),ve}function Ye(L,U,H,K){if(typeof H=="object"&&H!==null&&H.type===w&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case T:e:{for(var ve=H.key;U!==null;){if(U.key===ve){if(ve=H.type,ve===w){if(U.tag===7){a(L,U.sibling),K=u(U,H.props.children),K.return=L,L=K;break e}}else if(U.elementType===ve||typeof ve=="object"&&ve!==null&&ve.$$typeof===te&&xl(ve)===U.type){a(L,U.sibling),K=u(U,H.props),Di(K,H),K.return=L,L=K;break e}a(L,U);break}else t(L,U);U=U.sibling}H.type===w?(K=pl(H.props.children,L.mode,K,H.key),K.return=L,L=K):(K=as(H.type,H.key,H.props,null,L.mode,K),Di(K,H),K.return=L,L=K)}return g(L);case R:e:{for(ve=H.key;U!==null;){if(U.key===ve)if(U.tag===4&&U.stateNode.containerInfo===H.containerInfo&&U.stateNode.implementation===H.implementation){a(L,U.sibling),K=u(U,H.children||[]),K.return=L,L=K;break e}else{a(L,U);break}else t(L,U);U=U.sibling}K=wc(H,L.mode,K),K.return=L,L=K}return g(L);case te:return H=xl(H),Ye(L,U,H,K)}if(ge(H))return oe(L,U,H,K);if(ne(H)){if(ve=ne(H),typeof ve!="function")throw Error(o(150));return H=ve.call(H),ye(L,U,H,K)}if(typeof H.then=="function")return Ye(L,U,cs(H),K);if(H.$$typeof===j)return Ye(L,U,is(L,H),K);fs(L,H)}return typeof H=="string"&&H!==""||typeof H=="number"||typeof H=="bigint"?(H=""+H,U!==null&&U.tag===6?(a(L,U.sibling),K=u(U,H),K.return=L,L=K):(a(L,U),K=Ec(H,L.mode,K),K.return=L,L=K),g(L)):a(L,U)}return function(L,U,H,K){try{Ni=0;var ve=Ye(L,U,H,K);return gr=null,ve}catch(he){if(he===vr||he===ss)throw he;var Le=Vt(29,he,null,L.mode);return Le.lanes=K,Le.return=L,Le}finally{}}}var El=Tp(!0),Rp=Tp(!1),Sa=!1;function Uc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Lc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ea(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function wa(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(He&2)!==0){var u=i.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),i.pending=t,t=ns(e),up(e,null,a),t}return ts(e,i,t,a),ns(e)}function ji(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,gm(e,a)}}function Bc(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var u=null,f=null;if(a=a.firstBaseUpdate,a!==null){do{var g={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};f===null?u=f=g:f=f.next=g,a=a.next}while(a!==null);f===null?u=f=t:f=f.next=t}else u=f=t;a={baseState:i.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:i.shared,callbacks:i.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Hc=!1;function zi(){if(Hc){var e=pr;if(e!==null)throw e}}function Ui(e,t,a,i){Hc=!1;var u=e.updateQueue;Sa=!1;var f=u.firstBaseUpdate,g=u.lastBaseUpdate,S=u.shared.pending;if(S!==null){u.shared.pending=null;var M=S,k=M.next;M.next=null,g===null?f=k:g.next=k,g=M;var I=e.alternate;I!==null&&(I=I.updateQueue,S=I.lastBaseUpdate,S!==g&&(S===null?I.firstBaseUpdate=k:S.next=k,I.lastBaseUpdate=M))}if(f!==null){var X=u.baseState;g=0,I=k=M=null,S=f;do{var q=S.lane&-536870913,V=q!==S.lane;if(V?(Oe&q)===q:(i&q)===q){q!==0&&q===mr&&(Hc=!0),I!==null&&(I=I.next={lane:0,tag:S.tag,payload:S.payload,callback:null,next:null});e:{var oe=e,ye=S;q=t;var Ye=a;switch(ye.tag){case 1:if(oe=ye.payload,typeof oe=="function"){X=oe.call(Ye,X,q);break e}X=oe;break e;case 3:oe.flags=oe.flags&-65537|128;case 0:if(oe=ye.payload,q=typeof oe=="function"?oe.call(Ye,X,q):oe,q==null)break e;X=y({},X,q);break e;case 2:Sa=!0}}q=S.callback,q!==null&&(e.flags|=64,V&&(e.flags|=8192),V=u.callbacks,V===null?u.callbacks=[q]:V.push(q))}else V={lane:q,tag:S.tag,payload:S.payload,callback:S.callback,next:null},I===null?(k=I=V,M=X):I=I.next=V,g|=q;if(S=S.next,S===null){if(S=u.shared.pending,S===null)break;V=S,S=V.next,V.next=null,u.lastBaseUpdate=V,u.shared.pending=null}}while(!0);I===null&&(M=X),u.baseState=M,u.firstBaseUpdate=k,u.lastBaseUpdate=I,f===null&&(u.shared.lanes=0),_a|=g,e.lanes=g,e.memoizedState=X}}function Ap(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function _p(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;ef?f:8;var g=B.T,S={};B.T=S,af(e,!1,t,a);try{var M=u(),k=B.S;if(k!==null&&k(S,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var I=mE(M,i);Hi(e,t,I,Kt(e))}else Hi(e,t,i,Kt(e))}catch(X){Hi(e,t,{then:function(){},status:"rejected",reason:X},Kt())}finally{F.p=f,g!==null&&S.types!==null&&(g.types=S.types),B.T=g}}function xE(){}function tf(e,t,a,i){if(e.tag!==5)throw Error(o(476));var u=iv(e).queue;rv(e,u,t,$,a===null?xE:function(){return ov(e),a(i)})}function iv(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qn,lastRenderedState:$},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qn,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ov(e){var t=iv(e);t.next===null&&(t=e.alternate.memoizedState),Hi(e,t.next.queue,{},Kt())}function nf(){return pt(to)}function sv(){return tt().memoizedState}function uv(){return tt().memoizedState}function SE(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Kt();e=Ea(a);var i=wa(t,e,a);i!==null&&(zt(i,t,a),ji(i,t,a)),t={cache:Nc()},e.payload=t;return}t=t.return}}function EE(e,t,a){var i=Kt();a={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ss(e)?fv(t,a):(a=xc(e,t,a,i),a!==null&&(zt(a,e,i),dv(a,t,i)))}function cv(e,t,a){var i=Kt();Hi(e,t,a,i)}function Hi(e,t,a,i){var u={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Ss(e))fv(t,u);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=t.lastRenderedReducer,f!==null))try{var g=t.lastRenderedState,S=f(g,a);if(u.hasEagerState=!0,u.eagerState=S,Gt(S,g))return ts(e,t,u,0),Qe===null&&es(),!1}catch{}finally{}if(a=xc(e,t,u,i),a!==null)return zt(a,e,i),dv(a,t,i),!0}return!1}function af(e,t,a,i){if(i={lane:2,revertLane:Lf(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Ss(e)){if(t)throw Error(o(479))}else t=xc(e,a,i,2),t!==null&&zt(t,e,2)}function Ss(e){var t=e.alternate;return e===Ee||t!==null&&t===Ee}function fv(e,t){br=ms=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function dv(e,t,a){if((a&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,gm(e,a)}}var ki={readContext:pt,use:gs,useCallback:$e,useContext:$e,useEffect:$e,useImperativeHandle:$e,useLayoutEffect:$e,useInsertionEffect:$e,useMemo:$e,useReducer:$e,useRef:$e,useState:$e,useDebugValue:$e,useDeferredValue:$e,useTransition:$e,useSyncExternalStore:$e,useId:$e,useHostTransitionStatus:$e,useFormState:$e,useActionState:$e,useOptimistic:$e,useMemoCache:$e,useCacheRefresh:$e};ki.useEffectEvent=$e;var hv={readContext:pt,use:gs,useCallback:function(e,t){return Ct().memoizedState=[e,t===void 0?null:t],e},useContext:pt,useEffect:Zp,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,bs(4194308,4,ev.bind(null,t,e),a)},useLayoutEffect:function(e,t){return bs(4194308,4,e,t)},useInsertionEffect:function(e,t){bs(4,2,e,t)},useMemo:function(e,t){var a=Ct();t=t===void 0?null:t;var i=e();if(wl){ma(!0);try{e()}finally{ma(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=Ct();if(a!==void 0){var u=a(t);if(wl){ma(!0);try{a(t)}finally{ma(!1)}}}else u=t;return i.memoizedState=i.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},i.queue=e,e=e.dispatch=EE.bind(null,Ee,e),[i.memoizedState,e]},useRef:function(e){var t=Ct();return e={current:e},t.memoizedState=e},useState:function(e){e=Zc(e);var t=e.queue,a=cv.bind(null,Ee,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Wc,useDeferredValue:function(e,t){var a=Ct();return ef(a,e,t)},useTransition:function(){var e=Zc(!1);return e=rv.bind(null,Ee,e.queue,!0,!1),Ct().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=Ee,u=Ct();if(De){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Qe===null)throw Error(o(349));(Oe&127)!==0||zp(i,t,a)}u.memoizedState=a;var f={value:a,getSnapshot:t};return u.queue=f,Zp(Lp.bind(null,i,f,e),[e]),i.flags|=2048,Sr(9,{destroy:void 0},Up.bind(null,i,f,a,t),null),a},useId:function(){var e=Ct(),t=Qe.identifierPrefix;if(De){var a=En,i=Sn;a=(i&~(1<<32-qt(i)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ps++,0<\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof i.is=="string"?g.createElement("select",{is:i.is}):g.createElement("select"),i.multiple?f.multiple=!0:i.size&&(f.size=i.size);break;default:f=typeof i.is=="string"?g.createElement(u,{is:i.is}):g.createElement(u)}}f[ht]=t,f[_t]=i;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)f.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=f;e:switch(gt(f,u,i),u){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Xn(t)}}return Xe(t),yf(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&Xn(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(o(166));if(e=ae.current,dr(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,u=mt,u!==null)switch(u.tag){case 27:case 5:i=u.memoizedProps}e[ht]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||Dg(e.nodeValue,a)),e||ba(t,!0)}else e=Gs(e).createTextNode(i),e[ht]=t,t.stateNode=e}return Xe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(i=dr(t),a!==null){if(e===null){if(!i)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ht]=t}else vl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),e=!1}else a=Ac(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(It(t),t):(It(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Xe(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=dr(t),i!==null&&i.dehydrated!==null){if(e===null){if(!u)throw Error(o(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(o(317));u[ht]=t}else vl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),u=!1}else u=Ac(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(It(t),t):(It(t),null)}return It(t),(t.flags&128)!==0?(t.lanes=a,t):(a=i!==null,e=e!==null&&e.memoizedState!==null,a&&(i=t.child,u=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(u=i.alternate.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==u&&(i.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Rs(t,t.updateQueue),Xe(t),null);case 4:return ue(),e===null&&qf(t.stateNode.containerInfo),Xe(t),null;case 10:return In(t.type),Xe(t),null;case 19:if(D(et),i=t.memoizedState,i===null)return Xe(t),null;if(u=(t.flags&128)!==0,f=i.rendering,f===null)if(u)Gi(i,!1);else{if(Je!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(f=hs(e),f!==null){for(t.flags|=128,Gi(i,!1),e=f.updateQueue,t.updateQueue=e,Rs(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)cp(a,e),a=a.sibling;return Q(et,et.current&1|2),De&&Vn(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&Ht()>Ns&&(t.flags|=128,u=!0,Gi(i,!1),t.lanes=4194304)}else{if(!u)if(e=hs(f),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,Rs(t,e),Gi(i,!0),i.tail===null&&i.tailMode==="hidden"&&!f.alternate&&!De)return Xe(t),null}else 2*Ht()-i.renderingStartTime>Ns&&a!==536870912&&(t.flags|=128,u=!0,Gi(i,!1),t.lanes=4194304);i.isBackwards?(f.sibling=t.child,t.child=f):(e=i.last,e!==null?e.sibling=f:t.child=f,i.last=f)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Ht(),e.sibling=null,a=et.current,Q(et,u?a&1|2:a&1),De&&Vn(t,i.treeForkCount),e):(Xe(t),null);case 22:case 23:return It(t),qc(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?(a&536870912)!==0&&(t.flags&128)===0&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),a=t.updateQueue,a!==null&&Rs(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==a&&(t.flags|=2048),e!==null&&D(bl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),In(nt),Xe(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function AE(e,t){switch(Tc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return In(nt),ue(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ze(t),null;case 31:if(t.memoizedState!==null){if(It(t),t.alternate===null)throw Error(o(340));vl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(It(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));vl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(et),null;case 4:return ue(),null;case 10:return In(t.type),null;case 22:case 23:return It(t),qc(),e!==null&&D(bl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return In(nt),null;case 25:return null;default:return null}}function Bv(e,t){switch(Tc(t),t.tag){case 3:In(nt),ue();break;case 26:case 27:case 5:ze(t);break;case 4:ue();break;case 31:t.memoizedState!==null&&It(t);break;case 13:It(t);break;case 19:D(et);break;case 10:In(t.type);break;case 22:case 23:It(t),qc(),e!==null&&D(bl);break;case 24:In(nt)}}function Vi(e,t){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var u=i.next;a=u;do{if((a.tag&e)===e){i=void 0;var f=a.create,g=a.inst;i=f(),g.destroy=i}a=a.next}while(a!==u)}}catch(S){Ge(t,t.return,S)}}function Ra(e,t,a){try{var i=t.updateQueue,u=i!==null?i.lastEffect:null;if(u!==null){var f=u.next;i=f;do{if((i.tag&e)===e){var g=i.inst,S=g.destroy;if(S!==void 0){g.destroy=void 0,u=t;var M=a,k=S;try{k()}catch(I){Ge(u,M,I)}}}i=i.next}while(i!==f)}}catch(I){Ge(t,t.return,I)}}function Hv(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{_p(t,a)}catch(i){Ge(e,e.return,i)}}}function kv(e,t,a){a.props=Cl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){Ge(e,t,i)}}function Pi(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof a=="function"?e.refCleanup=a(i):a.current=i}}catch(u){Ge(e,t,u)}}function wn(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(u){Ge(e,t,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(u){Ge(e,t,u)}else a.current=null}function qv(e){var t=e.type,a=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&i.focus();break e;case"img":a.src?i.src=a.src:a.srcSet&&(i.srcset=a.srcSet)}}catch(u){Ge(e,e.return,u)}}function bf(e,t,a){try{var i=e.stateNode;FE(i,e.type,a,t),i[_t]=t}catch(u){Ge(e,e.return,u)}}function Gv(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ja(e.type)||e.tag===4}function xf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ja(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sf(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=kn));else if(i!==4&&(i===27&&ja(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Sf(e,t,a),e=e.sibling;e!==null;)Sf(e,t,a),e=e.sibling}function As(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(i!==4&&(i===27&&ja(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(As(e,t,a),e=e.sibling;e!==null;)As(e,t,a),e=e.sibling}function Vv(e){var t=e.stateNode,a=e.memoizedProps;try{for(var i=e.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);gt(t,i,a),t[ht]=e,t[_t]=a}catch(f){Ge(e,e.return,f)}}var Fn=!1,rt=!1,Ef=!1,Pv=typeof WeakSet=="function"?WeakSet:Set,ft=null;function _E(e,t){if(e=e.containerInfo,Pf=Xs,e=tp(e),mc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var u=i.anchorOffset,f=i.focusNode;i=i.focusOffset;try{a.nodeType,f.nodeType}catch{a=null;break e}var g=0,S=-1,M=-1,k=0,I=0,X=e,q=null;t:for(;;){for(var V;X!==a||u!==0&&X.nodeType!==3||(S=g+u),X!==f||i!==0&&X.nodeType!==3||(M=g+i),X.nodeType===3&&(g+=X.nodeValue.length),(V=X.firstChild)!==null;)q=X,X=V;for(;;){if(X===e)break t;if(q===a&&++k===u&&(S=g),q===f&&++I===i&&(M=g),(V=X.nextSibling)!==null)break;X=q,q=X.parentNode}X=V}a=S===-1||M===-1?null:{start:S,end:M}}else a=null}a=a||{start:0,end:0}}else a=null;for(If={focusedElem:e,selectionRange:a},Xs=!1,ft=t;ft!==null;)if(t=ft,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ft=e;else for(;ft!==null;){switch(t=ft,f=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),gt(f,i,a),f[ht]=e,ct(f),i=f;break e;case"link":var g=Fg("link","href",u).get(i+(a.href||""));if(g){for(var S=0;SYe&&(g=Ye,Ye=ye,ye=g);var L=Wm(S,ye),U=Wm(S,Ye);if(L&&U&&(V.rangeCount!==1||V.anchorNode!==L.node||V.anchorOffset!==L.offset||V.focusNode!==U.node||V.focusOffset!==U.offset)){var H=X.createRange();H.setStart(L.node,L.offset),V.removeAllRanges(),ye>Ye?(V.addRange(H),V.extend(U.node,U.offset)):(H.setEnd(U.node,U.offset),V.addRange(H))}}}}for(X=[],V=S;V=V.parentNode;)V.nodeType===1&&X.push({element:V,left:V.scrollLeft,top:V.scrollTop});for(typeof S.focus=="function"&&S.focus(),S=0;Sa?32:a,B.T=null,a=Mf,Mf=null;var f=Oa,g=ea;if(ot=0,Rr=Oa=null,ea=0,(He&6)!==0)throw Error(o(331));var S=He;if(He|=4,eg(f.current),$v(f,f.current,g,a),He=S,Fi(0,!1),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(hi,f)}catch{}return!0}finally{F.p=u,B.T=i,yg(e,t)}}function xg(e,t,a){t=en(a,t),t=sf(e.stateNode,t,2),e=wa(e,t,2),e!==null&&(pi(e,2),Cn(e))}function Ge(e,t,a){if(e.tag===3)xg(e,e,a);else for(;t!==null;){if(t.tag===3){xg(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Ma===null||!Ma.has(i))){e=en(a,e),a=Sv(2),i=wa(t,a,2),i!==null&&(Ev(a,i,t,e),pi(i,2),Cn(i));break}}t=t.return}}function jf(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new NE;var u=new Set;i.set(t,u)}else u=i.get(t),u===void 0&&(u=new Set,i.set(t,u));u.has(a)||(Tf=!0,u.add(a),e=LE.bind(null,e,t,a),t.then(e,e))}function LE(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Qe===e&&(Oe&a)===a&&(Je===4||Je===3&&(Oe&62914560)===Oe&&300>Ht()-Os?(He&2)===0&&Ar(e,0):Rf|=a,Tr===Oe&&(Tr=0)),Cn(e)}function Sg(e,t){t===0&&(t=pm()),e=ml(e,t),e!==null&&(pi(e,t),Cn(e))}function BE(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Sg(e,a)}function HE(e,t){var a=0;switch(e.tag){case 31:case 13:var i=e.stateNode,u=e.memoizedState;u!==null&&(a=u.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(o(314))}i!==null&&i.delete(t),Sg(e,a)}function kE(e,t){return Yu(e,t)}var Bs=null,Mr=null,zf=!1,Hs=!1,Uf=!1,Da=0;function Cn(e){e!==Mr&&e.next===null&&(Mr===null?Bs=Mr=e:Mr=Mr.next=e),Hs=!0,zf||(zf=!0,GE())}function Fi(e,t){if(!Uf&&Hs){Uf=!0;do for(var a=!1,i=Bs;i!==null;){if(e!==0){var u=i.pendingLanes;if(u===0)var f=0;else{var g=i.suspendedLanes,S=i.pingedLanes;f=(1<<31-qt(42|e)+1)-1,f&=u&~(g&~S),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(a=!0,Tg(i,f))}else f=Oe,f=Vo(i,i===Qe?f:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(f&3)===0||mi(i,f)||(a=!0,Tg(i,f));i=i.next}while(a);Uf=!1}}function qE(){Eg()}function Eg(){Hs=zf=!1;var e=0;Da!==0&&$E()&&(e=Da);for(var t=Ht(),a=null,i=Bs;i!==null;){var u=i.next,f=wg(i,t);f===0?(i.next=null,a===null?Bs=u:a.next=u,u===null&&(Mr=a)):(a=i,(e!==0||(f&3)!==0)&&(Hs=!0)),i=u}ot!==0&&ot!==5||Fi(e),Da!==0&&(Da=0)}function wg(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,u=e.expirationTimes,f=e.pendingLanes&-62914561;0S)break;var I=M.transferSize,X=M.initiatorType;I&&jg(X)&&(M=M.responseEnd,g+=I*(M"u"?null:document;function Yg(e,t,a){var i=Or;if(i&&typeof t=="string"&&t){var u=Jt(t);u='link[rel="'+e+'"][href="'+u+'"]',typeof a=="string"&&(u+='[crossorigin="'+a+'"]'),Ig.has(u)||(Ig.add(u),e={rel:e,crossOrigin:a,href:t},i.querySelector(u)===null&&(t=i.createElement("link"),gt(t,"link",e),ct(t),i.head.appendChild(t)))}}function iw(e){ta.D(e),Yg("dns-prefetch",e,null)}function ow(e,t){ta.C(e,t),Yg("preconnect",e,t)}function sw(e,t,a){ta.L(e,t,a);var i=Or;if(i&&e&&t){var u='link[rel="preload"][as="'+Jt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(u+='[imagesrcset="'+Jt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(u+='[imagesizes="'+Jt(a.imageSizes)+'"]')):u+='[href="'+Jt(e)+'"]';var f=u;switch(t){case"style":f=Nr(e);break;case"script":f=Dr(e)}on.has(f)||(e=y({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),on.set(f,e),i.querySelector(u)!==null||t==="style"&&i.querySelector(Wi(f))||t==="script"&&i.querySelector(eo(f))||(t=i.createElement("link"),gt(t,"link",e),ct(t),i.head.appendChild(t)))}}function uw(e,t){ta.m(e,t);var a=Or;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+Jt(i)+'"][href="'+Jt(e)+'"]',f=u;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Dr(e)}if(!on.has(f)&&(e=y({rel:"modulepreload",href:e},t),on.set(f,e),a.querySelector(u)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(eo(f)))return}i=a.createElement("link"),gt(i,"link",e),ct(i),a.head.appendChild(i)}}}function cw(e,t,a){ta.S(e,t,a);var i=Or;if(i&&e){var u=Wl(i).hoistableStyles,f=Nr(e);t=t||"default";var g=u.get(f);if(!g){var S={loading:0,preload:null};if(g=i.querySelector(Wi(f)))S.loading=5;else{e=y({rel:"stylesheet",href:e,"data-precedence":t},a),(a=on.get(f))&&$f(e,a);var M=g=i.createElement("link");ct(M),gt(M,"link",e),M._p=new Promise(function(k,I){M.onload=k,M.onerror=I}),M.addEventListener("load",function(){S.loading|=1}),M.addEventListener("error",function(){S.loading|=2}),S.loading|=4,Ps(g,t,i)}g={type:"stylesheet",instance:g,count:1,state:S},u.set(f,g)}}}function fw(e,t){ta.X(e,t);var a=Or;if(a&&e){var i=Wl(a).hoistableScripts,u=Dr(e),f=i.get(u);f||(f=a.querySelector(eo(u)),f||(e=y({src:e,async:!0},t),(t=on.get(u))&&Jf(e,t),f=a.createElement("script"),ct(f),gt(f,"link",e),a.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(u,f))}}function dw(e,t){ta.M(e,t);var a=Or;if(a&&e){var i=Wl(a).hoistableScripts,u=Dr(e),f=i.get(u);f||(f=a.querySelector(eo(u)),f||(e=y({src:e,async:!0,type:"module"},t),(t=on.get(u))&&Jf(e,t),f=a.createElement("script"),ct(f),gt(f,"link",e),a.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(u,f))}}function Qg(e,t,a,i){var u=(u=ae.current)?Vs(u):null;if(!u)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Nr(a.href),a=Wl(u).hoistableStyles,i=a.get(t),i||(i={type:"style",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Nr(a.href);var f=Wl(u).hoistableStyles,g=f.get(e);if(g||(u=u.ownerDocument||u,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(e,g),(f=u.querySelector(Wi(e)))&&!f._p&&(g.instance=f,g.state.loading=5),on.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},on.set(e,a),f||hw(u,e,a,g.state))),t&&i===null)throw Error(o(528,""));return g}if(t&&i!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Dr(a),a=Wl(u).hoistableScripts,i=a.get(t),i||(i={type:"script",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Nr(e){return'href="'+Jt(e)+'"'}function Wi(e){return'link[rel="stylesheet"]['+e+"]"}function Kg(e){return y({},e,{"data-precedence":e.precedence,precedence:null})}function hw(e,t,a,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),gt(t,"link",a),ct(t),e.head.appendChild(t))}function Dr(e){return'[src="'+Jt(e)+'"]'}function eo(e){return"script[async]"+e}function Xg(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Jt(a.href)+'"]');if(i)return t.instance=i,ct(i),i;var u=y({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),ct(i),gt(i,"style",u),Ps(i,a.precedence,e),t.instance=i;case"stylesheet":u=Nr(a.href);var f=e.querySelector(Wi(u));if(f)return t.state.loading|=4,t.instance=f,ct(f),f;i=Kg(a),(u=on.get(u))&&$f(i,u),f=(e.ownerDocument||e).createElement("link"),ct(f);var g=f;return g._p=new Promise(function(S,M){g.onload=S,g.onerror=M}),gt(f,"link",i),t.state.loading|=4,Ps(f,a.precedence,e),t.instance=f;case"script":return f=Dr(a.src),(u=e.querySelector(eo(f)))?(t.instance=u,ct(u),u):(i=a,(u=on.get(f))&&(i=y({},a),Jf(i,u)),e=e.ownerDocument||e,u=e.createElement("script"),ct(u),gt(u,"link",i),e.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(i=t.instance,t.state.loading|=4,Ps(i,a.precedence,e));return t.instance}function Ps(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=i.length?i[i.length-1]:null,f=u,g=0;g title"):null)}function mw(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function $g(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function pw(e,t,a,i){if(a.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var u=Nr(i.href),f=t.querySelector(Wi(u));if(f){t=f._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ys.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=f,ct(f);return}f=t.ownerDocument||t,i=Kg(i),(u=on.get(u))&&$f(i,u),f=f.createElement("link"),ct(f);var g=f;g._p=new Promise(function(S,M){g.onload=S,g.onerror=M}),gt(f,"link",i),a.instance=f}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Ys.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Wf=0;function vw(e,t){return e.stylesheets&&e.count===0&&Ks(e,e.stylesheets),0Wf?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(u)}}:null}function Ys(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ks(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qs=null;function Ks(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qs=new Map,t.forEach(gw,e),Qs=null,Ys.call(e))}function gw(e,t){if(!(t.state.loading&4)){var a=Qs.get(e);if(a)var i=a.get(null);else{a=new Map,Qs.set(e,a);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),cd.exports=Gw(),cd.exports}var Pw=Vw(),Ao=Yb();const Iw=Ib(Ao);/** - * @remix-run/router v1.23.2 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function mo(){return mo=Object.assign?Object.assign.bind():function(n){for(var l=1;l"u")throw new Error(l)}function bh(n,l){if(!n){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function Qw(){return Math.random().toString(36).substr(2,8)}function wy(n,l){return{usr:n.state,key:n.key,idx:l}}function jd(n,l,r,o){return r===void 0&&(r=null),mo({pathname:typeof n=="string"?n:n.pathname,search:"",hash:""},typeof l=="string"?ri(l):l,{state:r,key:l&&l.key||o||Qw()})}function pu(n){let{pathname:l="/",search:r="",hash:o=""}=n;return r&&r!=="?"&&(l+=r.charAt(0)==="?"?r:"?"+r),o&&o!=="#"&&(l+=o.charAt(0)==="#"?o:"#"+o),l}function ri(n){let l={};if(n){let r=n.indexOf("#");r>=0&&(l.hash=n.substr(r),n=n.substr(0,r));let o=n.indexOf("?");o>=0&&(l.search=n.substr(o),n=n.substr(0,o)),n&&(l.pathname=n)}return l}function Kw(n,l,r,o){o===void 0&&(o={});let{window:s=document.defaultView,v5Compat:c=!1}=o,d=s.history,h=Ja.Pop,v=null,p=b();p==null&&(p=0,d.replaceState(mo({},d.state,{idx:p}),""));function b(){return(d.state||{idx:null}).idx}function y(){h=Ja.Pop;let C=b(),A=C==null?null:C-p;p=C,v&&v({action:h,location:w.location,delta:A})}function E(C,A){h=Ja.Push;let N=jd(w.location,C,A);p=b()+1;let j=wy(N,p),z=w.createHref(N);try{d.pushState(j,"",z)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;s.location.assign(z)}c&&v&&v({action:h,location:w.location,delta:1})}function T(C,A){h=Ja.Replace;let N=jd(w.location,C,A);p=b();let j=wy(N,p),z=w.createHref(N);d.replaceState(j,"",z),c&&v&&v({action:h,location:w.location,delta:0})}function R(C){let A=s.location.origin!=="null"?s.location.origin:s.location.href,N=typeof C=="string"?C:pu(C);return N=N.replace(/ $/,"%20"),it(A,"No window.location.(origin|href) available to create URL for href: "+N),new URL(N,A)}let w={get action(){return h},get location(){return n(s,d)},listen(C){if(v)throw new Error("A history only accepts one active listener");return s.addEventListener(Ey,y),v=C,()=>{s.removeEventListener(Ey,y),v=null}},createHref(C){return l(s,C)},createURL:R,encodeLocation(C){let A=R(C);return{pathname:A.pathname,search:A.search,hash:A.hash}},push:E,replace:T,go(C){return d.go(C)}};return w}var Cy;(function(n){n.data="data",n.deferred="deferred",n.redirect="redirect",n.error="error"})(Cy||(Cy={}));function Xw(n,l,r){return r===void 0&&(r="/"),Fw(n,l,r)}function Fw(n,l,r,o){let s=typeof l=="string"?ri(l):l,c=xh(s.pathname||"/",r);if(c==null)return null;let d=Qb(n);Zw(d);let h=null;for(let v=0;h==null&&v{let v={relativePath:h===void 0?c.path||"":h,caseSensitive:c.caseSensitive===!0,childrenIndex:d,route:c};v.relativePath.startsWith("/")&&(it(v.relativePath.startsWith(o),'Absolute route path "'+v.relativePath+'" nested under path '+('"'+o+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),v.relativePath=v.relativePath.slice(o.length));let p=Wa([o,v.relativePath]),b=r.concat(v);c.children&&c.children.length>0&&(it(c.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+p+'".')),Qb(c.children,l,b,p)),!(c.path==null&&!c.index)&&l.push({path:p,score:aC(p,c.index),routesMeta:b})};return n.forEach((c,d)=>{var h;if(c.path===""||!((h=c.path)!=null&&h.includes("?")))s(c,d);else for(let v of Kb(c.path))s(c,d,v)}),l}function Kb(n){let l=n.split("/");if(l.length===0)return[];let[r,...o]=l,s=r.endsWith("?"),c=r.replace(/\?$/,"");if(o.length===0)return s?[c,""]:[c];let d=Kb(o.join("/")),h=[];return h.push(...d.map(v=>v===""?c:[c,v].join("/"))),s&&h.push(...d),h.map(v=>n.startsWith("/")&&v===""?"/":v)}function Zw(n){n.sort((l,r)=>l.score!==r.score?r.score-l.score:lC(l.routesMeta.map(o=>o.childrenIndex),r.routesMeta.map(o=>o.childrenIndex)))}const $w=/^:[\w-]+$/,Jw=3,Ww=2,eC=1,tC=10,nC=-2,Ty=n=>n==="*";function aC(n,l){let r=n.split("/"),o=r.length;return r.some(Ty)&&(o+=nC),l&&(o+=Ww),r.filter(s=>!Ty(s)).reduce((s,c)=>s+($w.test(c)?Jw:c===""?eC:tC),o)}function lC(n,l){return n.length===l.length&&n.slice(0,-1).every((o,s)=>o===l[s])?n[n.length-1]-l[l.length-1]:0}function rC(n,l,r){let{routesMeta:o}=n,s={},c="/",d=[];for(let h=0;h{let{paramName:E,isOptional:T}=b;if(E==="*"){let w=h[y]||"";d=c.slice(0,c.length-w.length).replace(/(.)\/+$/,"$1")}const R=h[y];return T&&!R?p[E]=void 0:p[E]=(R||"").replace(/%2F/g,"/"),p},{}),pathname:c,pathnameBase:d,pattern:n}}function oC(n,l,r){l===void 0&&(l=!1),r===void 0&&(r=!0),bh(n==="*"||!n.endsWith("*")||n.endsWith("/*"),'Route path "'+n+'" will be treated as if it were '+('"'+n.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+n.replace(/\*$/,"/*")+'".'));let o=[],s="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,h,v)=>(o.push({paramName:h,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)"));return n.endsWith("*")?(o.push({paramName:"*"}),s+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?s+="\\/*$":n!==""&&n!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,l?void 0:"i"),o]}function sC(n){try{return n.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return bh(!1,'The URL path "'+n+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+l+").")),n}}function xh(n,l){if(l==="/")return n;if(!n.toLowerCase().startsWith(l.toLowerCase()))return null;let r=l.endsWith("/")?l.length-1:l.length,o=n.charAt(r);return o&&o!=="/"?null:n.slice(r)||"/"}const uC=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,cC=n=>uC.test(n);function fC(n,l){l===void 0&&(l="/");let{pathname:r,search:o="",hash:s=""}=typeof n=="string"?ri(n):n,c;if(r)if(cC(r))c=r;else{if(r.includes("//")){let d=r;r=r.replace(/\/\/+/g,"/"),bh(!1,"Pathnames cannot have embedded double slashes - normalizing "+(d+" -> "+r))}r.startsWith("/")?c=Ry(r.substring(1),"/"):c=Ry(r,l)}else c=l;return{pathname:c,search:mC(o),hash:pC(s)}}function Ry(n,l){let r=l.replace(/\/+$/,"").split("/");return n.split("/").forEach(s=>{s===".."?r.length>1&&r.pop():s!=="."&&r.push(s)}),r.length>1?r.join("/"):"/"}function md(n,l,r,o){return"Cannot include a '"+n+"' character in a manually specified "+("`to."+l+"` field ["+JSON.stringify(o)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function dC(n){return n.filter((l,r)=>r===0||l.route.path&&l.route.path.length>0)}function Xb(n,l){let r=dC(n);return l?r.map((o,s)=>s===r.length-1?o.pathname:o.pathnameBase):r.map(o=>o.pathnameBase)}function Fb(n,l,r,o){o===void 0&&(o=!1);let s;typeof n=="string"?s=ri(n):(s=mo({},n),it(!s.pathname||!s.pathname.includes("?"),md("?","pathname","search",s)),it(!s.pathname||!s.pathname.includes("#"),md("#","pathname","hash",s)),it(!s.search||!s.search.includes("#"),md("#","search","hash",s)));let c=n===""||s.pathname==="",d=c?"/":s.pathname,h;if(d==null)h=r;else{let y=l.length-1;if(!o&&d.startsWith("..")){let E=d.split("/");for(;E[0]==="..";)E.shift(),y-=1;s.pathname=E.join("/")}h=y>=0?l[y]:"/"}let v=fC(s,h),p=d&&d!=="/"&&d.endsWith("/"),b=(c||d===".")&&r.endsWith("/");return!v.pathname.endsWith("/")&&(p||b)&&(v.pathname+="/"),v}const Wa=n=>n.join("/").replace(/\/\/+/g,"/"),hC=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),mC=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,pC=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n;function vC(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}const Zb=["post","put","patch","delete"];new Set(Zb);const gC=["get",...Zb];new Set(gC);/** - * React Router v6.30.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function po(){return po=Object.assign?Object.assign.bind():function(n){for(var l=1;l{h.current=!0}),m.useCallback(function(p,b){if(b===void 0&&(b={}),!h.current)return;if(typeof p=="number"){o.go(p);return}let y=Fb(p,JSON.parse(d),c,b.relative==="path");n==null&&l!=="/"&&(y.pathname=y.pathname==="/"?l:Wa([l,y.pathname])),(b.replace?o.replace:o.push)(y,b.state,b)},[l,o,d,c,n])}const SC=m.createContext(null);function EC(n){let l=m.useContext(fa).outlet;return l&&m.createElement(SC.Provider,{value:n},l)}function wC(){let{matches:n}=m.useContext(fa),l=n[n.length-1];return l?l.params:{}}function Wb(n,l){let{relative:r}=l===void 0?{}:l,{future:o}=m.useContext(Yl),{matches:s}=m.useContext(fa),{pathname:c}=Ql(),d=JSON.stringify(Xb(s,o.v7_relativeSplatPath));return m.useMemo(()=>Fb(n,JSON.parse(d),c,r==="path"),[n,d,c,r])}function CC(n,l){return TC(n,l)}function TC(n,l,r,o){_o()||it(!1);let{navigator:s}=m.useContext(Yl),{matches:c}=m.useContext(fa),d=c[c.length-1],h=d?d.params:{};d&&d.pathname;let v=d?d.pathnameBase:"/";d&&d.route;let p=Ql(),b;if(l){var y;let C=typeof l=="string"?ri(l):l;v==="/"||(y=C.pathname)!=null&&y.startsWith(v)||it(!1),b=C}else b=p;let E=b.pathname||"/",T=E;if(v!=="/"){let C=v.replace(/^\//,"").split("/");T="/"+E.replace(/^\//,"").split("/").slice(C.length).join("/")}let R=Xw(n,{pathname:T}),w=OC(R&&R.map(C=>Object.assign({},C,{params:Object.assign({},h,C.params),pathname:Wa([v,s.encodeLocation?s.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?v:Wa([v,s.encodeLocation?s.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),c,r,o);return l&&w?m.createElement(Au.Provider,{value:{location:po({pathname:"/",search:"",hash:"",state:null,key:"default"},b),navigationType:Ja.Pop}},w):w}function RC(){let n=zC(),l=vC(n)?n.status+" "+n.statusText:n instanceof Error?n.message:JSON.stringify(n),r=n instanceof Error?n.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},l),r?m.createElement("pre",{style:s},r):null,null)}const AC=m.createElement(RC,null);class _C extends m.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,r){return r.location!==l.location||r.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:r.error,location:r.location,revalidation:l.revalidation||r.revalidation}}componentDidCatch(l,r){console.error("React Router caught the following error during render",l,r)}render(){return this.state.error!==void 0?m.createElement(fa.Provider,{value:this.props.routeContext},m.createElement($b.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function MC(n){let{routeContext:l,match:r,children:o}=n,s=m.useContext(Sh);return s&&s.static&&s.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=r.route.id),m.createElement(fa.Provider,{value:l},o)}function OC(n,l,r,o){var s;if(l===void 0&&(l=[]),r===void 0&&(r=null),o===void 0&&(o=null),n==null){var c;if(!r)return null;if(r.errors)n=r.matches;else if((c=o)!=null&&c.v7_partialHydration&&l.length===0&&!r.initialized&&r.matches.length>0)n=r.matches;else return null}let d=n,h=(s=r)==null?void 0:s.errors;if(h!=null){let b=d.findIndex(y=>y.route.id&&(h==null?void 0:h[y.route.id])!==void 0);b>=0||it(!1),d=d.slice(0,Math.min(d.length,b+1))}let v=!1,p=-1;if(r&&o&&o.v7_partialHydration)for(let b=0;b=0?d=d.slice(0,p+1):d=[d[0]];break}}}return d.reduceRight((b,y,E)=>{let T,R=!1,w=null,C=null;r&&(T=h&&y.route.id?h[y.route.id]:void 0,w=y.route.errorElement||AC,v&&(p<0&&E===0?(LC("route-fallback"),R=!0,C=null):p===E&&(R=!0,C=y.route.hydrateFallbackElement||null)));let A=l.concat(d.slice(0,E+1)),N=()=>{let j;return T?j=w:R?j=C:y.route.Component?j=m.createElement(y.route.Component,null):y.route.element?j=y.route.element:j=b,m.createElement(MC,{match:y,routeContext:{outlet:b,matches:A,isDataRoute:r!=null},children:j})};return r&&(y.route.ErrorBoundary||y.route.errorElement||E===0)?m.createElement(_C,{location:r.location,revalidation:r.revalidation,component:w,error:T,children:N(),routeContext:{outlet:null,matches:A,isDataRoute:!0}}):N()},null)}var e0=(function(n){return n.UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n})(e0||{}),t0=(function(n){return n.UseBlocker="useBlocker",n.UseLoaderData="useLoaderData",n.UseActionData="useActionData",n.UseRouteError="useRouteError",n.UseNavigation="useNavigation",n.UseRouteLoaderData="useRouteLoaderData",n.UseMatches="useMatches",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n.UseRouteId="useRouteId",n})(t0||{});function NC(n){let l=m.useContext(Sh);return l||it(!1),l}function DC(n){let l=m.useContext(yC);return l||it(!1),l}function jC(n){let l=m.useContext(fa);return l||it(!1),l}function n0(n){let l=jC(),r=l.matches[l.matches.length-1];return r.route.id||it(!1),r.route.id}function zC(){var n;let l=m.useContext($b),r=DC(),o=n0();return l!==void 0?l:(n=r.errors)==null?void 0:n[o]}function UC(){let{router:n}=NC(e0.UseNavigateStable),l=n0(t0.UseNavigateStable),r=m.useRef(!1);return Jb(()=>{r.current=!0}),m.useCallback(function(s,c){c===void 0&&(c={}),r.current&&(typeof s=="number"?n.navigate(s):n.navigate(s,po({fromRouteId:l},c)))},[n,l])}const Ay={};function LC(n,l,r){Ay[n]||(Ay[n]=!0)}function BC(n,l){n==null||n.v7_startTransition,n==null||n.v7_relativeSplatPath}function Ij(n){return EC(n.context)}function pn(n){it(!1)}function HC(n){let{basename:l="/",children:r=null,location:o,navigationType:s=Ja.Pop,navigator:c,static:d=!1,future:h}=n;_o()&&it(!1);let v=l.replace(/^\/*/,"/"),p=m.useMemo(()=>({basename:v,navigator:c,static:d,future:po({v7_relativeSplatPath:!1},h)}),[v,h,c,d]);typeof o=="string"&&(o=ri(o));let{pathname:b="/",search:y="",hash:E="",state:T=null,key:R="default"}=o,w=m.useMemo(()=>{let C=xh(b,v);return C==null?null:{location:{pathname:C,search:y,hash:E,state:T,key:R},navigationType:s}},[v,b,y,E,T,R,s]);return w==null?null:m.createElement(Yl.Provider,{value:p},m.createElement(Au.Provider,{children:r,value:w}))}function kC(n){let{children:l,location:r}=n;return CC(zd(l),r)}new Promise(()=>{});function zd(n,l){l===void 0&&(l=[]);let r=[];return m.Children.forEach(n,(o,s)=>{if(!m.isValidElement(o))return;let c=[...l,s];if(o.type===m.Fragment){r.push.apply(r,zd(o.props.children,c));return}o.type!==pn&&it(!1),!o.props.index||!o.props.children||it(!1);let d={id:o.props.id||c.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,loader:o.props.loader,action:o.props.action,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(d.children=zd(o.props.children,c)),r.push(d)}),r}/** - * React Router DOM v6.30.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Ud(){return Ud=Object.assign?Object.assign.bind():function(n){for(var l=1;l=0)&&(r[s]=n[s]);return r}function GC(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function VC(n,l){return n.button===0&&(!l||l==="_self")&&!GC(n)}const PC=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],IC="6";try{window.__reactRouterVersion=IC}catch{}const YC="startTransition",_y=yh[YC];function QC(n){let{basename:l,children:r,future:o,window:s}=n,c=m.useRef();c.current==null&&(c.current=Yw({window:s,v5Compat:!0}));let d=c.current,[h,v]=m.useState({action:d.action,location:d.location}),{v7_startTransition:p}=o||{},b=m.useCallback(y=>{p&&_y?_y(()=>v(y)):v(y)},[v,p]);return m.useLayoutEffect(()=>d.listen(b),[d,b]),m.useEffect(()=>BC(o),[o]),m.createElement(HC,{basename:l,children:r,location:h.location,navigationType:h.action,navigator:d,future:o})}const KC=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",XC=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,qr=m.forwardRef(function(l,r){let{onClick:o,relative:s,reloadDocument:c,replace:d,state:h,target:v,to:p,preventScrollReset:b,viewTransition:y}=l,E=qC(l,PC),{basename:T}=m.useContext(Yl),R,w=!1;if(typeof p=="string"&&XC.test(p)&&(R=p,KC))try{let j=new URL(window.location.href),z=p.startsWith("//")?new URL(j.protocol+p):new URL(p),P=xh(z.pathname,T);z.origin===j.origin&&P!=null?p=P+z.search+z.hash:w=!0}catch{}let C=bC(p,{relative:s}),A=FC(p,{replace:d,state:h,target:v,preventScrollReset:b,relative:s,viewTransition:y});function N(j){o&&o(j),j.defaultPrevented||A(j)}return m.createElement("a",Ud({},E,{href:R||C,onClick:w||c?o:N,ref:r,target:v}))});var My;(function(n){n.UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState"})(My||(My={}));var Oy;(function(n){n.UseFetcher="useFetcher",n.UseFetchers="useFetchers",n.UseScrollRestoration="useScrollRestoration"})(Oy||(Oy={}));function FC(n,l){let{target:r,replace:o,state:s,preventScrollReset:c,relative:d,viewTransition:h}=l===void 0?{}:l,v=Eh(),p=Ql(),b=Wb(n,{relative:d});return m.useCallback(y=>{if(VC(y,r)){y.preventDefault();let E=o!==void 0?o:pu(p)===pu(b);v(n,{replace:E,state:s,preventScrollReset:c,relative:d,viewTransition:h})}},[p,v,b,o,s,r,n,c,d,h])}var ii=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ol,Pa,Ir,jb,ZC=(jb=class extends ii{constructor(){super();pe(this,Ol);pe(this,Pa);pe(this,Ir);re(this,Ir,l=>{if(typeof window<"u"&&window.addEventListener){const r=()=>l();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){O(this,Pa)||this.setEventListener(O(this,Ir))}onUnsubscribe(){var l;this.hasListeners()||((l=O(this,Pa))==null||l.call(this),re(this,Pa,void 0))}setEventListener(l){var r;re(this,Ir,l),(r=O(this,Pa))==null||r.call(this),re(this,Pa,l(o=>{typeof o=="boolean"?this.setFocused(o):this.onFocus()}))}setFocused(l){O(this,Ol)!==l&&(re(this,Ol,l),this.onFocus())}onFocus(){const l=this.isFocused();this.listeners.forEach(r=>{r(l)})}isFocused(){var l;return typeof O(this,Ol)=="boolean"?O(this,Ol):((l=globalThis.document)==null?void 0:l.visibilityState)!=="hidden"}},Ol=new WeakMap,Pa=new WeakMap,Ir=new WeakMap,jb),wh=new ZC,$C={setTimeout:(n,l)=>setTimeout(n,l),clearTimeout:n=>clearTimeout(n),setInterval:(n,l)=>setInterval(n,l),clearInterval:n=>clearInterval(n)},Ia,vh,zb,JC=(zb=class{constructor(){pe(this,Ia,$C);pe(this,vh,!1)}setTimeoutProvider(n){re(this,Ia,n)}setTimeout(n,l){return O(this,Ia).setTimeout(n,l)}clearTimeout(n){O(this,Ia).clearTimeout(n)}setInterval(n,l){return O(this,Ia).setInterval(n,l)}clearInterval(n){O(this,Ia).clearInterval(n)}},Ia=new WeakMap,vh=new WeakMap,zb),Ml=new JC;function WC(n){setTimeout(n,0)}var eT=typeof window>"u"||"Deno"in globalThis;function Rt(){}function tT(n,l){return typeof n=="function"?n(l):n}function Ld(n){return typeof n=="number"&&n>=0&&n!==1/0}function a0(n,l){return Math.max(n+(l||0)-Date.now(),0)}function el(n,l){return typeof n=="function"?n(l):n}function cn(n,l){return typeof n=="function"?n(l):n}function Ny(n,l){const{type:r="all",exact:o,fetchStatus:s,predicate:c,queryKey:d,stale:h}=n;if(d){if(o){if(l.queryHash!==Ch(d,l.options))return!1}else if(!vo(l.queryKey,d))return!1}if(r!=="all"){const v=l.isActive();if(r==="active"&&!v||r==="inactive"&&v)return!1}return!(typeof h=="boolean"&&l.isStale()!==h||s&&s!==l.state.fetchStatus||c&&!c(l))}function Dy(n,l){const{exact:r,status:o,predicate:s,mutationKey:c}=n;if(c){if(!l.options.mutationKey)return!1;if(r){if(kl(l.options.mutationKey)!==kl(c))return!1}else if(!vo(l.options.mutationKey,c))return!1}return!(o&&l.state.status!==o||s&&!s(l))}function Ch(n,l){return((l==null?void 0:l.queryKeyHashFn)||kl)(n)}function kl(n){return JSON.stringify(n,(l,r)=>Bd(r)?Object.keys(r).sort().reduce((o,s)=>(o[s]=r[s],o),{}):r)}function vo(n,l){return n===l?!0:typeof n!=typeof l?!1:n&&l&&typeof n=="object"&&typeof l=="object"?Object.keys(l).every(r=>vo(n[r],l[r])):!1}var nT=Object.prototype.hasOwnProperty;function l0(n,l,r=0){if(n===l)return n;if(r>500)return l;const o=jy(n)&&jy(l);if(!o&&!(Bd(n)&&Bd(l)))return l;const c=(o?n:Object.keys(n)).length,d=o?l:Object.keys(l),h=d.length,v=o?new Array(h):{};let p=0;for(let b=0;b{Ml.setTimeout(l,n)})}function Hd(n,l,r){return typeof r.structuralSharing=="function"?r.structuralSharing(n,l):r.structuralSharing!==!1?l0(n,l):l}function lT(n,l,r=0){const o=[...n,l];return r&&o.length>r?o.slice(1):o}function rT(n,l,r=0){const o=[l,...n];return r&&o.length>r?o.slice(0,-1):o}var Th=Symbol();function r0(n,l){return!n.queryFn&&(l!=null&&l.initialPromise)?()=>l.initialPromise:!n.queryFn||n.queryFn===Th?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function Rh(n,l){return typeof n=="function"?n(...l):!!n}function iT(n,l,r){let o=!1,s;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(s??(s=l()),o||(o=!0,s.aborted?r():s.addEventListener("abort",r,{once:!0})),s)}),n}var go=(()=>{let n=()=>eT;return{isServer(){return n()},setIsServer(l){n=l}}})();function kd(){let n,l;const r=new Promise((s,c)=>{n=s,l=c});r.status="pending",r.catch(()=>{});function o(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{o({status:"fulfilled",value:s}),n(s)},r.reject=s=>{o({status:"rejected",reason:s}),l(s)},r}var oT=WC;function sT(){let n=[],l=0,r=h=>{h()},o=h=>{h()},s=oT;const c=h=>{l?n.push(h):s(()=>{r(h)})},d=()=>{const h=n;n=[],h.length&&s(()=>{o(()=>{h.forEach(v=>{r(v)})})})};return{batch:h=>{let v;l++;try{v=h()}finally{l--,l||d()}return v},batchCalls:h=>(...v)=>{c(()=>{h(...v)})},schedule:c,setNotifyFunction:h=>{r=h},setBatchNotifyFunction:h=>{o=h},setScheduler:h=>{s=h}}}var st=sT(),Yr,Ya,Qr,Ub,uT=(Ub=class extends ii{constructor(){super();pe(this,Yr,!0);pe(this,Ya);pe(this,Qr);re(this,Qr,l=>{if(typeof window<"u"&&window.addEventListener){const r=()=>l(!0),o=()=>l(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",o,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",o)}}})}onSubscribe(){O(this,Ya)||this.setEventListener(O(this,Qr))}onUnsubscribe(){var l;this.hasListeners()||((l=O(this,Ya))==null||l.call(this),re(this,Ya,void 0))}setEventListener(l){var r;re(this,Qr,l),(r=O(this,Ya))==null||r.call(this),re(this,Ya,l(this.setOnline.bind(this)))}setOnline(l){O(this,Yr)!==l&&(re(this,Yr,l),this.listeners.forEach(o=>{o(l)}))}isOnline(){return O(this,Yr)}},Yr=new WeakMap,Ya=new WeakMap,Qr=new WeakMap,Ub),gu=new uT;function cT(n){return Math.min(1e3*2**n,3e4)}function i0(n){return(n??"online")==="online"?gu.isOnline():!0}var qd=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function o0(n){let l=!1,r=0,o;const s=kd(),c=()=>s.status!=="pending",d=w=>{var C;if(!c()){const A=new qd(w);E(A),(C=n.onCancel)==null||C.call(n,A)}},h=()=>{l=!0},v=()=>{l=!1},p=()=>wh.isFocused()&&(n.networkMode==="always"||gu.isOnline())&&n.canRun(),b=()=>i0(n.networkMode)&&n.canRun(),y=w=>{c()||(o==null||o(),s.resolve(w))},E=w=>{c()||(o==null||o(),s.reject(w))},T=()=>new Promise(w=>{var C;o=A=>{(c()||p())&&w(A)},(C=n.onPause)==null||C.call(n)}).then(()=>{var w;o=void 0,c()||(w=n.onContinue)==null||w.call(n)}),R=()=>{if(c())return;let w;const C=r===0?n.initialPromise:void 0;try{w=C??n.fn()}catch(A){w=Promise.reject(A)}Promise.resolve(w).then(y).catch(A=>{var Y;if(c())return;const N=n.retry??(go.isServer()?0:3),j=n.retryDelay??cT,z=typeof j=="function"?j(r,A):j,P=N===!0||typeof N=="number"&&rp()?void 0:T()).then(()=>{l?E(A):R()})})};return{promise:s,status:()=>s.status,cancel:d,continue:()=>(o==null||o(),s),cancelRetry:h,continueRetry:v,canStart:b,start:()=>(b()?R():T().then(R),s)}}var Nl,Lb,s0=(Lb=class{constructor(){pe(this,Nl)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ld(this.gcTime)&&re(this,Nl,Ml.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(go.isServer()?1/0:300*1e3))}clearGcTimeout(){O(this,Nl)!==void 0&&(Ml.clearTimeout(O(this,Nl)),re(this,Nl,void 0))}},Nl=new WeakMap,Lb),Dl,Kr,sn,jl,dt,Eo,zl,Xt,u0,aa,Bb,fT=(Bb=class extends s0{constructor(l){super();pe(this,Xt);pe(this,Dl);pe(this,Kr);pe(this,sn);pe(this,jl);pe(this,dt);pe(this,Eo);pe(this,zl);re(this,zl,!1),re(this,Eo,l.defaultOptions),this.setOptions(l.options),this.observers=[],re(this,jl,l.client),re(this,sn,O(this,jl).getQueryCache()),this.queryKey=l.queryKey,this.queryHash=l.queryHash,re(this,Dl,Ly(this.options)),this.state=l.state??O(this,Dl),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var l;return(l=O(this,dt))==null?void 0:l.promise}setOptions(l){if(this.options={...O(this,Eo),...l},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=Ly(this.options);r.data!==void 0&&(this.setState(Uy(r.data,r.dataUpdatedAt)),re(this,Dl,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&O(this,sn).remove(this)}setData(l,r){const o=Hd(this.state.data,l,this.options);return Ce(this,Xt,aa).call(this,{data:o,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),o}setState(l,r){Ce(this,Xt,aa).call(this,{type:"setState",state:l,setStateOptions:r})}cancel(l){var o,s;const r=(o=O(this,dt))==null?void 0:o.promise;return(s=O(this,dt))==null||s.cancel(l),r?r.then(Rt).catch(Rt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return O(this,Dl)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(l=>cn(l.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Th||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(l=>el(l.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(l=>l.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(l=0){return this.state.data===void 0?!0:l==="static"?!1:this.state.isInvalidated?!0:!a0(this.state.dataUpdatedAt,l)}onFocus(){var r;const l=this.observers.find(o=>o.shouldFetchOnWindowFocus());l==null||l.refetch({cancelRefetch:!1}),(r=O(this,dt))==null||r.continue()}onOnline(){var r;const l=this.observers.find(o=>o.shouldFetchOnReconnect());l==null||l.refetch({cancelRefetch:!1}),(r=O(this,dt))==null||r.continue()}addObserver(l){this.observers.includes(l)||(this.observers.push(l),this.clearGcTimeout(),O(this,sn).notify({type:"observerAdded",query:this,observer:l}))}removeObserver(l){this.observers.includes(l)&&(this.observers=this.observers.filter(r=>r!==l),this.observers.length||(O(this,dt)&&(O(this,zl)||Ce(this,Xt,u0).call(this)?O(this,dt).cancel({revert:!0}):O(this,dt).cancelRetry()),this.scheduleGc()),O(this,sn).notify({type:"observerRemoved",query:this,observer:l}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ce(this,Xt,aa).call(this,{type:"invalidate"})}async fetch(l,r){var v,p,b,y,E,T,R,w,C,A,N,j;if(this.state.fetchStatus!=="idle"&&((v=O(this,dt))==null?void 0:v.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(O(this,dt))return O(this,dt).continueRetry(),O(this,dt).promise}if(l&&this.setOptions(l),!this.options.queryFn){const z=this.observers.find(P=>P.options.queryFn);z&&this.setOptions(z.options)}const o=new AbortController,s=z=>{Object.defineProperty(z,"signal",{enumerable:!0,get:()=>(re(this,zl,!0),o.signal)})},c=()=>{const z=r0(this.options,r),Y=(()=>{const G={client:O(this,jl),queryKey:this.queryKey,meta:this.meta};return s(G),G})();return re(this,zl,!1),this.options.persister?this.options.persister(z,Y,this):z(Y)},h=(()=>{const z={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:O(this,jl),state:this.state,fetchFn:c};return s(z),z})();(p=this.options.behavior)==null||p.onFetch(h,this),re(this,Kr,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((b=h.fetchOptions)==null?void 0:b.meta))&&Ce(this,Xt,aa).call(this,{type:"fetch",meta:(y=h.fetchOptions)==null?void 0:y.meta}),re(this,dt,o0({initialPromise:r==null?void 0:r.initialPromise,fn:h.fetchFn,onCancel:z=>{z instanceof qd&&z.revert&&this.setState({...O(this,Kr),fetchStatus:"idle"}),o.abort()},onFail:(z,P)=>{Ce(this,Xt,aa).call(this,{type:"failed",failureCount:z,error:P})},onPause:()=>{Ce(this,Xt,aa).call(this,{type:"pause"})},onContinue:()=>{Ce(this,Xt,aa).call(this,{type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0}));try{const z=await O(this,dt).start();if(z===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(z),(T=(E=O(this,sn).config).onSuccess)==null||T.call(E,z,this),(w=(R=O(this,sn).config).onSettled)==null||w.call(R,z,this.state.error,this),z}catch(z){if(z instanceof qd){if(z.silent)return O(this,dt).promise;if(z.revert){if(this.state.data===void 0)throw z;return this.state.data}}throw Ce(this,Xt,aa).call(this,{type:"error",error:z}),(A=(C=O(this,sn).config).onError)==null||A.call(C,z,this),(j=(N=O(this,sn).config).onSettled)==null||j.call(N,this.state.data,z,this),z}finally{this.scheduleGc()}}},Dl=new WeakMap,Kr=new WeakMap,sn=new WeakMap,jl=new WeakMap,dt=new WeakMap,Eo=new WeakMap,zl=new WeakMap,Xt=new WeakSet,u0=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},aa=function(l){const r=o=>{switch(l.type){case"failed":return{...o,fetchFailureCount:l.failureCount,fetchFailureReason:l.error};case"pause":return{...o,fetchStatus:"paused"};case"continue":return{...o,fetchStatus:"fetching"};case"fetch":return{...o,...c0(o.data,this.options),fetchMeta:l.meta??null};case"success":const s={...o,...Uy(l.data,l.dataUpdatedAt),dataUpdateCount:o.dataUpdateCount+1,...!l.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return re(this,Kr,l.manual?s:void 0),s;case"error":const c=l.error;return{...o,error:c,errorUpdateCount:o.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:o.fetchFailureCount+1,fetchFailureReason:c,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...o,isInvalidated:!0};case"setState":return{...o,...l.state}}};this.state=r(this.state),st.batch(()=>{this.observers.forEach(o=>{o.onQueryUpdate()}),O(this,sn).notify({query:this,type:"updated",action:l})})},Bb);function c0(n,l){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:i0(l.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function Uy(n,l){return{data:n,dataUpdatedAt:l??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ly(n){const l=typeof n.initialData=="function"?n.initialData():n.initialData,r=l!==void 0,o=r?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:l,dataUpdateCount:0,dataUpdatedAt:r?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Ut,je,wo,Tt,Ul,Xr,la,Qa,Co,Fr,Zr,Ll,Bl,Ka,$r,ke,co,Gd,Vd,Pd,Id,Yd,Qd,Kd,f0,Hb,dT=(Hb=class extends ii{constructor(l,r){super();pe(this,ke);pe(this,Ut);pe(this,je);pe(this,wo);pe(this,Tt);pe(this,Ul);pe(this,Xr);pe(this,la);pe(this,Qa);pe(this,Co);pe(this,Fr);pe(this,Zr);pe(this,Ll);pe(this,Bl);pe(this,Ka);pe(this,$r,new Set);this.options=r,re(this,Ut,l),re(this,Qa,null),re(this,la,kd()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(O(this,je).addObserver(this),By(O(this,je),this.options)?Ce(this,ke,co).call(this):this.updateResult(),Ce(this,ke,Id).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Xd(O(this,je),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Xd(O(this,je),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ce(this,ke,Yd).call(this),Ce(this,ke,Qd).call(this),O(this,je).removeObserver(this)}setOptions(l){const r=this.options,o=O(this,je);if(this.options=O(this,Ut).defaultQueryOptions(l),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof cn(this.options.enabled,O(this,je))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ce(this,ke,Kd).call(this),O(this,je).setOptions(this.options),r._defaulted&&!vu(this.options,r)&&O(this,Ut).getQueryCache().notify({type:"observerOptionsUpdated",query:O(this,je),observer:this});const s=this.hasListeners();s&&Hy(O(this,je),o,this.options,r)&&Ce(this,ke,co).call(this),this.updateResult(),s&&(O(this,je)!==o||cn(this.options.enabled,O(this,je))!==cn(r.enabled,O(this,je))||el(this.options.staleTime,O(this,je))!==el(r.staleTime,O(this,je)))&&Ce(this,ke,Gd).call(this);const c=Ce(this,ke,Vd).call(this);s&&(O(this,je)!==o||cn(this.options.enabled,O(this,je))!==cn(r.enabled,O(this,je))||c!==O(this,Ka))&&Ce(this,ke,Pd).call(this,c)}getOptimisticResult(l){const r=O(this,Ut).getQueryCache().build(O(this,Ut),l),o=this.createResult(r,l);return mT(this,o)&&(re(this,Tt,o),re(this,Xr,this.options),re(this,Ul,O(this,je).state)),o}getCurrentResult(){return O(this,Tt)}trackResult(l,r){return new Proxy(l,{get:(o,s)=>(this.trackProp(s),r==null||r(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&O(this,la).status==="pending"&&O(this,la).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(o,s))})}trackProp(l){O(this,$r).add(l)}getCurrentQuery(){return O(this,je)}refetch({...l}={}){return this.fetch({...l})}fetchOptimistic(l){const r=O(this,Ut).defaultQueryOptions(l),o=O(this,Ut).getQueryCache().build(O(this,Ut),r);return o.fetch().then(()=>this.createResult(o,r))}fetch(l){return Ce(this,ke,co).call(this,{...l,cancelRefetch:l.cancelRefetch??!0}).then(()=>(this.updateResult(),O(this,Tt)))}createResult(l,r){var le;const o=O(this,je),s=this.options,c=O(this,Tt),d=O(this,Ul),h=O(this,Xr),p=l!==o?l.state:O(this,wo),{state:b}=l;let y={...b},E=!1,T;if(r._optimisticResults){const ie=this.hasListeners(),se=!ie&&By(l,r),ne=ie&&Hy(l,o,r,s);(se||ne)&&(y={...y,...c0(b.data,l.options)}),r._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:R,errorUpdatedAt:w,status:C}=y;T=y.data;let A=!1;if(r.placeholderData!==void 0&&T===void 0&&C==="pending"){let ie;c!=null&&c.isPlaceholderData&&r.placeholderData===(h==null?void 0:h.placeholderData)?(ie=c.data,A=!0):ie=typeof r.placeholderData=="function"?r.placeholderData((le=O(this,Zr))==null?void 0:le.state.data,O(this,Zr)):r.placeholderData,ie!==void 0&&(C="success",T=Hd(c==null?void 0:c.data,ie,r),E=!0)}if(r.select&&T!==void 0&&!A)if(c&&T===(d==null?void 0:d.data)&&r.select===O(this,Co))T=O(this,Fr);else try{re(this,Co,r.select),T=r.select(T),T=Hd(c==null?void 0:c.data,T,r),re(this,Fr,T),re(this,Qa,null)}catch(ie){re(this,Qa,ie)}O(this,Qa)&&(R=O(this,Qa),T=O(this,Fr),w=Date.now(),C="error");const N=y.fetchStatus==="fetching",j=C==="pending",z=C==="error",P=j&&N,Y=T!==void 0,te={status:C,fetchStatus:y.fetchStatus,isPending:j,isSuccess:C==="success",isError:z,isInitialLoading:P,isLoading:P,data:T,dataUpdatedAt:y.dataUpdatedAt,error:R,errorUpdatedAt:w,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:l.isFetched(),isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:N,isRefetching:N&&!j,isLoadingError:z&&!Y,isPaused:y.fetchStatus==="paused",isPlaceholderData:E,isRefetchError:z&&Y,isStale:Ah(l,r),refetch:this.refetch,promise:O(this,la),isEnabled:cn(r.enabled,l)!==!1};if(this.options.experimental_prefetchInRender){const ie=te.data!==void 0,se=te.status==="error"&&!ie,ne=ge=>{se?ge.reject(te.error):ie&&ge.resolve(te.data)},be=()=>{const ge=re(this,la,te.promise=kd());ne(ge)},ce=O(this,la);switch(ce.status){case"pending":l.queryHash===o.queryHash&&ne(ce);break;case"fulfilled":(se||te.data!==ce.value)&&be();break;case"rejected":(!se||te.error!==ce.reason)&&be();break}}return te}updateResult(){const l=O(this,Tt),r=this.createResult(O(this,je),this.options);if(re(this,Ul,O(this,je).state),re(this,Xr,this.options),O(this,Ul).data!==void 0&&re(this,Zr,O(this,je)),vu(r,l))return;re(this,Tt,r);const o=()=>{if(!l)return!0;const{notifyOnChangeProps:s}=this.options,c=typeof s=="function"?s():s;if(c==="all"||!c&&!O(this,$r).size)return!0;const d=new Set(c??O(this,$r));return this.options.throwOnError&&d.add("error"),Object.keys(O(this,Tt)).some(h=>{const v=h;return O(this,Tt)[v]!==l[v]&&d.has(v)})};Ce(this,ke,f0).call(this,{listeners:o()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ce(this,ke,Id).call(this)}},Ut=new WeakMap,je=new WeakMap,wo=new WeakMap,Tt=new WeakMap,Ul=new WeakMap,Xr=new WeakMap,la=new WeakMap,Qa=new WeakMap,Co=new WeakMap,Fr=new WeakMap,Zr=new WeakMap,Ll=new WeakMap,Bl=new WeakMap,Ka=new WeakMap,$r=new WeakMap,ke=new WeakSet,co=function(l){Ce(this,ke,Kd).call(this);let r=O(this,je).fetch(this.options,l);return l!=null&&l.throwOnError||(r=r.catch(Rt)),r},Gd=function(){Ce(this,ke,Yd).call(this);const l=el(this.options.staleTime,O(this,je));if(go.isServer()||O(this,Tt).isStale||!Ld(l))return;const o=a0(O(this,Tt).dataUpdatedAt,l)+1;re(this,Ll,Ml.setTimeout(()=>{O(this,Tt).isStale||this.updateResult()},o))},Vd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(O(this,je)):this.options.refetchInterval)??!1},Pd=function(l){Ce(this,ke,Qd).call(this),re(this,Ka,l),!(go.isServer()||cn(this.options.enabled,O(this,je))===!1||!Ld(O(this,Ka))||O(this,Ka)===0)&&re(this,Bl,Ml.setInterval(()=>{(this.options.refetchIntervalInBackground||wh.isFocused())&&Ce(this,ke,co).call(this)},O(this,Ka)))},Id=function(){Ce(this,ke,Gd).call(this),Ce(this,ke,Pd).call(this,Ce(this,ke,Vd).call(this))},Yd=function(){O(this,Ll)!==void 0&&(Ml.clearTimeout(O(this,Ll)),re(this,Ll,void 0))},Qd=function(){O(this,Bl)!==void 0&&(Ml.clearInterval(O(this,Bl)),re(this,Bl,void 0))},Kd=function(){const l=O(this,Ut).getQueryCache().build(O(this,Ut),this.options);if(l===O(this,je))return;const r=O(this,je);re(this,je,l),re(this,wo,l.state),this.hasListeners()&&(r==null||r.removeObserver(this),l.addObserver(this))},f0=function(l){st.batch(()=>{l.listeners&&this.listeners.forEach(r=>{r(O(this,Tt))}),O(this,Ut).getQueryCache().notify({query:O(this,je),type:"observerResultsUpdated"})})},Hb);function hT(n,l){return cn(l.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&l.retryOnMount===!1)}function By(n,l){return hT(n,l)||n.state.data!==void 0&&Xd(n,l,l.refetchOnMount)}function Xd(n,l,r){if(cn(l.enabled,n)!==!1&&el(l.staleTime,n)!=="static"){const o=typeof r=="function"?r(n):r;return o==="always"||o!==!1&&Ah(n,l)}return!1}function Hy(n,l,r,o){return(n!==l||cn(o.enabled,n)===!1)&&(!r.suspense||n.state.status!=="error")&&Ah(n,r)}function Ah(n,l){return cn(l.enabled,n)!==!1&&n.isStaleByTime(el(l.staleTime,n))}function mT(n,l){return!vu(n.getCurrentResult(),l)}function ky(n){return{onFetch:(l,r)=>{var b,y,E,T,R;const o=l.options,s=(E=(y=(b=l.fetchOptions)==null?void 0:b.meta)==null?void 0:y.fetchMore)==null?void 0:E.direction,c=((T=l.state.data)==null?void 0:T.pages)||[],d=((R=l.state.data)==null?void 0:R.pageParams)||[];let h={pages:[],pageParams:[]},v=0;const p=async()=>{let w=!1;const C=j=>{iT(j,()=>l.signal,()=>w=!0)},A=r0(l.options,l.fetchOptions),N=async(j,z,P)=>{if(w)return Promise.reject();if(z==null&&j.pages.length)return Promise.resolve(j);const G=(()=>{const se={client:l.client,queryKey:l.queryKey,pageParam:z,direction:P?"backward":"forward",meta:l.options.meta};return C(se),se})(),te=await A(G),{maxPages:le}=l.options,ie=P?rT:lT;return{pages:ie(j.pages,te,le),pageParams:ie(j.pageParams,z,le)}};if(s&&c.length){const j=s==="backward",z=j?pT:qy,P={pages:c,pageParams:d},Y=z(o,P);h=await N(P,Y,j)}else{const j=n??c.length;do{const z=v===0?d[0]??o.initialPageParam:qy(o,h);if(v>0&&z==null)break;h=await N(h,z),v++}while(v{var w,C;return(C=(w=l.options).persister)==null?void 0:C.call(w,p,{client:l.client,queryKey:l.queryKey,meta:l.options.meta,signal:l.signal},r)}:l.fetchFn=p}}}function qy(n,{pages:l,pageParams:r}){const o=l.length-1;return l.length>0?n.getNextPageParam(l[o],l,r[o],r):void 0}function pT(n,{pages:l,pageParams:r}){var o;return l.length>0?(o=n.getPreviousPageParam)==null?void 0:o.call(n,l[0],l,r[0],r):void 0}var To,Tn,xt,Hl,Rn,Ga,kb,vT=(kb=class extends s0{constructor(l){super();pe(this,Rn);pe(this,To);pe(this,Tn);pe(this,xt);pe(this,Hl);re(this,To,l.client),this.mutationId=l.mutationId,re(this,xt,l.mutationCache),re(this,Tn,[]),this.state=l.state||d0(),this.setOptions(l.options),this.scheduleGc()}setOptions(l){this.options=l,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(l){O(this,Tn).includes(l)||(O(this,Tn).push(l),this.clearGcTimeout(),O(this,xt).notify({type:"observerAdded",mutation:this,observer:l}))}removeObserver(l){re(this,Tn,O(this,Tn).filter(r=>r!==l)),this.scheduleGc(),O(this,xt).notify({type:"observerRemoved",mutation:this,observer:l})}optionalRemove(){O(this,Tn).length||(this.state.status==="pending"?this.scheduleGc():O(this,xt).remove(this))}continue(){var l;return((l=O(this,Hl))==null?void 0:l.continue())??this.execute(this.state.variables)}async execute(l){var d,h,v,p,b,y,E,T,R,w,C,A,N,j,z,P,Y,G;const r=()=>{Ce(this,Rn,Ga).call(this,{type:"continue"})},o={client:O(this,To),meta:this.options.meta,mutationKey:this.options.mutationKey};re(this,Hl,o0({fn:()=>this.options.mutationFn?this.options.mutationFn(l,o):Promise.reject(new Error("No mutationFn found")),onFail:(te,le)=>{Ce(this,Rn,Ga).call(this,{type:"failed",failureCount:te,error:le})},onPause:()=>{Ce(this,Rn,Ga).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>O(this,xt).canRun(this)}));const s=this.state.status==="pending",c=!O(this,Hl).canStart();try{if(s)r();else{Ce(this,Rn,Ga).call(this,{type:"pending",variables:l,isPaused:c}),O(this,xt).config.onMutate&&await O(this,xt).config.onMutate(l,this,o);const le=await((h=(d=this.options).onMutate)==null?void 0:h.call(d,l,o));le!==this.state.context&&Ce(this,Rn,Ga).call(this,{type:"pending",context:le,variables:l,isPaused:c})}const te=await O(this,Hl).start();return await((p=(v=O(this,xt).config).onSuccess)==null?void 0:p.call(v,te,l,this.state.context,this,o)),await((y=(b=this.options).onSuccess)==null?void 0:y.call(b,te,l,this.state.context,o)),await((T=(E=O(this,xt).config).onSettled)==null?void 0:T.call(E,te,null,this.state.variables,this.state.context,this,o)),await((w=(R=this.options).onSettled)==null?void 0:w.call(R,te,null,l,this.state.context,o)),Ce(this,Rn,Ga).call(this,{type:"success",data:te}),te}catch(te){try{await((A=(C=O(this,xt).config).onError)==null?void 0:A.call(C,te,l,this.state.context,this,o))}catch(le){Promise.reject(le)}try{await((j=(N=this.options).onError)==null?void 0:j.call(N,te,l,this.state.context,o))}catch(le){Promise.reject(le)}try{await((P=(z=O(this,xt).config).onSettled)==null?void 0:P.call(z,void 0,te,this.state.variables,this.state.context,this,o))}catch(le){Promise.reject(le)}try{await((G=(Y=this.options).onSettled)==null?void 0:G.call(Y,void 0,te,l,this.state.context,o))}catch(le){Promise.reject(le)}throw Ce(this,Rn,Ga).call(this,{type:"error",error:te}),te}finally{O(this,xt).runNext(this)}}},To=new WeakMap,Tn=new WeakMap,xt=new WeakMap,Hl=new WeakMap,Rn=new WeakSet,Ga=function(l){const r=o=>{switch(l.type){case"failed":return{...o,failureCount:l.failureCount,failureReason:l.error};case"pause":return{...o,isPaused:!0};case"continue":return{...o,isPaused:!1};case"pending":return{...o,context:l.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:l.isPaused,status:"pending",variables:l.variables,submittedAt:Date.now()};case"success":return{...o,data:l.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...o,data:void 0,error:l.error,failureCount:o.failureCount+1,failureReason:l.error,isPaused:!1,status:"error"}}};this.state=r(this.state),st.batch(()=>{O(this,Tn).forEach(o=>{o.onMutationUpdate(l)}),O(this,xt).notify({mutation:this,type:"updated",action:l})})},kb);function d0(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ra,gn,Ro,qb,gT=(qb=class extends ii{constructor(l={}){super();pe(this,ra);pe(this,gn);pe(this,Ro);this.config=l,re(this,ra,new Set),re(this,gn,new Map),re(this,Ro,0)}build(l,r,o){const s=new vT({client:l,mutationCache:this,mutationId:++tu(this,Ro)._,options:l.defaultMutationOptions(r),state:o});return this.add(s),s}add(l){O(this,ra).add(l);const r=nu(l);if(typeof r=="string"){const o=O(this,gn).get(r);o?o.push(l):O(this,gn).set(r,[l])}this.notify({type:"added",mutation:l})}remove(l){if(O(this,ra).delete(l)){const r=nu(l);if(typeof r=="string"){const o=O(this,gn).get(r);if(o)if(o.length>1){const s=o.indexOf(l);s!==-1&&o.splice(s,1)}else o[0]===l&&O(this,gn).delete(r)}}this.notify({type:"removed",mutation:l})}canRun(l){const r=nu(l);if(typeof r=="string"){const o=O(this,gn).get(r),s=o==null?void 0:o.find(c=>c.state.status==="pending");return!s||s===l}else return!0}runNext(l){var o;const r=nu(l);if(typeof r=="string"){const s=(o=O(this,gn).get(r))==null?void 0:o.find(c=>c!==l&&c.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){st.batch(()=>{O(this,ra).forEach(l=>{this.notify({type:"removed",mutation:l})}),O(this,ra).clear(),O(this,gn).clear()})}getAll(){return Array.from(O(this,ra))}find(l){const r={exact:!0,...l};return this.getAll().find(o=>Dy(r,o))}findAll(l={}){return this.getAll().filter(r=>Dy(l,r))}notify(l){st.batch(()=>{this.listeners.forEach(r=>{r(l)})})}resumePausedMutations(){const l=this.getAll().filter(r=>r.state.isPaused);return st.batch(()=>Promise.all(l.map(r=>r.continue().catch(Rt))))}},ra=new WeakMap,gn=new WeakMap,Ro=new WeakMap,qb);function nu(n){var l;return(l=n.options.scope)==null?void 0:l.id}var ia,Xa,Lt,oa,sa,fu,Fd,Gb,yT=(Gb=class extends ii{constructor(r,o){super();pe(this,sa);pe(this,ia);pe(this,Xa);pe(this,Lt);pe(this,oa);re(this,ia,r),this.setOptions(o),this.bindMethods(),Ce(this,sa,fu).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(r){var s;const o=this.options;this.options=O(this,ia).defaultMutationOptions(r),vu(this.options,o)||O(this,ia).getMutationCache().notify({type:"observerOptionsUpdated",mutation:O(this,Lt),observer:this}),o!=null&&o.mutationKey&&this.options.mutationKey&&kl(o.mutationKey)!==kl(this.options.mutationKey)?this.reset():((s=O(this,Lt))==null?void 0:s.state.status)==="pending"&&O(this,Lt).setOptions(this.options)}onUnsubscribe(){var r;this.hasListeners()||(r=O(this,Lt))==null||r.removeObserver(this)}onMutationUpdate(r){Ce(this,sa,fu).call(this),Ce(this,sa,Fd).call(this,r)}getCurrentResult(){return O(this,Xa)}reset(){var r;(r=O(this,Lt))==null||r.removeObserver(this),re(this,Lt,void 0),Ce(this,sa,fu).call(this),Ce(this,sa,Fd).call(this)}mutate(r,o){var s;return re(this,oa,o),(s=O(this,Lt))==null||s.removeObserver(this),re(this,Lt,O(this,ia).getMutationCache().build(O(this,ia),this.options)),O(this,Lt).addObserver(this),O(this,Lt).execute(r)}},ia=new WeakMap,Xa=new WeakMap,Lt=new WeakMap,oa=new WeakMap,sa=new WeakSet,fu=function(){var o;const r=((o=O(this,Lt))==null?void 0:o.state)??d0();re(this,Xa,{...r,isPending:r.status==="pending",isSuccess:r.status==="success",isError:r.status==="error",isIdle:r.status==="idle",mutate:this.mutate,reset:this.reset})},Fd=function(r){st.batch(()=>{var o,s,c,d,h,v,p,b;if(O(this,oa)&&this.hasListeners()){const y=O(this,Xa).variables,E=O(this,Xa).context,T={client:O(this,ia),meta:this.options.meta,mutationKey:this.options.mutationKey};if((r==null?void 0:r.type)==="success"){try{(s=(o=O(this,oa)).onSuccess)==null||s.call(o,r.data,y,E,T)}catch(R){Promise.reject(R)}try{(d=(c=O(this,oa)).onSettled)==null||d.call(c,r.data,null,y,E,T)}catch(R){Promise.reject(R)}}else if((r==null?void 0:r.type)==="error"){try{(v=(h=O(this,oa)).onError)==null||v.call(h,r.error,y,E,T)}catch(R){Promise.reject(R)}try{(b=(p=O(this,oa)).onSettled)==null||b.call(p,void 0,r.error,y,E,T)}catch(R){Promise.reject(R)}}}this.listeners.forEach(y=>{y(O(this,Xa))})})},Gb),An,Vb,bT=(Vb=class extends ii{constructor(l={}){super();pe(this,An);this.config=l,re(this,An,new Map)}build(l,r,o){const s=r.queryKey,c=r.queryHash??Ch(s,r);let d=this.get(c);return d||(d=new fT({client:l,queryKey:s,queryHash:c,options:l.defaultQueryOptions(r),state:o,defaultOptions:l.getQueryDefaults(s)}),this.add(d)),d}add(l){O(this,An).has(l.queryHash)||(O(this,An).set(l.queryHash,l),this.notify({type:"added",query:l}))}remove(l){const r=O(this,An).get(l.queryHash);r&&(l.destroy(),r===l&&O(this,An).delete(l.queryHash),this.notify({type:"removed",query:l}))}clear(){st.batch(()=>{this.getAll().forEach(l=>{this.remove(l)})})}get(l){return O(this,An).get(l)}getAll(){return[...O(this,An).values()]}find(l){const r={exact:!0,...l};return this.getAll().find(o=>Ny(r,o))}findAll(l={}){const r=this.getAll();return Object.keys(l).length>0?r.filter(o=>Ny(l,o)):r}notify(l){st.batch(()=>{this.listeners.forEach(r=>{r(l)})})}onFocus(){st.batch(()=>{this.getAll().forEach(l=>{l.onFocus()})})}onOnline(){st.batch(()=>{this.getAll().forEach(l=>{l.onOnline()})})}},An=new WeakMap,Vb),We,Fa,Za,Jr,Wr,$a,ei,ti,Pb,xT=(Pb=class{constructor(n={}){pe(this,We);pe(this,Fa);pe(this,Za);pe(this,Jr);pe(this,Wr);pe(this,$a);pe(this,ei);pe(this,ti);re(this,We,n.queryCache||new bT),re(this,Fa,n.mutationCache||new gT),re(this,Za,n.defaultOptions||{}),re(this,Jr,new Map),re(this,Wr,new Map),re(this,$a,0)}mount(){tu(this,$a)._++,O(this,$a)===1&&(re(this,ei,wh.subscribe(async n=>{n&&(await this.resumePausedMutations(),O(this,We).onFocus())})),re(this,ti,gu.subscribe(async n=>{n&&(await this.resumePausedMutations(),O(this,We).onOnline())})))}unmount(){var n,l;tu(this,$a)._--,O(this,$a)===0&&((n=O(this,ei))==null||n.call(this),re(this,ei,void 0),(l=O(this,ti))==null||l.call(this),re(this,ti,void 0))}isFetching(n){return O(this,We).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return O(this,Fa).findAll({...n,status:"pending"}).length}getQueryData(n){var r;const l=this.defaultQueryOptions({queryKey:n});return(r=O(this,We).get(l.queryHash))==null?void 0:r.state.data}ensureQueryData(n){const l=this.defaultQueryOptions(n),r=O(this,We).build(this,l),o=r.state.data;return o===void 0?this.fetchQuery(n):(n.revalidateIfStale&&r.isStaleByTime(el(l.staleTime,r))&&this.prefetchQuery(l),Promise.resolve(o))}getQueriesData(n){return O(this,We).findAll(n).map(({queryKey:l,state:r})=>{const o=r.data;return[l,o]})}setQueryData(n,l,r){const o=this.defaultQueryOptions({queryKey:n}),s=O(this,We).get(o.queryHash),c=s==null?void 0:s.state.data,d=tT(l,c);if(d!==void 0)return O(this,We).build(this,o).setData(d,{...r,manual:!0})}setQueriesData(n,l,r){return st.batch(()=>O(this,We).findAll(n).map(({queryKey:o})=>[o,this.setQueryData(o,l,r)]))}getQueryState(n){var r;const l=this.defaultQueryOptions({queryKey:n});return(r=O(this,We).get(l.queryHash))==null?void 0:r.state}removeQueries(n){const l=O(this,We);st.batch(()=>{l.findAll(n).forEach(r=>{l.remove(r)})})}resetQueries(n,l){const r=O(this,We);return st.batch(()=>(r.findAll(n).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...n},l)))}cancelQueries(n,l={}){const r={revert:!0,...l},o=st.batch(()=>O(this,We).findAll(n).map(s=>s.cancel(r)));return Promise.all(o).then(Rt).catch(Rt)}invalidateQueries(n,l={}){return st.batch(()=>(O(this,We).findAll(n).forEach(r=>{r.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},l)))}refetchQueries(n,l={}){const r={...l,cancelRefetch:l.cancelRefetch??!0},o=st.batch(()=>O(this,We).findAll(n).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let c=s.fetch(void 0,r);return r.throwOnError||(c=c.catch(Rt)),s.state.fetchStatus==="paused"?Promise.resolve():c}));return Promise.all(o).then(Rt)}fetchQuery(n){const l=this.defaultQueryOptions(n);l.retry===void 0&&(l.retry=!1);const r=O(this,We).build(this,l);return r.isStaleByTime(el(l.staleTime,r))?r.fetch(l):Promise.resolve(r.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(Rt).catch(Rt)}fetchInfiniteQuery(n){return n.behavior=ky(n.pages),this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(Rt).catch(Rt)}ensureInfiniteQueryData(n){return n.behavior=ky(n.pages),this.ensureQueryData(n)}resumePausedMutations(){return gu.isOnline()?O(this,Fa).resumePausedMutations():Promise.resolve()}getQueryCache(){return O(this,We)}getMutationCache(){return O(this,Fa)}getDefaultOptions(){return O(this,Za)}setDefaultOptions(n){re(this,Za,n)}setQueryDefaults(n,l){O(this,Jr).set(kl(n),{queryKey:n,defaultOptions:l})}getQueryDefaults(n){const l=[...O(this,Jr).values()],r={};return l.forEach(o=>{vo(n,o.queryKey)&&Object.assign(r,o.defaultOptions)}),r}setMutationDefaults(n,l){O(this,Wr).set(kl(n),{mutationKey:n,defaultOptions:l})}getMutationDefaults(n){const l=[...O(this,Wr).values()],r={};return l.forEach(o=>{vo(n,o.mutationKey)&&Object.assign(r,o.defaultOptions)}),r}defaultQueryOptions(n){if(n._defaulted)return n;const l={...O(this,Za).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return l.queryHash||(l.queryHash=Ch(l.queryKey,l)),l.refetchOnReconnect===void 0&&(l.refetchOnReconnect=l.networkMode!=="always"),l.throwOnError===void 0&&(l.throwOnError=!!l.suspense),!l.networkMode&&l.persister&&(l.networkMode="offlineFirst"),l.queryFn===Th&&(l.enabled=!1),l}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...O(this,Za).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){O(this,We).clear(),O(this,Fa).clear()}},We=new WeakMap,Fa=new WeakMap,Za=new WeakMap,Jr=new WeakMap,Wr=new WeakMap,$a=new WeakMap,ei=new WeakMap,ti=new WeakMap,Pb),h0=m.createContext(void 0),_h=n=>{const l=m.useContext(h0);if(!l)throw new Error("No QueryClient set, use QueryClientProvider to set one");return l},ST=({client:n,children:l})=>(m.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),x.jsx(h0.Provider,{value:n,children:l})),m0=m.createContext(!1),ET=()=>m.useContext(m0);m0.Provider;function wT(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var CT=m.createContext(wT()),TT=()=>m.useContext(CT),RT=(n,l,r)=>{const o=r!=null&&r.state.error&&typeof n.throwOnError=="function"?Rh(n.throwOnError,[r.state.error,r]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||o)&&(l.isReset()||(n.retryOnMount=!1))},AT=n=>{m.useEffect(()=>{n.clearReset()},[n])},_T=({result:n,errorResetBoundary:l,throwOnError:r,query:o,suspense:s})=>n.isError&&!l.isReset()&&!n.isFetching&&o&&(s&&n.data===void 0||Rh(r,[n.error,o])),MT=n=>{if(n.suspense){const r=s=>s==="static"?s:Math.max(s??1e3,1e3),o=n.staleTime;n.staleTime=typeof o=="function"?(...s)=>r(o(...s)):r(o),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},OT=(n,l)=>n.isLoading&&n.isFetching&&!l,NT=(n,l)=>(n==null?void 0:n.suspense)&&l.isPending,Gy=(n,l,r)=>l.fetchOptimistic(n).catch(()=>{r.clearReset()});function DT(n,l,r){var E,T,R,w;const o=ET(),s=TT(),c=_h(),d=c.defaultQueryOptions(n);(T=(E=c.getDefaultOptions().queries)==null?void 0:E._experimental_beforeQuery)==null||T.call(E,d);const h=c.getQueryCache().get(d.queryHash);d._optimisticResults=o?"isRestoring":"optimistic",MT(d),RT(d,s,h),AT(s);const v=!c.getQueryCache().get(d.queryHash),[p]=m.useState(()=>new l(c,d)),b=p.getOptimisticResult(d),y=!o&&n.subscribed!==!1;if(m.useSyncExternalStore(m.useCallback(C=>{const A=y?p.subscribe(st.batchCalls(C)):Rt;return p.updateResult(),A},[p,y]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),m.useEffect(()=>{p.setOptions(d)},[d,p]),NT(d,b))throw Gy(d,p,s);if(_T({result:b,errorResetBoundary:s,throwOnError:d.throwOnError,query:h,suspense:d.suspense}))throw b.error;if((w=(R=c.getDefaultOptions().queries)==null?void 0:R._experimental_afterQuery)==null||w.call(R,d,b),d.experimental_prefetchInRender&&!go.isServer()&&OT(b,o)){const C=v?Gy(d,p,s):h==null?void 0:h.promise;C==null||C.catch(Rt).finally(()=>{p.updateResult()})}return d.notifyOnChangeProps?b:p.trackResult(b)}function Kl(n,l){return DT(n,dT)}function jT(n,l){const r=_h(),[o]=m.useState(()=>new yT(r,n));m.useEffect(()=>{o.setOptions(n)},[o,n]);const s=m.useSyncExternalStore(m.useCallback(d=>o.subscribe(st.batchCalls(d)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),c=m.useCallback((d,h)=>{o.mutate(d,h).catch(Rt)},[o]);if(s.error&&Rh(o.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:c,mutateAsync:s.mutate}}const Vy=n=>{let l;const r=new Set,o=(p,b)=>{const y=typeof p=="function"?p(l):p;if(!Object.is(y,l)){const E=l;l=b??(typeof y!="object"||y===null)?y:Object.assign({},l,y),r.forEach(T=>T(l,E))}},s=()=>l,h={setState:o,getState:s,getInitialState:()=>v,subscribe:p=>(r.add(p),()=>r.delete(p))},v=l=n(o,s,h);return h},zT=(n=>n?Vy(n):Vy),UT=n=>n;function LT(n,l=UT){const r=un.useSyncExternalStore(n.subscribe,un.useCallback(()=>l(n.getState()),[n,l]),un.useCallback(()=>l(n.getInitialState()),[n,l]));return un.useDebugValue(r),r}const Py=n=>{const l=zT(n),r=o=>LT(l,o);return Object.assign(r,l),r},p0=(n=>n?Py(n):Py);function BT(n,l){let r;try{r=n()}catch{return}return{getItem:s=>{var c;const d=v=>v===null?null:JSON.parse(v,void 0),h=(c=r.getItem(s))!=null?c:null;return h instanceof Promise?h.then(d):d(h)},setItem:(s,c)=>r.setItem(s,JSON.stringify(c,void 0)),removeItem:s=>r.removeItem(s)}}const Zd=n=>l=>{try{const r=n(l);return r instanceof Promise?r:{then(o){return Zd(o)(r)},catch(o){return this}}}catch(r){return{then(o){return this},catch(o){return Zd(o)(r)}}}},HT=(n,l)=>(r,o,s)=>{let c={storage:BT(()=>window.localStorage),partialize:C=>C,version:0,merge:(C,A)=>({...A,...C}),...l},d=!1,h=0;const v=new Set,p=new Set;let b=c.storage;if(!b)return n((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),r(...C)},o,s);const y=()=>{const C=c.partialize({...o()});return b.setItem(c.name,{state:C,version:c.version})},E=s.setState;s.setState=(C,A)=>(E(C,A),y());const T=n((...C)=>(r(...C),y()),o,s);s.getInitialState=()=>T;let R;const w=()=>{var C,A;if(!b)return;const N=++h;d=!1,v.forEach(z=>{var P;return z((P=o())!=null?P:T)});const j=((A=c.onRehydrateStorage)==null?void 0:A.call(c,(C=o())!=null?C:T))||void 0;return Zd(b.getItem.bind(b))(c.name).then(z=>{if(z)if(typeof z.version=="number"&&z.version!==c.version){if(c.migrate){const P=c.migrate(z.state,z.version);return P instanceof Promise?P.then(Y=>[!0,Y]):[!0,P]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,z.state];return[!1,void 0]}).then(z=>{var P;if(N!==h)return;const[Y,G]=z;if(R=c.merge(G,(P=o())!=null?P:T),r(R,!0),Y)return y()}).then(()=>{N===h&&(j==null||j(o(),void 0),R=o(),d=!0,p.forEach(z=>z(R)))}).catch(z=>{N===h&&(j==null||j(void 0,z))})};return s.persist={setOptions:C=>{c={...c,...C},C.storage&&(b=C.storage)},clearStorage:()=>{b==null||b.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>w(),hasHydrated:()=>d,onHydrate:C=>(v.add(C),()=>{v.delete(C)}),onFinishHydration:C=>(p.add(C),()=>{p.delete(C)})},c.skipHydration||w(),R||T},kT=HT,$d=p0()(kT(n=>({sidebarCollapsed:!1,theme:"system",treeDrawerPinned:!1,linkDrawerPinned:!1,setSidebarCollapsed:l=>n({sidebarCollapsed:l}),toggleSidebar:()=>n(l=>({sidebarCollapsed:!l.sidebarCollapsed})),setTheme:l=>n({theme:l}),setTreeDrawerPinned:l=>n({treeDrawerPinned:l}),setLinkDrawerPinned:l=>n({linkDrawerPinned:l})}),{name:"docsiq-ui"}));function qT({children:n}){const[l]=m.useState(()=>new xT({defaultOptions:{queries:{staleTime:3e4,retry:(o,s)=>{const c=(s==null?void 0:s.status)??0;return c>=400&&c<500?!1:o<3},refetchOnWindowFocus:!1}}})),r=$d(o=>o.theme);return m.useEffect(()=>{const o=document.documentElement,s=()=>{const c=window.matchMedia("(prefers-color-scheme: dark)").matches,d=r==="system"?c?"dark":"light":r;o.dataset.theme=d,o.classList.toggle("dark",d==="dark")};if(s(),r==="system"){const c=window.matchMedia("(prefers-color-scheme: dark)");return c.addEventListener("change",s),()=>c.removeEventListener("change",s)}},[r]),x.jsx(ST,{client:l,children:x.jsx(QC,{children:n})})}/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const GT=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),v0=(...n)=>n.filter((l,r,o)=>!!l&&l.trim()!==""&&o.indexOf(l)===r).join(" ").trim();/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var VT={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const PT=m.forwardRef(({color:n="currentColor",size:l=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:s="",children:c,iconNode:d,...h},v)=>m.createElement("svg",{ref:v,...VT,width:l,height:l,stroke:n,strokeWidth:o?Number(r)*24/Number(l):r,className:v0("lucide",s),...h},[...d.map(([p,b])=>m.createElement(p,b)),...Array.isArray(c)?c:[c]]));/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wt=(n,l)=>{const r=m.forwardRef(({className:o,...s},c)=>m.createElement(PT,{ref:c,iconNode:l,className:v0(`lucide-${GT(n)}`,o),...s}));return r.displayName=`${n}`,r};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Iy=wt("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const IT=wt("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const YT=wt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const g0=wt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const QT=wt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const KT=wt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const XT=wt("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Yy=wt("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qy=wt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const FT=wt("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ZT=wt("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const y0=wt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $T=wt("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ky=wt("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const JT=wt("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const b0=wt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function x0(n){var l,r,o="";if(typeof n=="string"||typeof n=="number")o+=n;else if(typeof n=="object")if(Array.isArray(n)){var s=n.length;for(l=0;ltypeof n=="boolean"?`${n}`:n===0?"0":n,Fy=S0,E0=(n,l)=>r=>{var o;if((l==null?void 0:l.variants)==null)return Fy(n,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:c}=l,d=Object.keys(s).map(p=>{const b=r==null?void 0:r[p],y=c==null?void 0:c[p];if(b===null)return null;const E=Xy(b)||Xy(y);return s[p][E]}),h=r&&Object.entries(r).reduce((p,b)=>{let[y,E]=b;return E===void 0||(p[y]=E),p},{}),v=l==null||(o=l.compoundVariants)===null||o===void 0?void 0:o.reduce((p,b)=>{let{class:y,className:E,...T}=b;return Object.entries(T).every(R=>{let[w,C]=R;return Array.isArray(C)?C.includes({...c,...h}[w]):{...c,...h}[w]===C})?[...p,y,E]:p},[]);return Fy(n,d,v,r==null?void 0:r.class,r==null?void 0:r.className)};function Zy(n,l){if(typeof n=="function")return n(l);n!=null&&(n.current=l)}function Bt(...n){return l=>{let r=!1;const o=n.map(s=>{const c=Zy(s,l);return!r&&typeof c=="function"&&(r=!0),c});if(r)return()=>{for(let s=0;s{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(nR);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function eR(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=lR(s),h=aR(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var tR=Symbol("radix.slottable");function nR(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===tR}function aR(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function lR(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var rR=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Se=rR.reduce((n,l)=>{const r=WT(`Primitive.${l}`),o=m.forwardRef((s,c)=>{const{asChild:d,...h}=s,v=d?r:l;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(v,{...h,ref:c})});return o.displayName=`Primitive.${l}`,{...n,[l]:o}},{});function w0(n,l){n&&Ao.flushSync(()=>n.dispatchEvent(l))}var C0=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),iR="VisuallyHidden",T0=m.forwardRef((n,l)=>x.jsx(Se.span,{...n,ref:l,style:{...C0,...n.style}}));T0.displayName=iR;var oR=T0;function sR(n,l){const r=m.createContext(l),o=c=>{const{children:d,...h}=c,v=m.useMemo(()=>h,Object.values(h));return x.jsx(r.Provider,{value:v,children:d})};o.displayName=n+"Provider";function s(c){const d=m.useContext(r);if(d)return d;if(l!==void 0)return l;throw new Error(`\`${c}\` must be used within \`${n}\``)}return[o,s]}function rl(n,l=[]){let r=[];function o(c,d){const h=m.createContext(d),v=r.length;r=[...r,d];const p=y=>{var A;const{scope:E,children:T,...R}=y,w=((A=E==null?void 0:E[n])==null?void 0:A[v])||h,C=m.useMemo(()=>R,Object.values(R));return x.jsx(w.Provider,{value:C,children:T})};p.displayName=c+"Provider";function b(y,E){var w;const T=((w=E==null?void 0:E[n])==null?void 0:w[v])||h,R=m.useContext(T);if(R)return R;if(d!==void 0)return d;throw new Error(`\`${y}\` must be used within \`${c}\``)}return[p,b]}const s=()=>{const c=r.map(d=>m.createContext(d));return function(h){const v=(h==null?void 0:h[n])||c;return m.useMemo(()=>({[`__scope${n}`]:{...h,[n]:v}}),[h,v])}};return s.scopeName=n,[o,uR(s,...l)]}function uR(...n){const l=n[0];if(n.length===1)return l;const r=()=>{const o=n.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(c){const d=o.reduce((h,{useScope:v,scopeName:p})=>{const y=v(c)[`__scope${p}`];return{...h,...y}},{});return m.useMemo(()=>({[`__scope${l.scopeName}`]:d}),[d])}};return r.scopeName=l.scopeName,r}function $y(n){const l=cR(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(dR);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function cR(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=mR(s),h=hR(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var fR=Symbol("radix.slottable");function dR(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===fR}function hR(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function mR(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}function Mh(n){const l=n+"CollectionProvider",[r,o]=rl(l),[s,c]=r(l,{collectionRef:{current:null},itemMap:new Map}),d=w=>{const{scope:C,children:A}=w,N=un.useRef(null),j=un.useRef(new Map).current;return x.jsx(s,{scope:C,itemMap:j,collectionRef:N,children:A})};d.displayName=l;const h=n+"CollectionSlot",v=$y(h),p=un.forwardRef((w,C)=>{const{scope:A,children:N}=w,j=c(h,A),z=Ve(C,j.collectionRef);return x.jsx(v,{ref:z,children:N})});p.displayName=h;const b=n+"CollectionItemSlot",y="data-radix-collection-item",E=$y(b),T=un.forwardRef((w,C)=>{const{scope:A,children:N,...j}=w,z=un.useRef(null),P=Ve(C,z),Y=c(b,A);return un.useEffect(()=>(Y.itemMap.set(z,{ref:z,...j}),()=>void Y.itemMap.delete(z))),x.jsx(E,{[y]:"",ref:P,children:N})});T.displayName=b;function R(w){const C=c(n+"CollectionConsumer",w);return un.useCallback(()=>{const N=C.collectionRef.current;if(!N)return[];const j=Array.from(N.querySelectorAll(`[${y}]`));return Array.from(C.itemMap.values()).sort((Y,G)=>j.indexOf(Y.ref.current)-j.indexOf(G.ref.current))},[C.collectionRef,C.itemMap])}return[{Provider:d,Slot:p,ItemSlot:T},R,o]}function fe(n,l,{checkForDefaultPrevented:r=!0}={}){return function(s){if(n==null||n(s),r===!1||!s.defaultPrevented)return l==null?void 0:l(s)}}var Et=globalThis!=null&&globalThis.document?m.useLayoutEffect:()=>{},pR=yh[" useInsertionEffect ".trim().toString()]||Et;function ni({prop:n,defaultProp:l,onChange:r=()=>{},caller:o}){const[s,c,d]=vR({defaultProp:l,onChange:r}),h=n!==void 0,v=h?n:s;{const b=m.useRef(n!==void 0);m.useEffect(()=>{const y=b.current;y!==h&&console.warn(`${o} is changing from ${y?"controlled":"uncontrolled"} to ${h?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),b.current=h},[h,o])}const p=m.useCallback(b=>{var y;if(h){const E=gR(b)?b(n):b;E!==n&&((y=d.current)==null||y.call(d,E))}else c(b)},[h,n,c,d]);return[v,p]}function vR({defaultProp:n,onChange:l}){const[r,o]=m.useState(n),s=m.useRef(r),c=m.useRef(l);return pR(()=>{c.current=l},[l]),m.useEffect(()=>{var d;s.current!==r&&((d=c.current)==null||d.call(c,r),s.current=r)},[r,s]),[r,o,c]}function gR(n){return typeof n=="function"}function yR(n,l){return m.useReducer((r,o)=>l[r][o]??r,n)}var zn=n=>{const{present:l,children:r}=n,o=bR(l),s=typeof r=="function"?r({present:o.isPresent}):m.Children.only(r),c=Ve(o.ref,xR(s));return typeof r=="function"||o.isPresent?m.cloneElement(s,{ref:c}):null};zn.displayName="Presence";function bR(n){const[l,r]=m.useState(),o=m.useRef(null),s=m.useRef(n),c=m.useRef("none"),d=n?"mounted":"unmounted",[h,v]=yR(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return m.useEffect(()=>{const p=au(o.current);c.current=h==="mounted"?p:"none"},[h]),Et(()=>{const p=o.current,b=s.current;if(b!==n){const E=c.current,T=au(p);n?v("MOUNT"):T==="none"||(p==null?void 0:p.display)==="none"?v("UNMOUNT"):v(b&&E!==T?"ANIMATION_OUT":"UNMOUNT"),s.current=n}},[n,v]),Et(()=>{if(l){let p;const b=l.ownerDocument.defaultView??window,y=T=>{const w=au(o.current).includes(CSS.escape(T.animationName));if(T.target===l&&w&&(v("ANIMATION_END"),!s.current)){const C=l.style.animationFillMode;l.style.animationFillMode="forwards",p=b.setTimeout(()=>{l.style.animationFillMode==="forwards"&&(l.style.animationFillMode=C)})}},E=T=>{T.target===l&&(c.current=au(o.current))};return l.addEventListener("animationstart",E),l.addEventListener("animationcancel",y),l.addEventListener("animationend",y),()=>{b.clearTimeout(p),l.removeEventListener("animationstart",E),l.removeEventListener("animationcancel",y),l.removeEventListener("animationend",y)}}else v("ANIMATION_END")},[l,v]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:m.useCallback(p=>{o.current=p?getComputedStyle(p):null,r(p)},[])}}function au(n){return(n==null?void 0:n.animationName)||"none"}function xR(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var SR=yh[" useId ".trim().toString()]||(()=>{}),ER=0;function St(n){const[l,r]=m.useState(SR());return Et(()=>{r(o=>o??String(ER++))},[n]),n||(l?`radix-${l}`:"")}var wR=m.createContext(void 0);function Oh(n){const l=m.useContext(wR);return n||l||"ltr"}function Dn(n){const l=m.useRef(n);return m.useEffect(()=>{l.current=n}),m.useMemo(()=>(...r)=>{var o;return(o=l.current)==null?void 0:o.call(l,...r)},[])}function CR(n,l=globalThis==null?void 0:globalThis.document){const r=Dn(n);m.useEffect(()=>{const o=s=>{s.key==="Escape"&&r(s)};return l.addEventListener("keydown",o,{capture:!0}),()=>l.removeEventListener("keydown",o,{capture:!0})},[r,l])}var TR="DismissableLayer",Jd="dismissableLayer.update",RR="dismissableLayer.pointerDownOutside",AR="dismissableLayer.focusOutside",Jy,R0=m.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Mo=m.forwardRef((n,l)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:d,onDismiss:h,...v}=n,p=m.useContext(R0),[b,y]=m.useState(null),E=(b==null?void 0:b.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,T]=m.useState({}),R=Ve(l,G=>y(G)),w=Array.from(p.layers),[C]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),A=w.indexOf(C),N=b?w.indexOf(b):-1,j=p.layersWithOutsidePointerEventsDisabled.size>0,z=N>=A,P=OR(G=>{const te=G.target,le=[...p.branches].some(ie=>ie.contains(te));!z||le||(s==null||s(G),d==null||d(G),G.defaultPrevented||h==null||h())},E),Y=NR(G=>{const te=G.target;[...p.branches].some(ie=>ie.contains(te))||(c==null||c(G),d==null||d(G),G.defaultPrevented||h==null||h())},E);return CR(G=>{N===p.layers.size-1&&(o==null||o(G),!G.defaultPrevented&&h&&(G.preventDefault(),h()))},E),m.useEffect(()=>{if(b)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(Jy=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(b)),p.layers.add(b),Wy(),()=>{r&&p.layersWithOutsidePointerEventsDisabled.size===1&&(E.body.style.pointerEvents=Jy)}},[b,E,r,p]),m.useEffect(()=>()=>{b&&(p.layers.delete(b),p.layersWithOutsidePointerEventsDisabled.delete(b),Wy())},[b,p]),m.useEffect(()=>{const G=()=>T({});return document.addEventListener(Jd,G),()=>document.removeEventListener(Jd,G)},[]),x.jsx(Se.div,{...v,ref:R,style:{pointerEvents:j?z?"auto":"none":void 0,...n.style},onFocusCapture:fe(n.onFocusCapture,Y.onFocusCapture),onBlurCapture:fe(n.onBlurCapture,Y.onBlurCapture),onPointerDownCapture:fe(n.onPointerDownCapture,P.onPointerDownCapture)})});Mo.displayName=TR;var _R="DismissableLayerBranch",MR=m.forwardRef((n,l)=>{const r=m.useContext(R0),o=m.useRef(null),s=Ve(l,o);return m.useEffect(()=>{const c=o.current;if(c)return r.branches.add(c),()=>{r.branches.delete(c)}},[r.branches]),x.jsx(Se.div,{...n,ref:s})});MR.displayName=_R;function OR(n,l=globalThis==null?void 0:globalThis.document){const r=Dn(n),o=m.useRef(!1),s=m.useRef(()=>{});return m.useEffect(()=>{const c=h=>{if(h.target&&!o.current){let v=function(){A0(RR,r,p,{discrete:!0})};const p={originalEvent:h};h.pointerType==="touch"?(l.removeEventListener("click",s.current),s.current=v,l.addEventListener("click",s.current,{once:!0})):v()}else l.removeEventListener("click",s.current);o.current=!1},d=window.setTimeout(()=>{l.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(d),l.removeEventListener("pointerdown",c),l.removeEventListener("click",s.current)}},[l,r]),{onPointerDownCapture:()=>o.current=!0}}function NR(n,l=globalThis==null?void 0:globalThis.document){const r=Dn(n),o=m.useRef(!1);return m.useEffect(()=>{const s=c=>{c.target&&!o.current&&A0(AR,r,{originalEvent:c},{discrete:!1})};return l.addEventListener("focusin",s),()=>l.removeEventListener("focusin",s)},[l,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Wy(){const n=new CustomEvent(Jd);document.dispatchEvent(n)}function A0(n,l,r,{discrete:o}){const s=r.originalEvent.target,c=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:r});l&&s.addEventListener(n,l,{once:!0}),o?w0(s,c):s.dispatchEvent(c)}var pd="focusScope.autoFocusOnMount",vd="focusScope.autoFocusOnUnmount",eb={bubbles:!1,cancelable:!0},DR="FocusScope",_u=m.forwardRef((n,l)=>{const{loop:r=!1,trapped:o=!1,onMountAutoFocus:s,onUnmountAutoFocus:c,...d}=n,[h,v]=m.useState(null),p=Dn(s),b=Dn(c),y=m.useRef(null),E=Ve(l,w=>v(w)),T=m.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;m.useEffect(()=>{if(o){let w=function(j){if(T.paused||!h)return;const z=j.target;h.contains(z)?y.current=z:Va(y.current,{select:!0})},C=function(j){if(T.paused||!h)return;const z=j.relatedTarget;z!==null&&(h.contains(z)||Va(y.current,{select:!0}))},A=function(j){if(document.activeElement===document.body)for(const P of j)P.removedNodes.length>0&&Va(h)};document.addEventListener("focusin",w),document.addEventListener("focusout",C);const N=new MutationObserver(A);return h&&N.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",C),N.disconnect()}}},[o,h,T.paused]),m.useEffect(()=>{if(h){nb.add(T);const w=document.activeElement;if(!h.contains(w)){const A=new CustomEvent(pd,eb);h.addEventListener(pd,p),h.dispatchEvent(A),A.defaultPrevented||(jR(HR(_0(h)),{select:!0}),document.activeElement===w&&Va(h))}return()=>{h.removeEventListener(pd,p),setTimeout(()=>{const A=new CustomEvent(vd,eb);h.addEventListener(vd,b),h.dispatchEvent(A),A.defaultPrevented||Va(w??document.body,{select:!0}),h.removeEventListener(vd,b),nb.remove(T)},0)}}},[h,p,b,T]);const R=m.useCallback(w=>{if(!r&&!o||T.paused)return;const C=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,A=document.activeElement;if(C&&A){const N=w.currentTarget,[j,z]=zR(N);j&&z?!w.shiftKey&&A===z?(w.preventDefault(),r&&Va(j,{select:!0})):w.shiftKey&&A===j&&(w.preventDefault(),r&&Va(z,{select:!0})):A===N&&w.preventDefault()}},[r,o,T.paused]);return x.jsx(Se.div,{tabIndex:-1,...d,ref:E,onKeyDown:R})});_u.displayName=DR;function jR(n,{select:l=!1}={}){const r=document.activeElement;for(const o of n)if(Va(o,{select:l}),document.activeElement!==r)return}function zR(n){const l=_0(n),r=tb(l,n),o=tb(l.reverse(),n);return[r,o]}function _0(n){const l=[],r=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const s=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||s?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)l.push(r.currentNode);return l}function tb(n,l){for(const r of n)if(!UR(r,{upTo:l}))return r}function UR(n,{upTo:l}){if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(l!==void 0&&n===l)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}function LR(n){return n instanceof HTMLInputElement&&"select"in n}function Va(n,{select:l=!1}={}){if(n&&n.focus){const r=document.activeElement;n.focus({preventScroll:!0}),n!==r&&LR(n)&&l&&n.select()}}var nb=BR();function BR(){let n=[];return{add(l){const r=n[0];l!==r&&(r==null||r.pause()),n=ab(n,l),n.unshift(l)},remove(l){var r;n=ab(n,l),(r=n[0])==null||r.resume()}}}function ab(n,l){const r=[...n],o=r.indexOf(l);return o!==-1&&r.splice(o,1),r}function HR(n){return n.filter(l=>l.tagName!=="A")}var kR="Portal",Oo=m.forwardRef((n,l)=>{var h;const{container:r,...o}=n,[s,c]=m.useState(!1);Et(()=>c(!0),[]);const d=r||s&&((h=globalThis==null?void 0:globalThis.document)==null?void 0:h.body);return d?Iw.createPortal(x.jsx(Se.div,{...o,ref:l}),d):null});Oo.displayName=kR;var gd=0;function Nh(){m.useEffect(()=>{const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",n[0]??lb()),document.body.insertAdjacentElement("beforeend",n[1]??lb()),gd++,()=>{gd===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(l=>l.remove()),gd--}},[])}function lb(){const n=document.createElement("span");return n.setAttribute("data-radix-focus-guard",""),n.tabIndex=0,n.style.outline="none",n.style.opacity="0",n.style.position="fixed",n.style.pointerEvents="none",n}var _n=function(){return _n=Object.assign||function(l){for(var r,o=1,s=arguments.length;o"u")return nA;var l=aA(n),r=document.documentElement.clientWidth,o=window.innerWidth;return{left:l[0],top:l[1],right:l[2],gap:Math.max(0,o-r+l[2]-l[0])}},rA=D0(),Gr="data-scroll-locked",iA=function(n,l,r,o){var s=n.left,c=n.top,d=n.right,h=n.gap;return r===void 0&&(r="margin"),` - .`.concat(GR,` { - overflow: hidden `).concat(o,`; - padding-right: `).concat(h,"px ").concat(o,`; - } - body[`).concat(Gr,`] { - overflow: hidden `).concat(o,`; - overscroll-behavior: contain; - `).concat([l&&"position: relative ".concat(o,";"),r==="margin"&&` - padding-left: `.concat(s,`px; - padding-top: `).concat(c,`px; - padding-right: `).concat(d,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(h,"px ").concat(o,`; - `),r==="padding"&&"padding-right: ".concat(h,"px ").concat(o,";")].filter(Boolean).join(""),` - } - - .`).concat(du,` { - right: `).concat(h,"px ").concat(o,`; - } - - .`).concat(hu,` { - margin-right: `).concat(h,"px ").concat(o,`; - } - - .`).concat(du," .").concat(du,` { - right: 0 `).concat(o,`; - } - - .`).concat(hu," .").concat(hu,` { - margin-right: 0 `).concat(o,`; - } - - body[`).concat(Gr,`] { - `).concat(VR,": ").concat(h,`px; - } -`)},ib=function(){var n=parseInt(document.body.getAttribute(Gr)||"0",10);return isFinite(n)?n:0},oA=function(){m.useEffect(function(){return document.body.setAttribute(Gr,(ib()+1).toString()),function(){var n=ib()-1;n<=0?document.body.removeAttribute(Gr):document.body.setAttribute(Gr,n.toString())}},[])},sA=function(n){var l=n.noRelative,r=n.noImportant,o=n.gapMode,s=o===void 0?"margin":o;oA();var c=m.useMemo(function(){return lA(s)},[s]);return m.createElement(rA,{styles:iA(c,!l,s,r?"":"!important")})},Wd=!1;if(typeof window<"u")try{var lu=Object.defineProperty({},"passive",{get:function(){return Wd=!0,!0}});window.addEventListener("test",lu,lu),window.removeEventListener("test",lu,lu)}catch{Wd=!1}var zr=Wd?{passive:!1}:!1,uA=function(n){return n.tagName==="TEXTAREA"},j0=function(n,l){if(!(n instanceof Element))return!1;var r=window.getComputedStyle(n);return r[l]!=="hidden"&&!(r.overflowY===r.overflowX&&!uA(n)&&r[l]==="visible")},cA=function(n){return j0(n,"overflowY")},fA=function(n){return j0(n,"overflowX")},ob=function(n,l){var r=l.ownerDocument,o=l;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var s=z0(n,o);if(s){var c=U0(n,o),d=c[1],h=c[2];if(d>h)return!0}o=o.parentNode}while(o&&o!==r.body);return!1},dA=function(n){var l=n.scrollTop,r=n.scrollHeight,o=n.clientHeight;return[l,r,o]},hA=function(n){var l=n.scrollLeft,r=n.scrollWidth,o=n.clientWidth;return[l,r,o]},z0=function(n,l){return n==="v"?cA(l):fA(l)},U0=function(n,l){return n==="v"?dA(l):hA(l)},mA=function(n,l){return n==="h"&&l==="rtl"?-1:1},pA=function(n,l,r,o,s){var c=mA(n,window.getComputedStyle(l).direction),d=c*o,h=r.target,v=l.contains(h),p=!1,b=d>0,y=0,E=0;do{if(!h)break;var T=U0(n,h),R=T[0],w=T[1],C=T[2],A=w-C-c*R;(R||A)&&z0(n,h)&&(y+=A,E+=R);var N=h.parentNode;h=N&&N.nodeType===Node.DOCUMENT_FRAGMENT_NODE?N.host:N}while(!v&&h!==document.body||v&&(l.contains(h)||l===h));return(b&&Math.abs(y)<1||!b&&Math.abs(E)<1)&&(p=!0),p},ru=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},sb=function(n){return[n.deltaX,n.deltaY]},ub=function(n){return n&&"current"in n?n.current:n},vA=function(n,l){return n[0]===l[0]&&n[1]===l[1]},gA=function(n){return` - .block-interactivity-`.concat(n,` {pointer-events: none;} - .allow-interactivity-`).concat(n,` {pointer-events: all;} -`)},yA=0,Ur=[];function bA(n){var l=m.useRef([]),r=m.useRef([0,0]),o=m.useRef(),s=m.useState(yA++)[0],c=m.useState(D0)[0],d=m.useRef(n);m.useEffect(function(){d.current=n},[n]),m.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(s));var w=qR([n.lockRef.current],(n.shards||[]).map(ub),!0).filter(Boolean);return w.forEach(function(C){return C.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),w.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(s))})}}},[n.inert,n.lockRef.current,n.shards]);var h=m.useCallback(function(w,C){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!d.current.allowPinchZoom;var A=ru(w),N=r.current,j="deltaX"in w?w.deltaX:N[0]-A[0],z="deltaY"in w?w.deltaY:N[1]-A[1],P,Y=w.target,G=Math.abs(j)>Math.abs(z)?"h":"v";if("touches"in w&&G==="h"&&Y.type==="range")return!1;var te=window.getSelection(),le=te&&te.anchorNode,ie=le?le===Y||le.contains(Y):!1;if(ie)return!1;var se=ob(G,Y);if(!se)return!0;if(se?P=G:(P=G==="v"?"h":"v",se=ob(G,Y)),!se)return!1;if(!o.current&&"changedTouches"in w&&(j||z)&&(o.current=P),!P)return!0;var ne=o.current||P;return pA(ne,C,w,ne==="h"?j:z)},[]),v=m.useCallback(function(w){var C=w;if(!(!Ur.length||Ur[Ur.length-1]!==c)){var A="deltaY"in C?sb(C):ru(C),N=l.current.filter(function(P){return P.name===C.type&&(P.target===C.target||C.target===P.shadowParent)&&vA(P.delta,A)})[0];if(N&&N.should){C.cancelable&&C.preventDefault();return}if(!N){var j=(d.current.shards||[]).map(ub).filter(Boolean).filter(function(P){return P.contains(C.target)}),z=j.length>0?h(C,j[0]):!d.current.noIsolation;z&&C.cancelable&&C.preventDefault()}}},[]),p=m.useCallback(function(w,C,A,N){var j={name:w,delta:C,target:A,should:N,shadowParent:xA(A)};l.current.push(j),setTimeout(function(){l.current=l.current.filter(function(z){return z!==j})},1)},[]),b=m.useCallback(function(w){r.current=ru(w),o.current=void 0},[]),y=m.useCallback(function(w){p(w.type,sb(w),w.target,h(w,n.lockRef.current))},[]),E=m.useCallback(function(w){p(w.type,ru(w),w.target,h(w,n.lockRef.current))},[]);m.useEffect(function(){return Ur.push(c),n.setCallbacks({onScrollCapture:y,onWheelCapture:y,onTouchMoveCapture:E}),document.addEventListener("wheel",v,zr),document.addEventListener("touchmove",v,zr),document.addEventListener("touchstart",b,zr),function(){Ur=Ur.filter(function(w){return w!==c}),document.removeEventListener("wheel",v,zr),document.removeEventListener("touchmove",v,zr),document.removeEventListener("touchstart",b,zr)}},[]);var T=n.removeScrollBar,R=n.inert;return m.createElement(m.Fragment,null,R?m.createElement(c,{styles:gA(s)}):null,T?m.createElement(sA,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function xA(n){for(var l=null;n!==null;)n instanceof ShadowRoot&&(l=n.host,n=n.host),n=n.parentNode;return l}const SA=FR(N0,bA);var Ou=m.forwardRef(function(n,l){return m.createElement(Mu,_n({},n,{ref:l,sideCar:SA}))});Ou.classNames=Mu.classNames;var EA=function(n){if(typeof document>"u")return null;var l=Array.isArray(n)?n[0]:n;return l.ownerDocument.body},Lr=new WeakMap,iu=new WeakMap,ou={},Sd=0,L0=function(n){return n&&(n.host||L0(n.parentNode))},wA=function(n,l){return l.map(function(r){if(n.contains(r))return r;var o=L0(r);return o&&n.contains(o)?o:(console.error("aria-hidden",r,"in not contained inside",n,". Doing nothing"),null)}).filter(function(r){return!!r})},CA=function(n,l,r,o){var s=wA(l,Array.isArray(n)?n:[n]);ou[r]||(ou[r]=new WeakMap);var c=ou[r],d=[],h=new Set,v=new Set(s),p=function(y){!y||h.has(y)||(h.add(y),p(y.parentNode))};s.forEach(p);var b=function(y){!y||v.has(y)||Array.prototype.forEach.call(y.children,function(E){if(h.has(E))b(E);else try{var T=E.getAttribute(o),R=T!==null&&T!=="false",w=(Lr.get(E)||0)+1,C=(c.get(E)||0)+1;Lr.set(E,w),c.set(E,C),d.push(E),w===1&&R&&iu.set(E,!0),C===1&&E.setAttribute(r,"true"),R||E.setAttribute(o,"true")}catch(A){console.error("aria-hidden: cannot operate on ",E,A)}})};return b(l),h.clear(),Sd++,function(){d.forEach(function(y){var E=Lr.get(y)-1,T=c.get(y)-1;Lr.set(y,E),c.set(y,T),E||(iu.has(y)||y.removeAttribute(o),iu.delete(y)),T||y.removeAttribute(r)}),Sd--,Sd||(Lr=new WeakMap,Lr=new WeakMap,iu=new WeakMap,ou={})}},Dh=function(n,l,r){r===void 0&&(r="data-aria-hidden");var o=Array.from(Array.isArray(n)?n:[n]),s=EA(n);return s?(o.push.apply(o,Array.from(s.querySelectorAll("[aria-live], script"))),CA(o,s,r,"aria-hidden")):function(){return null}};function TA(n){const l=RA(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(_A);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function RA(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=OA(s),h=MA(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var AA=Symbol("radix.slottable");function _A(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===AA}function MA(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function OA(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var Nu="Dialog",[B0]=rl(Nu),[NA,xn]=B0(Nu),H0=n=>{const{__scopeDialog:l,children:r,open:o,defaultOpen:s,onOpenChange:c,modal:d=!0}=n,h=m.useRef(null),v=m.useRef(null),[p,b]=ni({prop:o,defaultProp:s??!1,onChange:c,caller:Nu});return x.jsx(NA,{scope:l,triggerRef:h,contentRef:v,contentId:St(),titleId:St(),descriptionId:St(),open:p,onOpenChange:b,onOpenToggle:m.useCallback(()=>b(y=>!y),[b]),modal:d,children:r})};H0.displayName=Nu;var k0="DialogTrigger",DA=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(k0,r),c=Ve(l,s.triggerRef);return x.jsx(Se.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":Uh(s.open),...o,ref:c,onClick:fe(n.onClick,s.onOpenToggle)})});DA.displayName=k0;var jh="DialogPortal",[jA,q0]=B0(jh,{forceMount:void 0}),G0=n=>{const{__scopeDialog:l,forceMount:r,children:o,container:s}=n,c=xn(jh,l);return x.jsx(jA,{scope:l,forceMount:r,children:m.Children.map(o,d=>x.jsx(zn,{present:r||c.open,children:x.jsx(Oo,{asChild:!0,container:s,children:d})}))})};G0.displayName=jh;var yu="DialogOverlay",V0=m.forwardRef((n,l)=>{const r=q0(yu,n.__scopeDialog),{forceMount:o=r.forceMount,...s}=n,c=xn(yu,n.__scopeDialog);return c.modal?x.jsx(zn,{present:o||c.open,children:x.jsx(UA,{...s,ref:l})}):null});V0.displayName=yu;var zA=TA("DialogOverlay.RemoveScroll"),UA=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(yu,r);return x.jsx(Ou,{as:zA,allowPinchZoom:!0,shards:[s.contentRef],children:x.jsx(Se.div,{"data-state":Uh(s.open),...o,ref:l,style:{pointerEvents:"auto",...o.style}})})}),ql="DialogContent",P0=m.forwardRef((n,l)=>{const r=q0(ql,n.__scopeDialog),{forceMount:o=r.forceMount,...s}=n,c=xn(ql,n.__scopeDialog);return x.jsx(zn,{present:o||c.open,children:c.modal?x.jsx(LA,{...s,ref:l}):x.jsx(BA,{...s,ref:l})})});P0.displayName=ql;var LA=m.forwardRef((n,l)=>{const r=xn(ql,n.__scopeDialog),o=m.useRef(null),s=Ve(l,r.contentRef,o);return m.useEffect(()=>{const c=o.current;if(c)return Dh(c)},[]),x.jsx(I0,{...n,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:fe(n.onCloseAutoFocus,c=>{var d;c.preventDefault(),(d=r.triggerRef.current)==null||d.focus()}),onPointerDownOutside:fe(n.onPointerDownOutside,c=>{const d=c.detail.originalEvent,h=d.button===0&&d.ctrlKey===!0;(d.button===2||h)&&c.preventDefault()}),onFocusOutside:fe(n.onFocusOutside,c=>c.preventDefault())})}),BA=m.forwardRef((n,l)=>{const r=xn(ql,n.__scopeDialog),o=m.useRef(!1),s=m.useRef(!1);return x.jsx(I0,{...n,ref:l,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:c=>{var d,h;(d=n.onCloseAutoFocus)==null||d.call(n,c),c.defaultPrevented||(o.current||(h=r.triggerRef.current)==null||h.focus(),c.preventDefault()),o.current=!1,s.current=!1},onInteractOutside:c=>{var v,p;(v=n.onInteractOutside)==null||v.call(n,c),c.defaultPrevented||(o.current=!0,c.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const d=c.target;((p=r.triggerRef.current)==null?void 0:p.contains(d))&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&s.current&&c.preventDefault()}})}),I0=m.forwardRef((n,l)=>{const{__scopeDialog:r,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:c,...d}=n,h=xn(ql,r),v=m.useRef(null),p=Ve(l,v);return Nh(),x.jsxs(x.Fragment,{children:[x.jsx(_u,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:s,onUnmountAutoFocus:c,children:x.jsx(Mo,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":Uh(h.open),...d,ref:p,onDismiss:()=>h.onOpenChange(!1)})}),x.jsxs(x.Fragment,{children:[x.jsx(HA,{titleId:h.titleId}),x.jsx(qA,{contentRef:v,descriptionId:h.descriptionId})]})]})}),zh="DialogTitle",Y0=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(zh,r);return x.jsx(Se.h2,{id:s.titleId,...o,ref:l})});Y0.displayName=zh;var Q0="DialogDescription",K0=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(Q0,r);return x.jsx(Se.p,{id:s.descriptionId,...o,ref:l})});K0.displayName=Q0;var X0="DialogClose",F0=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(X0,r);return x.jsx(Se.button,{type:"button",...o,ref:l,onClick:fe(n.onClick,()=>s.onOpenChange(!1))})});F0.displayName=X0;function Uh(n){return n?"open":"closed"}var Z0="DialogTitleWarning",[Qj,$0]=sR(Z0,{contentName:ql,titleName:zh,docsSlug:"dialog"}),HA=({titleId:n})=>{const l=$0(Z0),r=`\`${l.contentName}\` requires a \`${l.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${l.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${l.docsSlug}`;return m.useEffect(()=>{n&&(document.getElementById(n)||console.error(r))},[r,n]),null},kA="DialogDescriptionWarning",qA=({contentRef:n,descriptionId:l})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${$0(kA).contentName}}.`;return m.useEffect(()=>{var c;const s=(c=n.current)==null?void 0:c.getAttribute("aria-describedby");l&&s&&(document.getElementById(l)||console.warn(o))},[o,n,l]),null},Lh=H0,Bh=G0,Hh=V0,kh=P0,J0=Y0,W0=K0,ex=F0;function GA(n){const l=m.useRef({value:n,previous:n});return m.useMemo(()=>(l.current.value!==n&&(l.current.previous=l.current.value,l.current.value=n),l.current.previous),[n])}function VA(n){const[l,r]=m.useState(void 0);return Et(()=>{if(n){r({width:n.offsetWidth,height:n.offsetHeight});const o=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const c=s[0];let d,h;if("borderBoxSize"in c){const v=c.borderBoxSize,p=Array.isArray(v)?v[0]:v;d=p.inlineSize,h=p.blockSize}else d=n.offsetWidth,h=n.offsetHeight;r({width:d,height:h})});return o.observe(n,{box:"border-box"}),()=>o.unobserve(n)}else r(void 0)},[n]),l}const PA=["top","right","bottom","left"],tl=Math.min,Ft=Math.max,bu=Math.round,su=Math.floor,Nn=n=>({x:n,y:n}),IA={left:"right",right:"left",bottom:"top",top:"bottom"};function eh(n,l,r){return Ft(n,tl(l,r))}function ua(n,l){return typeof n=="function"?n(l):n}function ca(n){return n.split("-")[0]}function oi(n){return n.split("-")[1]}function qh(n){return n==="x"?"y":"x"}function Gh(n){return n==="y"?"height":"width"}function Mn(n){const l=n[0];return l==="t"||l==="b"?"y":"x"}function Vh(n){return qh(Mn(n))}function YA(n,l,r){r===void 0&&(r=!1);const o=oi(n),s=Vh(n),c=Gh(s);let d=s==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return l.reference[c]>l.floating[c]&&(d=xu(d)),[d,xu(d)]}function QA(n){const l=xu(n);return[th(n),l,th(l)]}function th(n){return n.includes("start")?n.replace("start","end"):n.replace("end","start")}const cb=["left","right"],fb=["right","left"],KA=["top","bottom"],XA=["bottom","top"];function FA(n,l,r){switch(n){case"top":case"bottom":return r?l?fb:cb:l?cb:fb;case"left":case"right":return l?KA:XA;default:return[]}}function ZA(n,l,r,o){const s=oi(n);let c=FA(ca(n),r==="start",o);return s&&(c=c.map(d=>d+"-"+s),l&&(c=c.concat(c.map(th)))),c}function xu(n){const l=ca(n);return IA[l]+n.slice(l.length)}function $A(n){return{top:0,right:0,bottom:0,left:0,...n}}function tx(n){return typeof n!="number"?$A(n):{top:n,right:n,bottom:n,left:n}}function Su(n){const{x:l,y:r,width:o,height:s}=n;return{width:o,height:s,top:r,left:l,right:l+o,bottom:r+s,x:l,y:r}}function db(n,l,r){let{reference:o,floating:s}=n;const c=Mn(l),d=Vh(l),h=Gh(d),v=ca(l),p=c==="y",b=o.x+o.width/2-s.width/2,y=o.y+o.height/2-s.height/2,E=o[h]/2-s[h]/2;let T;switch(v){case"top":T={x:b,y:o.y-s.height};break;case"bottom":T={x:b,y:o.y+o.height};break;case"right":T={x:o.x+o.width,y};break;case"left":T={x:o.x-s.width,y};break;default:T={x:o.x,y:o.y}}switch(oi(l)){case"start":T[d]-=E*(r&&p?-1:1);break;case"end":T[d]+=E*(r&&p?-1:1);break}return T}async function JA(n,l){var r;l===void 0&&(l={});const{x:o,y:s,platform:c,rects:d,elements:h,strategy:v}=n,{boundary:p="clippingAncestors",rootBoundary:b="viewport",elementContext:y="floating",altBoundary:E=!1,padding:T=0}=ua(l,n),R=tx(T),C=h[E?y==="floating"?"reference":"floating":y],A=Su(await c.getClippingRect({element:(r=await(c.isElement==null?void 0:c.isElement(C)))==null||r?C:C.contextElement||await(c.getDocumentElement==null?void 0:c.getDocumentElement(h.floating)),boundary:p,rootBoundary:b,strategy:v})),N=y==="floating"?{x:o,y:s,width:d.floating.width,height:d.floating.height}:d.reference,j=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h.floating)),z=await(c.isElement==null?void 0:c.isElement(j))?await(c.getScale==null?void 0:c.getScale(j))||{x:1,y:1}:{x:1,y:1},P=Su(c.convertOffsetParentRelativeRectToViewportRelativeRect?await c.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:N,offsetParent:j,strategy:v}):N);return{top:(A.top-P.top+R.top)/z.y,bottom:(P.bottom-A.bottom+R.bottom)/z.y,left:(A.left-P.left+R.left)/z.x,right:(P.right-A.right+R.right)/z.x}}const WA=50,e_=async(n,l,r)=>{const{placement:o="bottom",strategy:s="absolute",middleware:c=[],platform:d}=r,h=d.detectOverflow?d:{...d,detectOverflow:JA},v=await(d.isRTL==null?void 0:d.isRTL(l));let p=await d.getElementRects({reference:n,floating:l,strategy:s}),{x:b,y}=db(p,o,v),E=o,T=0;const R={};for(let w=0;w({name:"arrow",options:n,async fn(l){const{x:r,y:o,placement:s,rects:c,platform:d,elements:h,middlewareData:v}=l,{element:p,padding:b=0}=ua(n,l)||{};if(p==null)return{};const y=tx(b),E={x:r,y:o},T=Vh(s),R=Gh(T),w=await d.getDimensions(p),C=T==="y",A=C?"top":"left",N=C?"bottom":"right",j=C?"clientHeight":"clientWidth",z=c.reference[R]+c.reference[T]-E[T]-c.floating[R],P=E[T]-c.reference[T],Y=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let G=Y?Y[j]:0;(!G||!await(d.isElement==null?void 0:d.isElement(Y)))&&(G=h.floating[j]||c.floating[R]);const te=z/2-P/2,le=G/2-w[R]/2-1,ie=tl(y[A],le),se=tl(y[N],le),ne=ie,be=G-w[R]-se,ce=G/2-w[R]/2+te,ge=eh(ne,ce,be),B=!v.arrow&&oi(s)!=null&&ce!==ge&&c.reference[R]/2-(cece<=0)){var se,ne;const ce=(((se=c.flip)==null?void 0:se.index)||0)+1,ge=G[ce];if(ge&&(!(y==="alignment"?N!==Mn(ge):!1)||ie.every($=>Mn($.placement)===N?$.overflows[0]>0:!0)))return{data:{index:ce,overflows:ie},reset:{placement:ge}};let B=(ne=ie.filter(F=>F.overflows[0]<=0).sort((F,$)=>F.overflows[1]-$.overflows[1])[0])==null?void 0:ne.placement;if(!B)switch(T){case"bestFit":{var be;const F=(be=ie.filter($=>{if(Y){const W=Mn($.placement);return W===N||W==="y"}return!0}).map($=>[$.placement,$.overflows.filter(W=>W>0).reduce((W,de)=>W+de,0)]).sort(($,W)=>$[1]-W[1])[0])==null?void 0:be[0];F&&(B=F);break}case"initialPlacement":B=h;break}if(s!==B)return{reset:{placement:B}}}return{}}}};function hb(n,l){return{top:n.top-l.height,right:n.right-l.width,bottom:n.bottom-l.height,left:n.left-l.width}}function mb(n){return PA.some(l=>n[l]>=0)}const a_=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(l){const{rects:r,platform:o}=l,{strategy:s="referenceHidden",...c}=ua(n,l);switch(s){case"referenceHidden":{const d=await o.detectOverflow(l,{...c,elementContext:"reference"}),h=hb(d,r.reference);return{data:{referenceHiddenOffsets:h,referenceHidden:mb(h)}}}case"escaped":{const d=await o.detectOverflow(l,{...c,altBoundary:!0}),h=hb(d,r.floating);return{data:{escapedOffsets:h,escaped:mb(h)}}}default:return{}}}}},nx=new Set(["left","top"]);async function l_(n,l){const{placement:r,platform:o,elements:s}=n,c=await(o.isRTL==null?void 0:o.isRTL(s.floating)),d=ca(r),h=oi(r),v=Mn(r)==="y",p=nx.has(d)?-1:1,b=c&&v?-1:1,y=ua(l,n);let{mainAxis:E,crossAxis:T,alignmentAxis:R}=typeof y=="number"?{mainAxis:y,crossAxis:0,alignmentAxis:null}:{mainAxis:y.mainAxis||0,crossAxis:y.crossAxis||0,alignmentAxis:y.alignmentAxis};return h&&typeof R=="number"&&(T=h==="end"?R*-1:R),v?{x:T*b,y:E*p}:{x:E*p,y:T*b}}const r_=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(l){var r,o;const{x:s,y:c,placement:d,middlewareData:h}=l,v=await l_(l,n);return d===((r=h.offset)==null?void 0:r.placement)&&(o=h.arrow)!=null&&o.alignmentOffset?{}:{x:s+v.x,y:c+v.y,data:{...v,placement:d}}}}},i_=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(l){const{x:r,y:o,placement:s,platform:c}=l,{mainAxis:d=!0,crossAxis:h=!1,limiter:v={fn:A=>{let{x:N,y:j}=A;return{x:N,y:j}}},...p}=ua(n,l),b={x:r,y:o},y=await c.detectOverflow(l,p),E=Mn(ca(s)),T=qh(E);let R=b[T],w=b[E];if(d){const A=T==="y"?"top":"left",N=T==="y"?"bottom":"right",j=R+y[A],z=R-y[N];R=eh(j,R,z)}if(h){const A=E==="y"?"top":"left",N=E==="y"?"bottom":"right",j=w+y[A],z=w-y[N];w=eh(j,w,z)}const C=v.fn({...l,[T]:R,[E]:w});return{...C,data:{x:C.x-r,y:C.y-o,enabled:{[T]:d,[E]:h}}}}}},o_=function(n){return n===void 0&&(n={}),{options:n,fn(l){const{x:r,y:o,placement:s,rects:c,middlewareData:d}=l,{offset:h=0,mainAxis:v=!0,crossAxis:p=!0}=ua(n,l),b={x:r,y:o},y=Mn(s),E=qh(y);let T=b[E],R=b[y];const w=ua(h,l),C=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(v){const j=E==="y"?"height":"width",z=c.reference[E]-c.floating[j]+C.mainAxis,P=c.reference[E]+c.reference[j]-C.mainAxis;TP&&(T=P)}if(p){var A,N;const j=E==="y"?"width":"height",z=nx.has(ca(s)),P=c.reference[y]-c.floating[j]+(z&&((A=d.offset)==null?void 0:A[y])||0)+(z?0:C.crossAxis),Y=c.reference[y]+c.reference[j]+(z?0:((N=d.offset)==null?void 0:N[y])||0)-(z?C.crossAxis:0);RY&&(R=Y)}return{[E]:T,[y]:R}}}},s_=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(l){var r,o;const{placement:s,rects:c,platform:d,elements:h}=l,{apply:v=()=>{},...p}=ua(n,l),b=await d.detectOverflow(l,p),y=ca(s),E=oi(s),T=Mn(s)==="y",{width:R,height:w}=c.floating;let C,A;y==="top"||y==="bottom"?(C=y,A=E===(await(d.isRTL==null?void 0:d.isRTL(h.floating))?"start":"end")?"left":"right"):(A=y,C=E==="end"?"top":"bottom");const N=w-b.top-b.bottom,j=R-b.left-b.right,z=tl(w-b[C],N),P=tl(R-b[A],j),Y=!l.middlewareData.shift;let G=z,te=P;if((r=l.middlewareData.shift)!=null&&r.enabled.x&&(te=j),(o=l.middlewareData.shift)!=null&&o.enabled.y&&(G=N),Y&&!E){const ie=Ft(b.left,0),se=Ft(b.right,0),ne=Ft(b.top,0),be=Ft(b.bottom,0);T?te=R-2*(ie!==0||se!==0?ie+se:Ft(b.left,b.right)):G=w-2*(ne!==0||be!==0?ne+be:Ft(b.top,b.bottom))}await v({...l,availableWidth:te,availableHeight:G});const le=await d.getDimensions(h.floating);return R!==le.width||w!==le.height?{reset:{rects:!0}}:{}}}};function Du(){return typeof window<"u"}function si(n){return ax(n)?(n.nodeName||"").toLowerCase():"#document"}function Zt(n){var l;return(n==null||(l=n.ownerDocument)==null?void 0:l.defaultView)||window}function Un(n){var l;return(l=(ax(n)?n.ownerDocument:n.document)||window.document)==null?void 0:l.documentElement}function ax(n){return Du()?n instanceof Node||n instanceof Zt(n).Node:!1}function yn(n){return Du()?n instanceof Element||n instanceof Zt(n).Element:!1}function da(n){return Du()?n instanceof HTMLElement||n instanceof Zt(n).HTMLElement:!1}function pb(n){return!Du()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof Zt(n).ShadowRoot}function No(n){const{overflow:l,overflowX:r,overflowY:o,display:s}=bn(n);return/auto|scroll|overlay|hidden|clip/.test(l+o+r)&&s!=="inline"&&s!=="contents"}function u_(n){return/^(table|td|th)$/.test(si(n))}function ju(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const c_=/transform|translate|scale|rotate|perspective|filter/,f_=/paint|layout|strict|content/,Al=n=>!!n&&n!=="none";let Ed;function Ph(n){const l=yn(n)?bn(n):n;return Al(l.transform)||Al(l.translate)||Al(l.scale)||Al(l.rotate)||Al(l.perspective)||!Ih()&&(Al(l.backdropFilter)||Al(l.filter))||c_.test(l.willChange||"")||f_.test(l.contain||"")}function d_(n){let l=nl(n);for(;da(l)&&!ai(l);){if(Ph(l))return l;if(ju(l))return null;l=nl(l)}return null}function Ih(){return Ed==null&&(Ed=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ed}function ai(n){return/^(html|body|#document)$/.test(si(n))}function bn(n){return Zt(n).getComputedStyle(n)}function zu(n){return yn(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function nl(n){if(si(n)==="html")return n;const l=n.assignedSlot||n.parentNode||pb(n)&&n.host||Un(n);return pb(l)?l.host:l}function lx(n){const l=nl(n);return ai(l)?n.ownerDocument?n.ownerDocument.body:n.body:da(l)&&No(l)?l:lx(l)}function yo(n,l,r){var o;l===void 0&&(l=[]),r===void 0&&(r=!0);const s=lx(n),c=s===((o=n.ownerDocument)==null?void 0:o.body),d=Zt(s);if(c){const h=nh(d);return l.concat(d,d.visualViewport||[],No(s)?s:[],h&&r?yo(h):[])}else return l.concat(s,yo(s,[],r))}function nh(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function rx(n){const l=bn(n);let r=parseFloat(l.width)||0,o=parseFloat(l.height)||0;const s=da(n),c=s?n.offsetWidth:r,d=s?n.offsetHeight:o,h=bu(r)!==c||bu(o)!==d;return h&&(r=c,o=d),{width:r,height:o,$:h}}function Yh(n){return yn(n)?n:n.contextElement}function Vr(n){const l=Yh(n);if(!da(l))return Nn(1);const r=l.getBoundingClientRect(),{width:o,height:s,$:c}=rx(l);let d=(c?bu(r.width):r.width)/o,h=(c?bu(r.height):r.height)/s;return(!d||!Number.isFinite(d))&&(d=1),(!h||!Number.isFinite(h))&&(h=1),{x:d,y:h}}const h_=Nn(0);function ix(n){const l=Zt(n);return!Ih()||!l.visualViewport?h_:{x:l.visualViewport.offsetLeft,y:l.visualViewport.offsetTop}}function m_(n,l,r){return l===void 0&&(l=!1),!r||l&&r!==Zt(n)?!1:l}function Gl(n,l,r,o){l===void 0&&(l=!1),r===void 0&&(r=!1);const s=n.getBoundingClientRect(),c=Yh(n);let d=Nn(1);l&&(o?yn(o)&&(d=Vr(o)):d=Vr(n));const h=m_(c,r,o)?ix(c):Nn(0);let v=(s.left+h.x)/d.x,p=(s.top+h.y)/d.y,b=s.width/d.x,y=s.height/d.y;if(c){const E=Zt(c),T=o&&yn(o)?Zt(o):o;let R=E,w=nh(R);for(;w&&o&&T!==R;){const C=Vr(w),A=w.getBoundingClientRect(),N=bn(w),j=A.left+(w.clientLeft+parseFloat(N.paddingLeft))*C.x,z=A.top+(w.clientTop+parseFloat(N.paddingTop))*C.y;v*=C.x,p*=C.y,b*=C.x,y*=C.y,v+=j,p+=z,R=Zt(w),w=nh(R)}}return Su({width:b,height:y,x:v,y:p})}function Uu(n,l){const r=zu(n).scrollLeft;return l?l.left+r:Gl(Un(n)).left+r}function ox(n,l){const r=n.getBoundingClientRect(),o=r.left+l.scrollLeft-Uu(n,r),s=r.top+l.scrollTop;return{x:o,y:s}}function p_(n){let{elements:l,rect:r,offsetParent:o,strategy:s}=n;const c=s==="fixed",d=Un(o),h=l?ju(l.floating):!1;if(o===d||h&&c)return r;let v={scrollLeft:0,scrollTop:0},p=Nn(1);const b=Nn(0),y=da(o);if((y||!y&&!c)&&((si(o)!=="body"||No(d))&&(v=zu(o)),y)){const T=Gl(o);p=Vr(o),b.x=T.x+o.clientLeft,b.y=T.y+o.clientTop}const E=d&&!y&&!c?ox(d,v):Nn(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-v.scrollLeft*p.x+b.x+E.x,y:r.y*p.y-v.scrollTop*p.y+b.y+E.y}}function v_(n){return Array.from(n.getClientRects())}function g_(n){const l=Un(n),r=zu(n),o=n.ownerDocument.body,s=Ft(l.scrollWidth,l.clientWidth,o.scrollWidth,o.clientWidth),c=Ft(l.scrollHeight,l.clientHeight,o.scrollHeight,o.clientHeight);let d=-r.scrollLeft+Uu(n);const h=-r.scrollTop;return bn(o).direction==="rtl"&&(d+=Ft(l.clientWidth,o.clientWidth)-s),{width:s,height:c,x:d,y:h}}const vb=25;function y_(n,l){const r=Zt(n),o=Un(n),s=r.visualViewport;let c=o.clientWidth,d=o.clientHeight,h=0,v=0;if(s){c=s.width,d=s.height;const b=Ih();(!b||b&&l==="fixed")&&(h=s.offsetLeft,v=s.offsetTop)}const p=Uu(o);if(p<=0){const b=o.ownerDocument,y=b.body,E=getComputedStyle(y),T=b.compatMode==="CSS1Compat"&&parseFloat(E.marginLeft)+parseFloat(E.marginRight)||0,R=Math.abs(o.clientWidth-y.clientWidth-T);R<=vb&&(c-=R)}else p<=vb&&(c+=p);return{width:c,height:d,x:h,y:v}}function b_(n,l){const r=Gl(n,!0,l==="fixed"),o=r.top+n.clientTop,s=r.left+n.clientLeft,c=da(n)?Vr(n):Nn(1),d=n.clientWidth*c.x,h=n.clientHeight*c.y,v=s*c.x,p=o*c.y;return{width:d,height:h,x:v,y:p}}function gb(n,l,r){let o;if(l==="viewport")o=y_(n,r);else if(l==="document")o=g_(Un(n));else if(yn(l))o=b_(l,r);else{const s=ix(n);o={x:l.x-s.x,y:l.y-s.y,width:l.width,height:l.height}}return Su(o)}function sx(n,l){const r=nl(n);return r===l||!yn(r)||ai(r)?!1:bn(r).position==="fixed"||sx(r,l)}function x_(n,l){const r=l.get(n);if(r)return r;let o=yo(n,[],!1).filter(h=>yn(h)&&si(h)!=="body"),s=null;const c=bn(n).position==="fixed";let d=c?nl(n):n;for(;yn(d)&&!ai(d);){const h=bn(d),v=Ph(d);!v&&h.position==="fixed"&&(s=null),(c?!v&&!s:!v&&h.position==="static"&&!!s&&(s.position==="absolute"||s.position==="fixed")||No(d)&&!v&&sx(n,d))?o=o.filter(b=>b!==d):s=h,d=nl(d)}return l.set(n,o),o}function S_(n){let{element:l,boundary:r,rootBoundary:o,strategy:s}=n;const d=[...r==="clippingAncestors"?ju(l)?[]:x_(l,this._c):[].concat(r),o],h=gb(l,d[0],s);let v=h.top,p=h.right,b=h.bottom,y=h.left;for(let E=1;E{d(!1,1e-7)},1e3)}G===1&&!cx(p,n.getBoundingClientRect())&&d(),z=!1}try{r=new IntersectionObserver(P,{...j,root:s.ownerDocument})}catch{r=new IntersectionObserver(P,j)}r.observe(n)}return d(!0),c}function __(n,l,r,o){o===void 0&&(o={});const{ancestorScroll:s=!0,ancestorResize:c=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:h=typeof IntersectionObserver=="function",animationFrame:v=!1}=o,p=Yh(n),b=s||c?[...p?yo(p):[],...l?yo(l):[]]:[];b.forEach(A=>{s&&A.addEventListener("scroll",r,{passive:!0}),c&&A.addEventListener("resize",r)});const y=p&&h?A_(p,r):null;let E=-1,T=null;d&&(T=new ResizeObserver(A=>{let[N]=A;N&&N.target===p&&T&&l&&(T.unobserve(l),cancelAnimationFrame(E),E=requestAnimationFrame(()=>{var j;(j=T)==null||j.observe(l)})),r()}),p&&!v&&T.observe(p),l&&T.observe(l));let R,w=v?Gl(n):null;v&&C();function C(){const A=Gl(n);w&&!cx(w,A)&&r(),w=A,R=requestAnimationFrame(C)}return r(),()=>{var A;b.forEach(N=>{s&&N.removeEventListener("scroll",r),c&&N.removeEventListener("resize",r)}),y==null||y(),(A=T)==null||A.disconnect(),T=null,v&&cancelAnimationFrame(R)}}const M_=r_,O_=i_,N_=n_,D_=s_,j_=a_,bb=t_,z_=o_,U_=(n,l,r)=>{const o=new Map,s={platform:R_,...r},c={...s.platform,_c:o};return e_(n,l,{...s,platform:c})};var L_=typeof document<"u",B_=function(){},mu=L_?m.useLayoutEffect:B_;function Eu(n,l){if(n===l)return!0;if(typeof n!=typeof l)return!1;if(typeof n=="function"&&n.toString()===l.toString())return!0;let r,o,s;if(n&&l&&typeof n=="object"){if(Array.isArray(n)){if(r=n.length,r!==l.length)return!1;for(o=r;o--!==0;)if(!Eu(n[o],l[o]))return!1;return!0}if(s=Object.keys(n),r=s.length,r!==Object.keys(l).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(l,s[o]))return!1;for(o=r;o--!==0;){const c=s[o];if(!(c==="_owner"&&n.$$typeof)&&!Eu(n[c],l[c]))return!1}return!0}return n!==n&&l!==l}function fx(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function xb(n,l){const r=fx(n);return Math.round(l*r)/r}function Cd(n){const l=m.useRef(n);return mu(()=>{l.current=n}),l}function H_(n){n===void 0&&(n={});const{placement:l="bottom",strategy:r="absolute",middleware:o=[],platform:s,elements:{reference:c,floating:d}={},transform:h=!0,whileElementsMounted:v,open:p}=n,[b,y]=m.useState({x:0,y:0,strategy:r,placement:l,middlewareData:{},isPositioned:!1}),[E,T]=m.useState(o);Eu(E,o)||T(o);const[R,w]=m.useState(null),[C,A]=m.useState(null),N=m.useCallback($=>{$!==Y.current&&(Y.current=$,w($))},[]),j=m.useCallback($=>{$!==G.current&&(G.current=$,A($))},[]),z=c||R,P=d||C,Y=m.useRef(null),G=m.useRef(null),te=m.useRef(b),le=v!=null,ie=Cd(v),se=Cd(s),ne=Cd(p),be=m.useCallback(()=>{if(!Y.current||!G.current)return;const $={placement:l,strategy:r,middleware:E};se.current&&($.platform=se.current),U_(Y.current,G.current,$).then(W=>{const de={...W,isPositioned:ne.current!==!1};ce.current&&!Eu(te.current,de)&&(te.current=de,Ao.flushSync(()=>{y(de)}))})},[E,l,r,se,ne]);mu(()=>{p===!1&&te.current.isPositioned&&(te.current.isPositioned=!1,y($=>({...$,isPositioned:!1})))},[p]);const ce=m.useRef(!1);mu(()=>(ce.current=!0,()=>{ce.current=!1}),[]),mu(()=>{if(z&&(Y.current=z),P&&(G.current=P),z&&P){if(ie.current)return ie.current(z,P,be);be()}},[z,P,be,ie,le]);const ge=m.useMemo(()=>({reference:Y,floating:G,setReference:N,setFloating:j}),[N,j]),B=m.useMemo(()=>({reference:z,floating:P}),[z,P]),F=m.useMemo(()=>{const $={position:r,left:0,top:0};if(!B.floating)return $;const W=xb(B.floating,b.x),de=xb(B.floating,b.y);return h?{...$,transform:"translate("+W+"px, "+de+"px)",...fx(B.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:W,top:de}},[r,h,B.floating,b.x,b.y]);return m.useMemo(()=>({...b,update:be,refs:ge,elements:B,floatingStyles:F}),[b,be,ge,B,F])}const k_=n=>{function l(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:n,fn(r){const{element:o,padding:s}=typeof n=="function"?n(r):n;return o&&l(o)?o.current!=null?bb({element:o.current,padding:s}).fn(r):{}:o?bb({element:o,padding:s}).fn(r):{}}}},q_=(n,l)=>{const r=M_(n);return{name:r.name,fn:r.fn,options:[n,l]}},G_=(n,l)=>{const r=O_(n);return{name:r.name,fn:r.fn,options:[n,l]}},V_=(n,l)=>({fn:z_(n).fn,options:[n,l]}),P_=(n,l)=>{const r=N_(n);return{name:r.name,fn:r.fn,options:[n,l]}},I_=(n,l)=>{const r=D_(n);return{name:r.name,fn:r.fn,options:[n,l]}},Y_=(n,l)=>{const r=j_(n);return{name:r.name,fn:r.fn,options:[n,l]}},Q_=(n,l)=>{const r=k_(n);return{name:r.name,fn:r.fn,options:[n,l]}};var K_="Arrow",dx=m.forwardRef((n,l)=>{const{children:r,width:o=10,height:s=5,...c}=n;return x.jsx(Se.svg,{...c,ref:l,width:o,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:n.asChild?r:x.jsx("polygon",{points:"0,0 30,0 15,10"})})});dx.displayName=K_;var X_=dx,Qh="Popper",[hx,ui]=rl(Qh),[F_,mx]=hx(Qh),px=n=>{const{__scopePopper:l,children:r}=n,[o,s]=m.useState(null);return x.jsx(F_,{scope:l,anchor:o,onAnchorChange:s,children:r})};px.displayName=Qh;var vx="PopperAnchor",gx=m.forwardRef((n,l)=>{const{__scopePopper:r,virtualRef:o,...s}=n,c=mx(vx,r),d=m.useRef(null),h=Ve(l,d),v=m.useRef(null);return m.useEffect(()=>{const p=v.current;v.current=(o==null?void 0:o.current)||d.current,p!==v.current&&c.onAnchorChange(v.current)}),o?null:x.jsx(Se.div,{...s,ref:h})});gx.displayName=vx;var Kh="PopperContent",[Z_,$_]=hx(Kh),yx=m.forwardRef((n,l)=>{var J,me,ue,Ae,ze,Ue;const{__scopePopper:r,side:o="bottom",sideOffset:s=0,align:c="center",alignOffset:d=0,arrowPadding:h=0,avoidCollisions:v=!0,collisionBoundary:p=[],collisionPadding:b=0,sticky:y="partial",hideWhenDetached:E=!1,updatePositionStrategy:T="optimized",onPlaced:R,...w}=n,C=mx(Kh,r),[A,N]=m.useState(null),j=Ve(l,yt=>N(yt)),[z,P]=m.useState(null),Y=VA(z),G=(Y==null?void 0:Y.width)??0,te=(Y==null?void 0:Y.height)??0,le=o+(c!=="center"?"-"+c:""),ie=typeof b=="number"?b:{top:0,right:0,bottom:0,left:0,...b},se=Array.isArray(p)?p:[p],ne=se.length>0,be={padding:ie,boundary:se.filter(W_),altBoundary:ne},{refs:ce,floatingStyles:ge,placement:B,isPositioned:F,middlewareData:$}=H_({strategy:"fixed",placement:le,whileElementsMounted:(...yt)=>__(...yt,{animationFrame:T==="always"}),elements:{reference:C.anchor},middleware:[q_({mainAxis:s+te,alignmentAxis:d}),v&&G_({mainAxis:!0,crossAxis:!1,limiter:y==="partial"?V_():void 0,...be}),v&&P_({...be}),I_({...be,apply:({elements:yt,rects:ut,availableWidth:Ln,availableHeight:Bn})=>{const{width:sl,height:Bo}=ut.reference,ha=yt.floating.style;ha.setProperty("--radix-popper-available-width",`${Ln}px`),ha.setProperty("--radix-popper-available-height",`${Bn}px`),ha.setProperty("--radix-popper-anchor-width",`${sl}px`),ha.setProperty("--radix-popper-anchor-height",`${Bo}px`)}}),z&&Q_({element:z,padding:h}),eM({arrowWidth:G,arrowHeight:te}),E&&Y_({strategy:"referenceHidden",...be})]}),[W,de]=Sx(B),_=Dn(R);Et(()=>{F&&(_==null||_())},[F,_]);const D=(J=$.arrow)==null?void 0:J.x,Q=(me=$.arrow)==null?void 0:me.y,Z=((ue=$.arrow)==null?void 0:ue.centerOffset)!==0,[ee,ae]=m.useState();return Et(()=>{A&&ae(window.getComputedStyle(A).zIndex)},[A]),x.jsx("div",{ref:ce.setFloating,"data-radix-popper-content-wrapper":"",style:{...ge,transform:F?ge.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ee,"--radix-popper-transform-origin":[(Ae=$.transformOrigin)==null?void 0:Ae.x,(ze=$.transformOrigin)==null?void 0:ze.y].join(" "),...((Ue=$.hide)==null?void 0:Ue.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:n.dir,children:x.jsx(Z_,{scope:r,placedSide:W,onArrowChange:P,arrowX:D,arrowY:Q,shouldHideArrow:Z,children:x.jsx(Se.div,{"data-side":W,"data-align":de,...w,ref:j,style:{...w.style,animation:F?void 0:"none"}})})})});yx.displayName=Kh;var bx="PopperArrow",J_={top:"bottom",right:"left",bottom:"top",left:"right"},xx=m.forwardRef(function(l,r){const{__scopePopper:o,...s}=l,c=$_(bx,o),d=J_[c.placedSide];return x.jsx("span",{ref:c.onArrowChange,style:{position:"absolute",left:c.arrowX,top:c.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[c.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[c.placedSide],visibility:c.shouldHideArrow?"hidden":void 0},children:x.jsx(X_,{...s,ref:r,style:{...s.style,display:"block"}})})});xx.displayName=bx;function W_(n){return n!==null}var eM=n=>({name:"transformOrigin",options:n,fn(l){var C,A,N;const{placement:r,rects:o,middlewareData:s}=l,d=((C=s.arrow)==null?void 0:C.centerOffset)!==0,h=d?0:n.arrowWidth,v=d?0:n.arrowHeight,[p,b]=Sx(r),y={start:"0%",center:"50%",end:"100%"}[b],E=(((A=s.arrow)==null?void 0:A.x)??0)+h/2,T=(((N=s.arrow)==null?void 0:N.y)??0)+v/2;let R="",w="";return p==="bottom"?(R=d?y:`${E}px`,w=`${-v}px`):p==="top"?(R=d?y:`${E}px`,w=`${o.floating.height+v}px`):p==="right"?(R=`${-v}px`,w=d?y:`${T}px`):p==="left"&&(R=`${o.floating.width+v}px`,w=d?y:`${T}px`),{data:{x:R,y:w}}}});function Sx(n){const[l,r="center"]=n.split("-");return[l,r]}var Xh=px,Fh=gx,Zh=yx,$h=xx,Td="rovingFocusGroup.onEntryFocus",tM={bubbles:!1,cancelable:!0},Do="RovingFocusGroup",[ah,Ex,nM]=Mh(Do),[aM,wx]=rl(Do,[nM]),[lM,rM]=aM(Do),Cx=m.forwardRef((n,l)=>x.jsx(ah.Provider,{scope:n.__scopeRovingFocusGroup,children:x.jsx(ah.Slot,{scope:n.__scopeRovingFocusGroup,children:x.jsx(iM,{...n,ref:l})})}));Cx.displayName=Do;var iM=m.forwardRef((n,l)=>{const{__scopeRovingFocusGroup:r,orientation:o,loop:s=!1,dir:c,currentTabStopId:d,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:v,onEntryFocus:p,preventScrollOnEntryFocus:b=!1,...y}=n,E=m.useRef(null),T=Ve(l,E),R=Oh(c),[w,C]=ni({prop:d,defaultProp:h??null,onChange:v,caller:Do}),[A,N]=m.useState(!1),j=Dn(p),z=Ex(r),P=m.useRef(!1),[Y,G]=m.useState(0);return m.useEffect(()=>{const te=E.current;if(te)return te.addEventListener(Td,j),()=>te.removeEventListener(Td,j)},[j]),x.jsx(lM,{scope:r,orientation:o,dir:R,loop:s,currentTabStopId:w,onItemFocus:m.useCallback(te=>C(te),[C]),onItemShiftTab:m.useCallback(()=>N(!0),[]),onFocusableItemAdd:m.useCallback(()=>G(te=>te+1),[]),onFocusableItemRemove:m.useCallback(()=>G(te=>te-1),[]),children:x.jsx(Se.div,{tabIndex:A||Y===0?-1:0,"data-orientation":o,...y,ref:T,style:{outline:"none",...n.style},onMouseDown:fe(n.onMouseDown,()=>{P.current=!0}),onFocus:fe(n.onFocus,te=>{const le=!P.current;if(te.target===te.currentTarget&&le&&!A){const ie=new CustomEvent(Td,tM);if(te.currentTarget.dispatchEvent(ie),!ie.defaultPrevented){const se=z().filter(B=>B.focusable),ne=se.find(B=>B.active),be=se.find(B=>B.id===w),ge=[ne,be,...se].filter(Boolean).map(B=>B.ref.current);Ax(ge,b)}}P.current=!1}),onBlur:fe(n.onBlur,()=>N(!1))})})}),Tx="RovingFocusGroupItem",Rx=m.forwardRef((n,l)=>{const{__scopeRovingFocusGroup:r,focusable:o=!0,active:s=!1,tabStopId:c,children:d,...h}=n,v=St(),p=c||v,b=rM(Tx,r),y=b.currentTabStopId===p,E=Ex(r),{onFocusableItemAdd:T,onFocusableItemRemove:R,currentTabStopId:w}=b;return m.useEffect(()=>{if(o)return T(),()=>R()},[o,T,R]),x.jsx(ah.ItemSlot,{scope:r,id:p,focusable:o,active:s,children:x.jsx(Se.span,{tabIndex:y?0:-1,"data-orientation":b.orientation,...h,ref:l,onMouseDown:fe(n.onMouseDown,C=>{o?b.onItemFocus(p):C.preventDefault()}),onFocus:fe(n.onFocus,()=>b.onItemFocus(p)),onKeyDown:fe(n.onKeyDown,C=>{if(C.key==="Tab"&&C.shiftKey){b.onItemShiftTab();return}if(C.target!==C.currentTarget)return;const A=uM(C,b.orientation,b.dir);if(A!==void 0){if(C.metaKey||C.ctrlKey||C.altKey||C.shiftKey)return;C.preventDefault();let j=E().filter(z=>z.focusable).map(z=>z.ref.current);if(A==="last")j.reverse();else if(A==="prev"||A==="next"){A==="prev"&&j.reverse();const z=j.indexOf(C.currentTarget);j=b.loop?cM(j,z+1):j.slice(z+1)}setTimeout(()=>Ax(j))}}),children:typeof d=="function"?d({isCurrentTabStop:y,hasTabStop:w!=null}):d})})});Rx.displayName=Tx;var oM={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function sM(n,l){return l!=="rtl"?n:n==="ArrowLeft"?"ArrowRight":n==="ArrowRight"?"ArrowLeft":n}function uM(n,l,r){const o=sM(n.key,r);if(!(l==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(l==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return oM[o]}function Ax(n,l=!1){const r=document.activeElement;for(const o of n)if(o===r||(o.focus({preventScroll:l}),document.activeElement!==r))return}function cM(n,l){return n.map((r,o)=>n[(l+o)%n.length])}var fM=Cx,dM=Rx;function hM(n){const l=mM(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(vM);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function mM(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=yM(s),h=gM(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var pM=Symbol("radix.slottable");function vM(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===pM}function gM(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function yM(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var lh=["Enter"," "],bM=["ArrowDown","PageUp","Home"],_x=["ArrowUp","PageDown","End"],xM=[...bM,..._x],SM={ltr:[...lh,"ArrowRight"],rtl:[...lh,"ArrowLeft"]},EM={ltr:["ArrowLeft"],rtl:["ArrowRight"]},jo="Menu",[bo,wM,CM]=Mh(jo),[Xl,Mx]=rl(jo,[CM,ui,wx]),Lu=ui(),Ox=wx(),[TM,Fl]=Xl(jo),[RM,zo]=Xl(jo),Nx=n=>{const{__scopeMenu:l,open:r=!1,children:o,dir:s,onOpenChange:c,modal:d=!0}=n,h=Lu(l),[v,p]=m.useState(null),b=m.useRef(!1),y=Dn(c),E=Oh(s);return m.useEffect(()=>{const T=()=>{b.current=!0,document.addEventListener("pointerdown",R,{capture:!0,once:!0}),document.addEventListener("pointermove",R,{capture:!0,once:!0})},R=()=>b.current=!1;return document.addEventListener("keydown",T,{capture:!0}),()=>{document.removeEventListener("keydown",T,{capture:!0}),document.removeEventListener("pointerdown",R,{capture:!0}),document.removeEventListener("pointermove",R,{capture:!0})}},[]),x.jsx(Xh,{...h,children:x.jsx(TM,{scope:l,open:r,onOpenChange:y,content:v,onContentChange:p,children:x.jsx(RM,{scope:l,onClose:m.useCallback(()=>y(!1),[y]),isUsingKeyboardRef:b,dir:E,modal:d,children:o})})})};Nx.displayName=jo;var AM="MenuAnchor",Jh=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n,s=Lu(r);return x.jsx(Fh,{...s,...o,ref:l})});Jh.displayName=AM;var Wh="MenuPortal",[_M,Dx]=Xl(Wh,{forceMount:void 0}),jx=n=>{const{__scopeMenu:l,forceMount:r,children:o,container:s}=n,c=Fl(Wh,l);return x.jsx(_M,{scope:l,forceMount:r,children:x.jsx(zn,{present:r||c.open,children:x.jsx(Oo,{asChild:!0,container:s,children:o})})})};jx.displayName=Wh;var fn="MenuContent",[MM,em]=Xl(fn),zx=m.forwardRef((n,l)=>{const r=Dx(fn,n.__scopeMenu),{forceMount:o=r.forceMount,...s}=n,c=Fl(fn,n.__scopeMenu),d=zo(fn,n.__scopeMenu);return x.jsx(bo.Provider,{scope:n.__scopeMenu,children:x.jsx(zn,{present:o||c.open,children:x.jsx(bo.Slot,{scope:n.__scopeMenu,children:d.modal?x.jsx(OM,{...s,ref:l}):x.jsx(NM,{...s,ref:l})})})})}),OM=m.forwardRef((n,l)=>{const r=Fl(fn,n.__scopeMenu),o=m.useRef(null),s=Ve(l,o);return m.useEffect(()=>{const c=o.current;if(c)return Dh(c)},[]),x.jsx(tm,{...n,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:fe(n.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),NM=m.forwardRef((n,l)=>{const r=Fl(fn,n.__scopeMenu);return x.jsx(tm,{...n,ref:l,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),DM=hM("MenuContent.ScrollLock"),tm=m.forwardRef((n,l)=>{const{__scopeMenu:r,loop:o=!1,trapFocus:s,onOpenAutoFocus:c,onCloseAutoFocus:d,disableOutsidePointerEvents:h,onEntryFocus:v,onEscapeKeyDown:p,onPointerDownOutside:b,onFocusOutside:y,onInteractOutside:E,onDismiss:T,disableOutsideScroll:R,...w}=n,C=Fl(fn,r),A=zo(fn,r),N=Lu(r),j=Ox(r),z=wM(r),[P,Y]=m.useState(null),G=m.useRef(null),te=Ve(l,G,C.onContentChange),le=m.useRef(0),ie=m.useRef(""),se=m.useRef(0),ne=m.useRef(null),be=m.useRef("right"),ce=m.useRef(0),ge=R?Ou:m.Fragment,B=R?{as:DM,allowPinchZoom:!0}:void 0,F=W=>{var J,me;const de=ie.current+W,_=z().filter(ue=>!ue.disabled),D=document.activeElement,Q=(J=_.find(ue=>ue.ref.current===D))==null?void 0:J.textValue,Z=_.map(ue=>ue.textValue),ee=IM(Z,de,Q),ae=(me=_.find(ue=>ue.textValue===ee))==null?void 0:me.ref.current;(function ue(Ae){ie.current=Ae,window.clearTimeout(le.current),Ae!==""&&(le.current=window.setTimeout(()=>ue(""),1e3))})(de),ae&&setTimeout(()=>ae.focus())};m.useEffect(()=>()=>window.clearTimeout(le.current),[]),Nh();const $=m.useCallback(W=>{var _,D;return be.current===((_=ne.current)==null?void 0:_.side)&&QM(W,(D=ne.current)==null?void 0:D.area)},[]);return x.jsx(MM,{scope:r,searchRef:ie,onItemEnter:m.useCallback(W=>{$(W)&&W.preventDefault()},[$]),onItemLeave:m.useCallback(W=>{var de;$(W)||((de=G.current)==null||de.focus(),Y(null))},[$]),onTriggerLeave:m.useCallback(W=>{$(W)&&W.preventDefault()},[$]),pointerGraceTimerRef:se,onPointerGraceIntentChange:m.useCallback(W=>{ne.current=W},[]),children:x.jsx(ge,{...B,children:x.jsx(_u,{asChild:!0,trapped:s,onMountAutoFocus:fe(c,W=>{var de;W.preventDefault(),(de=G.current)==null||de.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:x.jsx(Mo,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:p,onPointerDownOutside:b,onFocusOutside:y,onInteractOutside:E,onDismiss:T,children:x.jsx(fM,{asChild:!0,...j,dir:A.dir,orientation:"vertical",loop:o,currentTabStopId:P,onCurrentTabStopIdChange:Y,onEntryFocus:fe(v,W=>{A.isUsingKeyboardRef.current||W.preventDefault()}),preventScrollOnEntryFocus:!0,children:x.jsx(Zh,{role:"menu","aria-orientation":"vertical","data-state":Zx(C.open),"data-radix-menu-content":"",dir:A.dir,...N,...w,ref:te,style:{outline:"none",...w.style},onKeyDown:fe(w.onKeyDown,W=>{const _=W.target.closest("[data-radix-menu-content]")===W.currentTarget,D=W.ctrlKey||W.altKey||W.metaKey,Q=W.key.length===1;_&&(W.key==="Tab"&&W.preventDefault(),!D&&Q&&F(W.key));const Z=G.current;if(W.target!==Z||!xM.includes(W.key))return;W.preventDefault();const ae=z().filter(J=>!J.disabled).map(J=>J.ref.current);_x.includes(W.key)&&ae.reverse(),VM(ae)}),onBlur:fe(n.onBlur,W=>{W.currentTarget.contains(W.target)||(window.clearTimeout(le.current),ie.current="")}),onPointerMove:fe(n.onPointerMove,xo(W=>{const de=W.target,_=ce.current!==W.clientX;if(W.currentTarget.contains(de)&&_){const D=W.clientX>ce.current?"right":"left";be.current=D,ce.current=W.clientX}}))})})})})})})});zx.displayName=fn;var jM="MenuGroup",nm=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n;return x.jsx(Se.div,{role:"group",...o,ref:l})});nm.displayName=jM;var zM="MenuLabel",Ux=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n;return x.jsx(Se.div,{...o,ref:l})});Ux.displayName=zM;var wu="MenuItem",Sb="menu.itemSelect",Bu=m.forwardRef((n,l)=>{const{disabled:r=!1,onSelect:o,...s}=n,c=m.useRef(null),d=zo(wu,n.__scopeMenu),h=em(wu,n.__scopeMenu),v=Ve(l,c),p=m.useRef(!1),b=()=>{const y=c.current;if(!r&&y){const E=new CustomEvent(Sb,{bubbles:!0,cancelable:!0});y.addEventListener(Sb,T=>o==null?void 0:o(T),{once:!0}),w0(y,E),E.defaultPrevented?p.current=!1:d.onClose()}};return x.jsx(Lx,{...s,ref:v,disabled:r,onClick:fe(n.onClick,b),onPointerDown:y=>{var E;(E=n.onPointerDown)==null||E.call(n,y),p.current=!0},onPointerUp:fe(n.onPointerUp,y=>{var E;p.current||(E=y.currentTarget)==null||E.click()}),onKeyDown:fe(n.onKeyDown,y=>{const E=h.searchRef.current!=="";r||E&&y.key===" "||lh.includes(y.key)&&(y.currentTarget.click(),y.preventDefault())})})});Bu.displayName=wu;var Lx=m.forwardRef((n,l)=>{const{__scopeMenu:r,disabled:o=!1,textValue:s,...c}=n,d=em(wu,r),h=Ox(r),v=m.useRef(null),p=Ve(l,v),[b,y]=m.useState(!1),[E,T]=m.useState("");return m.useEffect(()=>{const R=v.current;R&&T((R.textContent??"").trim())},[c.children]),x.jsx(bo.ItemSlot,{scope:r,disabled:o,textValue:s??E,children:x.jsx(dM,{asChild:!0,...h,focusable:!o,children:x.jsx(Se.div,{role:"menuitem","data-highlighted":b?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...c,ref:p,onPointerMove:fe(n.onPointerMove,xo(R=>{o?d.onItemLeave(R):(d.onItemEnter(R),R.defaultPrevented||R.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:fe(n.onPointerLeave,xo(R=>d.onItemLeave(R))),onFocus:fe(n.onFocus,()=>y(!0)),onBlur:fe(n.onBlur,()=>y(!1))})})})}),UM="MenuCheckboxItem",Bx=m.forwardRef((n,l)=>{const{checked:r=!1,onCheckedChange:o,...s}=n;return x.jsx(Vx,{scope:n.__scopeMenu,checked:r,children:x.jsx(Bu,{role:"menuitemcheckbox","aria-checked":Cu(r)?"mixed":r,...s,ref:l,"data-state":lm(r),onSelect:fe(s.onSelect,()=>o==null?void 0:o(Cu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Bx.displayName=UM;var Hx="MenuRadioGroup",[LM,BM]=Xl(Hx,{value:void 0,onValueChange:()=>{}}),kx=m.forwardRef((n,l)=>{const{value:r,onValueChange:o,...s}=n,c=Dn(o);return x.jsx(LM,{scope:n.__scopeMenu,value:r,onValueChange:c,children:x.jsx(nm,{...s,ref:l})})});kx.displayName=Hx;var qx="MenuRadioItem",Gx=m.forwardRef((n,l)=>{const{value:r,...o}=n,s=BM(qx,n.__scopeMenu),c=r===s.value;return x.jsx(Vx,{scope:n.__scopeMenu,checked:c,children:x.jsx(Bu,{role:"menuitemradio","aria-checked":c,...o,ref:l,"data-state":lm(c),onSelect:fe(o.onSelect,()=>{var d;return(d=s.onValueChange)==null?void 0:d.call(s,r)},{checkForDefaultPrevented:!1})})})});Gx.displayName=qx;var am="MenuItemIndicator",[Vx,HM]=Xl(am,{checked:!1}),Px=m.forwardRef((n,l)=>{const{__scopeMenu:r,forceMount:o,...s}=n,c=HM(am,r);return x.jsx(zn,{present:o||Cu(c.checked)||c.checked===!0,children:x.jsx(Se.span,{...s,ref:l,"data-state":lm(c.checked)})})});Px.displayName=am;var kM="MenuSeparator",Ix=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n;return x.jsx(Se.div,{role:"separator","aria-orientation":"horizontal",...o,ref:l})});Ix.displayName=kM;var qM="MenuArrow",Yx=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n,s=Lu(r);return x.jsx($h,{...s,...o,ref:l})});Yx.displayName=qM;var GM="MenuSub",[Kj,Qx]=Xl(GM),fo="MenuSubTrigger",Kx=m.forwardRef((n,l)=>{const r=Fl(fo,n.__scopeMenu),o=zo(fo,n.__scopeMenu),s=Qx(fo,n.__scopeMenu),c=em(fo,n.__scopeMenu),d=m.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:v}=c,p={__scopeMenu:n.__scopeMenu},b=m.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);return m.useEffect(()=>b,[b]),m.useEffect(()=>{const y=h.current;return()=>{window.clearTimeout(y),v(null)}},[h,v]),x.jsx(Jh,{asChild:!0,...p,children:x.jsx(Lx,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":s.contentId,"data-state":Zx(r.open),...n,ref:Bt(l,s.onTriggerChange),onClick:y=>{var E;(E=n.onClick)==null||E.call(n,y),!(n.disabled||y.defaultPrevented)&&(y.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:fe(n.onPointerMove,xo(y=>{c.onItemEnter(y),!y.defaultPrevented&&!n.disabled&&!r.open&&!d.current&&(c.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{r.onOpenChange(!0),b()},100))})),onPointerLeave:fe(n.onPointerLeave,xo(y=>{var T,R;b();const E=(T=r.content)==null?void 0:T.getBoundingClientRect();if(E){const w=(R=r.content)==null?void 0:R.dataset.side,C=w==="right",A=C?-5:5,N=E[C?"left":"right"],j=E[C?"right":"left"];c.onPointerGraceIntentChange({area:[{x:y.clientX+A,y:y.clientY},{x:N,y:E.top},{x:j,y:E.top},{x:j,y:E.bottom},{x:N,y:E.bottom}],side:w}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>c.onPointerGraceIntentChange(null),300)}else{if(c.onTriggerLeave(y),y.defaultPrevented)return;c.onPointerGraceIntentChange(null)}})),onKeyDown:fe(n.onKeyDown,y=>{var T;const E=c.searchRef.current!=="";n.disabled||E&&y.key===" "||SM[o.dir].includes(y.key)&&(r.onOpenChange(!0),(T=r.content)==null||T.focus(),y.preventDefault())})})})});Kx.displayName=fo;var Xx="MenuSubContent",Fx=m.forwardRef((n,l)=>{const r=Dx(fn,n.__scopeMenu),{forceMount:o=r.forceMount,...s}=n,c=Fl(fn,n.__scopeMenu),d=zo(fn,n.__scopeMenu),h=Qx(Xx,n.__scopeMenu),v=m.useRef(null),p=Ve(l,v);return x.jsx(bo.Provider,{scope:n.__scopeMenu,children:x.jsx(zn,{present:o||c.open,children:x.jsx(bo.Slot,{scope:n.__scopeMenu,children:x.jsx(tm,{id:h.contentId,"aria-labelledby":h.triggerId,...s,ref:p,align:"start",side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:b=>{var y;d.isUsingKeyboardRef.current&&((y=v.current)==null||y.focus()),b.preventDefault()},onCloseAutoFocus:b=>b.preventDefault(),onFocusOutside:fe(n.onFocusOutside,b=>{b.target!==h.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:fe(n.onEscapeKeyDown,b=>{d.onClose(),b.preventDefault()}),onKeyDown:fe(n.onKeyDown,b=>{var T;const y=b.currentTarget.contains(b.target),E=EM[d.dir].includes(b.key);y&&E&&(c.onOpenChange(!1),(T=h.trigger)==null||T.focus(),b.preventDefault())})})})})})});Fx.displayName=Xx;function Zx(n){return n?"open":"closed"}function Cu(n){return n==="indeterminate"}function lm(n){return Cu(n)?"indeterminate":n?"checked":"unchecked"}function VM(n){const l=document.activeElement;for(const r of n)if(r===l||(r.focus(),document.activeElement!==l))return}function PM(n,l){return n.map((r,o)=>n[(l+o)%n.length])}function IM(n,l,r){const s=l.length>1&&Array.from(l).every(p=>p===l[0])?l[0]:l,c=r?n.indexOf(r):-1;let d=PM(n,Math.max(c,0));s.length===1&&(d=d.filter(p=>p!==r));const v=d.find(p=>p.toLowerCase().startsWith(s.toLowerCase()));return v!==r?v:void 0}function YM(n,l){const{x:r,y:o}=n;let s=!1;for(let c=0,d=l.length-1;co!=E>o&&r<(y-p)*(o-b)/(E-b)+p&&(s=!s)}return s}function QM(n,l){if(!l)return!1;const r={x:n.clientX,y:n.clientY};return YM(r,l)}function xo(n){return l=>l.pointerType==="mouse"?n(l):void 0}var KM=Nx,XM=Jh,FM=jx,ZM=zx,$M=nm,JM=Ux,WM=Bu,eO=Bx,tO=kx,nO=Gx,aO=Px,lO=Ix,rO=Yx,iO=Kx,oO=Fx,Hu="DropdownMenu",[sO]=rl(Hu,[Mx]),At=Mx(),[uO,$x]=sO(Hu),Jx=n=>{const{__scopeDropdownMenu:l,children:r,dir:o,open:s,defaultOpen:c,onOpenChange:d,modal:h=!0}=n,v=At(l),p=m.useRef(null),[b,y]=ni({prop:s,defaultProp:c??!1,onChange:d,caller:Hu});return x.jsx(uO,{scope:l,triggerId:St(),triggerRef:p,contentId:St(),open:b,onOpenChange:y,onOpenToggle:m.useCallback(()=>y(E=>!E),[y]),modal:h,children:x.jsx(KM,{...v,open:b,onOpenChange:y,dir:o,modal:h,children:r})})};Jx.displayName=Hu;var Wx="DropdownMenuTrigger",eS=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,disabled:o=!1,...s}=n,c=$x(Wx,r),d=At(r);return x.jsx(XM,{asChild:!0,...d,children:x.jsx(Se.button,{type:"button",id:c.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...s,ref:Bt(l,c.triggerRef),onPointerDown:fe(n.onPointerDown,h=>{!o&&h.button===0&&h.ctrlKey===!1&&(c.onOpenToggle(),c.open||h.preventDefault())}),onKeyDown:fe(n.onKeyDown,h=>{o||(["Enter"," "].includes(h.key)&&c.onOpenToggle(),h.key==="ArrowDown"&&c.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(h.key)&&h.preventDefault())})})})});eS.displayName=Wx;var cO="DropdownMenuPortal",tS=n=>{const{__scopeDropdownMenu:l,...r}=n,o=At(l);return x.jsx(FM,{...o,...r})};tS.displayName=cO;var nS="DropdownMenuContent",aS=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=$x(nS,r),c=At(r),d=m.useRef(!1);return x.jsx(ZM,{id:s.contentId,"aria-labelledby":s.triggerId,...c,...o,ref:l,onCloseAutoFocus:fe(n.onCloseAutoFocus,h=>{var v;d.current||(v=s.triggerRef.current)==null||v.focus(),d.current=!1,h.preventDefault()}),onInteractOutside:fe(n.onInteractOutside,h=>{const v=h.detail.originalEvent,p=v.button===0&&v.ctrlKey===!0,b=v.button===2||p;(!s.modal||b)&&(d.current=!0)}),style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});aS.displayName=nS;var fO="DropdownMenuGroup",dO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx($M,{...s,...o,ref:l})});dO.displayName=fO;var hO="DropdownMenuLabel",mO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(JM,{...s,...o,ref:l})});mO.displayName=hO;var pO="DropdownMenuItem",lS=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(WM,{...s,...o,ref:l})});lS.displayName=pO;var vO="DropdownMenuCheckboxItem",gO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(eO,{...s,...o,ref:l})});gO.displayName=vO;var yO="DropdownMenuRadioGroup",bO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(tO,{...s,...o,ref:l})});bO.displayName=yO;var xO="DropdownMenuRadioItem",SO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(nO,{...s,...o,ref:l})});SO.displayName=xO;var EO="DropdownMenuItemIndicator",wO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(aO,{...s,...o,ref:l})});wO.displayName=EO;var CO="DropdownMenuSeparator",TO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(lO,{...s,...o,ref:l})});TO.displayName=CO;var RO="DropdownMenuArrow",AO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(rO,{...s,...o,ref:l})});AO.displayName=RO;var _O="DropdownMenuSubTrigger",MO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(iO,{...s,...o,ref:l})});MO.displayName=_O;var OO="DropdownMenuSubContent",NO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(oO,{...s,...o,ref:l,style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});NO.displayName=OO;var DO=Jx,jO=eS,zO=tS,UO=aS,LO=lS;function Eb(n,[l,r]){return Math.min(r,Math.max(l,n))}function BO(n){const l=HO(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(qO);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function HO(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=VO(s),h=GO(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var kO=Symbol("radix.slottable");function qO(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===kO}function GO(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function VO(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var PO=[" ","Enter","ArrowUp","ArrowDown"],IO=[" ","Enter"],Vl="Select",[ku,qu,YO]=Mh(Vl),[ci]=rl(Vl,[YO,ui]),Gu=ui(),[QO,il]=ci(Vl),[KO,XO]=ci(Vl),rS=n=>{const{__scopeSelect:l,children:r,open:o,defaultOpen:s,onOpenChange:c,value:d,defaultValue:h,onValueChange:v,dir:p,name:b,autoComplete:y,disabled:E,required:T,form:R}=n,w=Gu(l),[C,A]=m.useState(null),[N,j]=m.useState(null),[z,P]=m.useState(!1),Y=Oh(p),[G,te]=ni({prop:o,defaultProp:s??!1,onChange:c,caller:Vl}),[le,ie]=ni({prop:d,defaultProp:h,onChange:v,caller:Vl}),se=m.useRef(null),ne=C?R||!!C.closest("form"):!0,[be,ce]=m.useState(new Set),ge=Array.from(be).map(B=>B.props.value).join(";");return x.jsx(Xh,{...w,children:x.jsxs(QO,{required:T,scope:l,trigger:C,onTriggerChange:A,valueNode:N,onValueNodeChange:j,valueNodeHasChildren:z,onValueNodeHasChildrenChange:P,contentId:St(),value:le,onValueChange:ie,open:G,onOpenChange:te,dir:Y,triggerPointerDownPosRef:se,disabled:E,children:[x.jsx(ku.Provider,{scope:l,children:x.jsx(KO,{scope:n.__scopeSelect,onNativeOptionAdd:m.useCallback(B=>{ce(F=>new Set(F).add(B))},[]),onNativeOptionRemove:m.useCallback(B=>{ce(F=>{const $=new Set(F);return $.delete(B),$})},[]),children:r})}),ne?x.jsxs(AS,{"aria-hidden":!0,required:T,tabIndex:-1,name:b,autoComplete:y,value:le,onChange:B=>ie(B.target.value),disabled:E,form:R,children:[le===void 0?x.jsx("option",{value:""}):null,Array.from(be)]},ge):null]})})};rS.displayName=Vl;var iS="SelectTrigger",oS=m.forwardRef((n,l)=>{const{__scopeSelect:r,disabled:o=!1,...s}=n,c=Gu(r),d=il(iS,r),h=d.disabled||o,v=Ve(l,d.onTriggerChange),p=qu(r),b=m.useRef("touch"),[y,E,T]=MS(w=>{const C=p().filter(j=>!j.disabled),A=C.find(j=>j.value===d.value),N=OS(C,w,A);N!==void 0&&d.onValueChange(N.value)}),R=w=>{h||(d.onOpenChange(!0),T()),w&&(d.triggerPointerDownPosRef.current={x:Math.round(w.pageX),y:Math.round(w.pageY)})};return x.jsx(Fh,{asChild:!0,...c,children:x.jsx(Se.button,{type:"button",role:"combobox","aria-controls":d.contentId,"aria-expanded":d.open,"aria-required":d.required,"aria-autocomplete":"none",dir:d.dir,"data-state":d.open?"open":"closed",disabled:h,"data-disabled":h?"":void 0,"data-placeholder":_S(d.value)?"":void 0,...s,ref:v,onClick:fe(s.onClick,w=>{w.currentTarget.focus(),b.current!=="mouse"&&R(w)}),onPointerDown:fe(s.onPointerDown,w=>{b.current=w.pointerType;const C=w.target;C.hasPointerCapture(w.pointerId)&&C.releasePointerCapture(w.pointerId),w.button===0&&w.ctrlKey===!1&&w.pointerType==="mouse"&&(R(w),w.preventDefault())}),onKeyDown:fe(s.onKeyDown,w=>{const C=y.current!=="";!(w.ctrlKey||w.altKey||w.metaKey)&&w.key.length===1&&E(w.key),!(C&&w.key===" ")&&PO.includes(w.key)&&(R(),w.preventDefault())})})})});oS.displayName=iS;var sS="SelectValue",uS=m.forwardRef((n,l)=>{const{__scopeSelect:r,className:o,style:s,children:c,placeholder:d="",...h}=n,v=il(sS,r),{onValueNodeHasChildrenChange:p}=v,b=c!==void 0,y=Ve(l,v.onValueNodeChange);return Et(()=>{p(b)},[p,b]),x.jsx(Se.span,{...h,ref:y,style:{pointerEvents:"none"},children:_S(v.value)?x.jsx(x.Fragment,{children:d}):c})});uS.displayName=sS;var FO="SelectIcon",cS=m.forwardRef((n,l)=>{const{__scopeSelect:r,children:o,...s}=n;return x.jsx(Se.span,{"aria-hidden":!0,...s,ref:l,children:o||"▼"})});cS.displayName=FO;var ZO="SelectPortal",fS=n=>x.jsx(Oo,{asChild:!0,...n});fS.displayName=ZO;var Pl="SelectContent",dS=m.forwardRef((n,l)=>{const r=il(Pl,n.__scopeSelect),[o,s]=m.useState();if(Et(()=>{s(new DocumentFragment)},[]),!r.open){const c=o;return c?Ao.createPortal(x.jsx(hS,{scope:n.__scopeSelect,children:x.jsx(ku.Slot,{scope:n.__scopeSelect,children:x.jsx("div",{children:n.children})})}),c):null}return x.jsx(mS,{...n,ref:l})});dS.displayName=Pl;var vn=10,[hS,ol]=ci(Pl),$O="SelectContentImpl",JO=BO("SelectContent.RemoveScroll"),mS=m.forwardRef((n,l)=>{const{__scopeSelect:r,position:o="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:c,onPointerDownOutside:d,side:h,sideOffset:v,align:p,alignOffset:b,arrowPadding:y,collisionBoundary:E,collisionPadding:T,sticky:R,hideWhenDetached:w,avoidCollisions:C,...A}=n,N=il(Pl,r),[j,z]=m.useState(null),[P,Y]=m.useState(null),G=Ve(l,J=>z(J)),[te,le]=m.useState(null),[ie,se]=m.useState(null),ne=qu(r),[be,ce]=m.useState(!1),ge=m.useRef(!1);m.useEffect(()=>{if(j)return Dh(j)},[j]),Nh();const B=m.useCallback(J=>{const[me,...ue]=ne().map(Ue=>Ue.ref.current),[Ae]=ue.slice(-1),ze=document.activeElement;for(const Ue of J)if(Ue===ze||(Ue==null||Ue.scrollIntoView({block:"nearest"}),Ue===me&&P&&(P.scrollTop=0),Ue===Ae&&P&&(P.scrollTop=P.scrollHeight),Ue==null||Ue.focus(),document.activeElement!==ze))return},[ne,P]),F=m.useCallback(()=>B([te,j]),[B,te,j]);m.useEffect(()=>{be&&F()},[be,F]);const{onOpenChange:$,triggerPointerDownPosRef:W}=N;m.useEffect(()=>{if(j){let J={x:0,y:0};const me=Ae=>{var ze,Ue;J={x:Math.abs(Math.round(Ae.pageX)-(((ze=W.current)==null?void 0:ze.x)??0)),y:Math.abs(Math.round(Ae.pageY)-(((Ue=W.current)==null?void 0:Ue.y)??0))}},ue=Ae=>{J.x<=10&&J.y<=10?Ae.preventDefault():j.contains(Ae.target)||$(!1),document.removeEventListener("pointermove",me),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",me),document.addEventListener("pointerup",ue,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",me),document.removeEventListener("pointerup",ue,{capture:!0})}}},[j,$,W]),m.useEffect(()=>{const J=()=>$(!1);return window.addEventListener("blur",J),window.addEventListener("resize",J),()=>{window.removeEventListener("blur",J),window.removeEventListener("resize",J)}},[$]);const[de,_]=MS(J=>{const me=ne().filter(ze=>!ze.disabled),ue=me.find(ze=>ze.ref.current===document.activeElement),Ae=OS(me,J,ue);Ae&&setTimeout(()=>Ae.ref.current.focus())}),D=m.useCallback((J,me,ue)=>{const Ae=!ge.current&&!ue;(N.value!==void 0&&N.value===me||Ae)&&(le(J),Ae&&(ge.current=!0))},[N.value]),Q=m.useCallback(()=>j==null?void 0:j.focus(),[j]),Z=m.useCallback((J,me,ue)=>{const Ae=!ge.current&&!ue;(N.value!==void 0&&N.value===me||Ae)&&se(J)},[N.value]),ee=o==="popper"?rh:pS,ae=ee===rh?{side:h,sideOffset:v,align:p,alignOffset:b,arrowPadding:y,collisionBoundary:E,collisionPadding:T,sticky:R,hideWhenDetached:w,avoidCollisions:C}:{};return x.jsx(hS,{scope:r,content:j,viewport:P,onViewportChange:Y,itemRefCallback:D,selectedItem:te,onItemLeave:Q,itemTextRefCallback:Z,focusSelectedItem:F,selectedItemText:ie,position:o,isPositioned:be,searchRef:de,children:x.jsx(Ou,{as:JO,allowPinchZoom:!0,children:x.jsx(_u,{asChild:!0,trapped:N.open,onMountAutoFocus:J=>{J.preventDefault()},onUnmountAutoFocus:fe(s,J=>{var me;(me=N.trigger)==null||me.focus({preventScroll:!0}),J.preventDefault()}),children:x.jsx(Mo,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:J=>J.preventDefault(),onDismiss:()=>N.onOpenChange(!1),children:x.jsx(ee,{role:"listbox",id:N.contentId,"data-state":N.open?"open":"closed",dir:N.dir,onContextMenu:J=>J.preventDefault(),...A,...ae,onPlaced:()=>ce(!0),ref:G,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:fe(A.onKeyDown,J=>{const me=J.ctrlKey||J.altKey||J.metaKey;if(J.key==="Tab"&&J.preventDefault(),!me&&J.key.length===1&&_(J.key),["ArrowUp","ArrowDown","Home","End"].includes(J.key)){let Ae=ne().filter(ze=>!ze.disabled).map(ze=>ze.ref.current);if(["ArrowUp","End"].includes(J.key)&&(Ae=Ae.slice().reverse()),["ArrowUp","ArrowDown"].includes(J.key)){const ze=J.target,Ue=Ae.indexOf(ze);Ae=Ae.slice(Ue+1)}setTimeout(()=>B(Ae)),J.preventDefault()}})})})})})})});mS.displayName=$O;var WO="SelectItemAlignedPosition",pS=m.forwardRef((n,l)=>{const{__scopeSelect:r,onPlaced:o,...s}=n,c=il(Pl,r),d=ol(Pl,r),[h,v]=m.useState(null),[p,b]=m.useState(null),y=Ve(l,G=>b(G)),E=qu(r),T=m.useRef(!1),R=m.useRef(!0),{viewport:w,selectedItem:C,selectedItemText:A,focusSelectedItem:N}=d,j=m.useCallback(()=>{if(c.trigger&&c.valueNode&&h&&p&&w&&C&&A){const G=c.trigger.getBoundingClientRect(),te=p.getBoundingClientRect(),le=c.valueNode.getBoundingClientRect(),ie=A.getBoundingClientRect();if(c.dir!=="rtl"){const ze=ie.left-te.left,Ue=le.left-ze,yt=G.left-Ue,ut=G.width+yt,Ln=Math.max(ut,te.width),Bn=window.innerWidth-vn,sl=Eb(Ue,[vn,Math.max(vn,Bn-Ln)]);h.style.minWidth=ut+"px",h.style.left=sl+"px"}else{const ze=te.right-ie.right,Ue=window.innerWidth-le.right-ze,yt=window.innerWidth-G.right-Ue,ut=G.width+yt,Ln=Math.max(ut,te.width),Bn=window.innerWidth-vn,sl=Eb(Ue,[vn,Math.max(vn,Bn-Ln)]);h.style.minWidth=ut+"px",h.style.right=sl+"px"}const se=E(),ne=window.innerHeight-vn*2,be=w.scrollHeight,ce=window.getComputedStyle(p),ge=parseInt(ce.borderTopWidth,10),B=parseInt(ce.paddingTop,10),F=parseInt(ce.borderBottomWidth,10),$=parseInt(ce.paddingBottom,10),W=ge+B+be+$+F,de=Math.min(C.offsetHeight*5,W),_=window.getComputedStyle(w),D=parseInt(_.paddingTop,10),Q=parseInt(_.paddingBottom,10),Z=G.top+G.height/2-vn,ee=ne-Z,ae=C.offsetHeight/2,J=C.offsetTop+ae,me=ge+B+J,ue=W-me;if(me<=Z){const ze=se.length>0&&C===se[se.length-1].ref.current;h.style.bottom="0px";const Ue=p.clientHeight-w.offsetTop-w.offsetHeight,yt=Math.max(ee,ae+(ze?Q:0)+Ue+F),ut=me+yt;h.style.height=ut+"px"}else{const ze=se.length>0&&C===se[0].ref.current;h.style.top="0px";const yt=Math.max(Z,ge+w.offsetTop+(ze?D:0)+ae)+ue;h.style.height=yt+"px",w.scrollTop=me-Z+w.offsetTop}h.style.margin=`${vn}px 0`,h.style.minHeight=de+"px",h.style.maxHeight=ne+"px",o==null||o(),requestAnimationFrame(()=>T.current=!0)}},[E,c.trigger,c.valueNode,h,p,w,C,A,c.dir,o]);Et(()=>j(),[j]);const[z,P]=m.useState();Et(()=>{p&&P(window.getComputedStyle(p).zIndex)},[p]);const Y=m.useCallback(G=>{G&&R.current===!0&&(j(),N==null||N(),R.current=!1)},[j,N]);return x.jsx(t2,{scope:r,contentWrapper:h,shouldExpandOnScrollRef:T,onScrollButtonChange:Y,children:x.jsx("div",{ref:v,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:z},children:x.jsx(Se.div,{...s,ref:y,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});pS.displayName=WO;var e2="SelectPopperPosition",rh=m.forwardRef((n,l)=>{const{__scopeSelect:r,align:o="start",collisionPadding:s=vn,...c}=n,d=Gu(r);return x.jsx(Zh,{...d,...c,ref:l,align:o,collisionPadding:s,style:{boxSizing:"border-box",...c.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});rh.displayName=e2;var[t2,rm]=ci(Pl,{}),ih="SelectViewport",vS=m.forwardRef((n,l)=>{const{__scopeSelect:r,nonce:o,...s}=n,c=ol(ih,r),d=rm(ih,r),h=Ve(l,c.onViewportChange),v=m.useRef(0);return x.jsxs(x.Fragment,{children:[x.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),x.jsx(ku.Slot,{scope:r,children:x.jsx(Se.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:h,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:fe(s.onScroll,p=>{const b=p.currentTarget,{contentWrapper:y,shouldExpandOnScrollRef:E}=d;if(E!=null&&E.current&&y){const T=Math.abs(v.current-b.scrollTop);if(T>0){const R=window.innerHeight-vn*2,w=parseFloat(y.style.minHeight),C=parseFloat(y.style.height),A=Math.max(w,C);if(A0?z:0,y.style.justifyContent="flex-end")}}}v.current=b.scrollTop})})})]})});vS.displayName=ih;var gS="SelectGroup",[n2,a2]=ci(gS),l2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n,s=St();return x.jsx(n2,{scope:r,id:s,children:x.jsx(Se.div,{role:"group","aria-labelledby":s,...o,ref:l})})});l2.displayName=gS;var yS="SelectLabel",r2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n,s=a2(yS,r);return x.jsx(Se.div,{id:s.id,...o,ref:l})});r2.displayName=yS;var Tu="SelectItem",[i2,bS]=ci(Tu),xS=m.forwardRef((n,l)=>{const{__scopeSelect:r,value:o,disabled:s=!1,textValue:c,...d}=n,h=il(Tu,r),v=ol(Tu,r),p=h.value===o,[b,y]=m.useState(c??""),[E,T]=m.useState(!1),R=Ve(l,N=>{var j;return(j=v.itemRefCallback)==null?void 0:j.call(v,N,o,s)}),w=St(),C=m.useRef("touch"),A=()=>{s||(h.onValueChange(o),h.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return x.jsx(i2,{scope:r,value:o,disabled:s,textId:w,isSelected:p,onItemTextChange:m.useCallback(N=>{y(j=>j||((N==null?void 0:N.textContent)??"").trim())},[]),children:x.jsx(ku.ItemSlot,{scope:r,value:o,disabled:s,textValue:b,children:x.jsx(Se.div,{role:"option","aria-labelledby":w,"data-highlighted":E?"":void 0,"aria-selected":p&&E,"data-state":p?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...d,ref:R,onFocus:fe(d.onFocus,()=>T(!0)),onBlur:fe(d.onBlur,()=>T(!1)),onClick:fe(d.onClick,()=>{C.current!=="mouse"&&A()}),onPointerUp:fe(d.onPointerUp,()=>{C.current==="mouse"&&A()}),onPointerDown:fe(d.onPointerDown,N=>{C.current=N.pointerType}),onPointerMove:fe(d.onPointerMove,N=>{var j;C.current=N.pointerType,s?(j=v.onItemLeave)==null||j.call(v):C.current==="mouse"&&N.currentTarget.focus({preventScroll:!0})}),onPointerLeave:fe(d.onPointerLeave,N=>{var j;N.currentTarget===document.activeElement&&((j=v.onItemLeave)==null||j.call(v))}),onKeyDown:fe(d.onKeyDown,N=>{var z;((z=v.searchRef)==null?void 0:z.current)!==""&&N.key===" "||(IO.includes(N.key)&&A(),N.key===" "&&N.preventDefault())})})})})});xS.displayName=Tu;var ho="SelectItemText",SS=m.forwardRef((n,l)=>{const{__scopeSelect:r,className:o,style:s,...c}=n,d=il(ho,r),h=ol(ho,r),v=bS(ho,r),p=XO(ho,r),[b,y]=m.useState(null),E=Ve(l,A=>y(A),v.onItemTextChange,A=>{var N;return(N=h.itemTextRefCallback)==null?void 0:N.call(h,A,v.value,v.disabled)}),T=b==null?void 0:b.textContent,R=m.useMemo(()=>x.jsx("option",{value:v.value,disabled:v.disabled,children:T},v.value),[v.disabled,v.value,T]),{onNativeOptionAdd:w,onNativeOptionRemove:C}=p;return Et(()=>(w(R),()=>C(R)),[w,C,R]),x.jsxs(x.Fragment,{children:[x.jsx(Se.span,{id:v.textId,...c,ref:E}),v.isSelected&&d.valueNode&&!d.valueNodeHasChildren?Ao.createPortal(c.children,d.valueNode):null]})});SS.displayName=ho;var ES="SelectItemIndicator",wS=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n;return bS(ES,r).isSelected?x.jsx(Se.span,{"aria-hidden":!0,...o,ref:l}):null});wS.displayName=ES;var oh="SelectScrollUpButton",CS=m.forwardRef((n,l)=>{const r=ol(oh,n.__scopeSelect),o=rm(oh,n.__scopeSelect),[s,c]=m.useState(!1),d=Ve(l,o.onScrollButtonChange);return Et(()=>{if(r.viewport&&r.isPositioned){let h=function(){const p=v.scrollTop>0;c(p)};const v=r.viewport;return h(),v.addEventListener("scroll",h),()=>v.removeEventListener("scroll",h)}},[r.viewport,r.isPositioned]),s?x.jsx(RS,{...n,ref:d,onAutoScroll:()=>{const{viewport:h,selectedItem:v}=r;h&&v&&(h.scrollTop=h.scrollTop-v.offsetHeight)}}):null});CS.displayName=oh;var sh="SelectScrollDownButton",TS=m.forwardRef((n,l)=>{const r=ol(sh,n.__scopeSelect),o=rm(sh,n.__scopeSelect),[s,c]=m.useState(!1),d=Ve(l,o.onScrollButtonChange);return Et(()=>{if(r.viewport&&r.isPositioned){let h=function(){const p=v.scrollHeight-v.clientHeight,b=Math.ceil(v.scrollTop)v.removeEventListener("scroll",h)}},[r.viewport,r.isPositioned]),s?x.jsx(RS,{...n,ref:d,onAutoScroll:()=>{const{viewport:h,selectedItem:v}=r;h&&v&&(h.scrollTop=h.scrollTop+v.offsetHeight)}}):null});TS.displayName=sh;var RS=m.forwardRef((n,l)=>{const{__scopeSelect:r,onAutoScroll:o,...s}=n,c=ol("SelectScrollButton",r),d=m.useRef(null),h=qu(r),v=m.useCallback(()=>{d.current!==null&&(window.clearInterval(d.current),d.current=null)},[]);return m.useEffect(()=>()=>v(),[v]),Et(()=>{var b;const p=h().find(y=>y.ref.current===document.activeElement);(b=p==null?void 0:p.ref.current)==null||b.scrollIntoView({block:"nearest"})},[h]),x.jsx(Se.div,{"aria-hidden":!0,...s,ref:l,style:{flexShrink:0,...s.style},onPointerDown:fe(s.onPointerDown,()=>{d.current===null&&(d.current=window.setInterval(o,50))}),onPointerMove:fe(s.onPointerMove,()=>{var p;(p=c.onItemLeave)==null||p.call(c),d.current===null&&(d.current=window.setInterval(o,50))}),onPointerLeave:fe(s.onPointerLeave,()=>{v()})})}),o2="SelectSeparator",s2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n;return x.jsx(Se.div,{"aria-hidden":!0,...o,ref:l})});s2.displayName=o2;var uh="SelectArrow",u2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n,s=Gu(r),c=il(uh,r),d=ol(uh,r);return c.open&&d.position==="popper"?x.jsx($h,{...s,...o,ref:l}):null});u2.displayName=uh;var c2="SelectBubbleInput",AS=m.forwardRef(({__scopeSelect:n,value:l,...r},o)=>{const s=m.useRef(null),c=Ve(o,s),d=GA(l);return m.useEffect(()=>{const h=s.current;if(!h)return;const v=window.HTMLSelectElement.prototype,b=Object.getOwnPropertyDescriptor(v,"value").set;if(d!==l&&b){const y=new Event("change",{bubbles:!0});b.call(h,l),h.dispatchEvent(y)}},[d,l]),x.jsx(Se.select,{...r,style:{...C0,...r.style},ref:c,defaultValue:l})});AS.displayName=c2;function _S(n){return n===""||n===void 0}function MS(n){const l=Dn(n),r=m.useRef(""),o=m.useRef(0),s=m.useCallback(d=>{const h=r.current+d;l(h),(function v(p){r.current=p,window.clearTimeout(o.current),p!==""&&(o.current=window.setTimeout(()=>v(""),1e3))})(h)},[l]),c=m.useCallback(()=>{r.current="",window.clearTimeout(o.current)},[]);return m.useEffect(()=>()=>window.clearTimeout(o.current),[]),[r,s,c]}function OS(n,l,r){const s=l.length>1&&Array.from(l).every(p=>p===l[0])?l[0]:l,c=r?n.indexOf(r):-1;let d=f2(n,Math.max(c,0));s.length===1&&(d=d.filter(p=>p!==r));const v=d.find(p=>p.textValue.toLowerCase().startsWith(s.toLowerCase()));return v!==r?v:void 0}function f2(n,l){return n.map((r,o)=>n[(l+o)%n.length])}var d2=rS,h2=oS,m2=uS,p2=cS,v2=fS,g2=dS,y2=vS,b2=xS,x2=SS,S2=wS,E2=CS,w2=TS;function C2(n){const l=T2(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(A2);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}var im=C2("Slot");function T2(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=M2(s),h=_2(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var R2=Symbol("radix.slottable");function A2(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===R2}function _2(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function M2(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var O2=Symbol("radix.slottable");function N2(n){const l=({children:r})=>x.jsx(x.Fragment,{children:r});return l.displayName=`${n}.Slottable`,l.__radixId=O2,l}var[Vu]=rl("Tooltip",[ui]),Pu=ui(),NS="TooltipProvider",D2=700,ch="tooltip.open",[j2,om]=Vu(NS),DS=n=>{const{__scopeTooltip:l,delayDuration:r=D2,skipDelayDuration:o=300,disableHoverableContent:s=!1,children:c}=n,d=m.useRef(!0),h=m.useRef(!1),v=m.useRef(0);return m.useEffect(()=>{const p=v.current;return()=>window.clearTimeout(p)},[]),x.jsx(j2,{scope:l,isOpenDelayedRef:d,delayDuration:r,onOpen:m.useCallback(()=>{window.clearTimeout(v.current),d.current=!1},[]),onClose:m.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>d.current=!0,o)},[o]),isPointerInTransitRef:h,onPointerInTransitChange:m.useCallback(p=>{h.current=p},[]),disableHoverableContent:s,children:c})};DS.displayName=NS;var So="Tooltip",[z2,Uo]=Vu(So),jS=n=>{const{__scopeTooltip:l,children:r,open:o,defaultOpen:s,onOpenChange:c,disableHoverableContent:d,delayDuration:h}=n,v=om(So,n.__scopeTooltip),p=Pu(l),[b,y]=m.useState(null),E=St(),T=m.useRef(0),R=d??v.disableHoverableContent,w=h??v.delayDuration,C=m.useRef(!1),[A,N]=ni({prop:o,defaultProp:s??!1,onChange:G=>{G?(v.onOpen(),document.dispatchEvent(new CustomEvent(ch))):v.onClose(),c==null||c(G)},caller:So}),j=m.useMemo(()=>A?C.current?"delayed-open":"instant-open":"closed",[A]),z=m.useCallback(()=>{window.clearTimeout(T.current),T.current=0,C.current=!1,N(!0)},[N]),P=m.useCallback(()=>{window.clearTimeout(T.current),T.current=0,N(!1)},[N]),Y=m.useCallback(()=>{window.clearTimeout(T.current),T.current=window.setTimeout(()=>{C.current=!0,N(!0),T.current=0},w)},[w,N]);return m.useEffect(()=>()=>{T.current&&(window.clearTimeout(T.current),T.current=0)},[]),x.jsx(Xh,{...p,children:x.jsx(z2,{scope:l,contentId:E,open:A,stateAttribute:j,trigger:b,onTriggerChange:y,onTriggerEnter:m.useCallback(()=>{v.isOpenDelayedRef.current?Y():z()},[v.isOpenDelayedRef,Y,z]),onTriggerLeave:m.useCallback(()=>{R?P():(window.clearTimeout(T.current),T.current=0)},[P,R]),onOpen:z,onClose:P,disableHoverableContent:R,children:r})})};jS.displayName=So;var fh="TooltipTrigger",zS=m.forwardRef((n,l)=>{const{__scopeTooltip:r,...o}=n,s=Uo(fh,r),c=om(fh,r),d=Pu(r),h=m.useRef(null),v=Ve(l,h,s.onTriggerChange),p=m.useRef(!1),b=m.useRef(!1),y=m.useCallback(()=>p.current=!1,[]);return m.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),x.jsx(Fh,{asChild:!0,...d,children:x.jsx(Se.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...o,ref:v,onPointerMove:fe(n.onPointerMove,E=>{E.pointerType!=="touch"&&!b.current&&!c.isPointerInTransitRef.current&&(s.onTriggerEnter(),b.current=!0)}),onPointerLeave:fe(n.onPointerLeave,()=>{s.onTriggerLeave(),b.current=!1}),onPointerDown:fe(n.onPointerDown,()=>{s.open&&s.onClose(),p.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:fe(n.onFocus,()=>{p.current||s.onOpen()}),onBlur:fe(n.onBlur,s.onClose),onClick:fe(n.onClick,s.onClose)})})});zS.displayName=fh;var sm="TooltipPortal",[U2,L2]=Vu(sm,{forceMount:void 0}),US=n=>{const{__scopeTooltip:l,forceMount:r,children:o,container:s}=n,c=Uo(sm,l);return x.jsx(U2,{scope:l,forceMount:r,children:x.jsx(zn,{present:r||c.open,children:x.jsx(Oo,{asChild:!0,container:s,children:o})})})};US.displayName=sm;var li="TooltipContent",LS=m.forwardRef((n,l)=>{const r=L2(li,n.__scopeTooltip),{forceMount:o=r.forceMount,side:s="top",...c}=n,d=Uo(li,n.__scopeTooltip);return x.jsx(zn,{present:o||d.open,children:d.disableHoverableContent?x.jsx(BS,{side:s,...c,ref:l}):x.jsx(B2,{side:s,...c,ref:l})})}),B2=m.forwardRef((n,l)=>{const r=Uo(li,n.__scopeTooltip),o=om(li,n.__scopeTooltip),s=m.useRef(null),c=Ve(l,s),[d,h]=m.useState(null),{trigger:v,onClose:p}=r,b=s.current,{onPointerInTransitChange:y}=o,E=m.useCallback(()=>{h(null),y(!1)},[y]),T=m.useCallback((R,w)=>{const C=R.currentTarget,A={x:R.clientX,y:R.clientY},N=G2(A,C.getBoundingClientRect()),j=V2(A,N),z=P2(w.getBoundingClientRect()),P=Y2([...j,...z]);h(P),y(!0)},[y]);return m.useEffect(()=>()=>E(),[E]),m.useEffect(()=>{if(v&&b){const R=C=>T(C,b),w=C=>T(C,v);return v.addEventListener("pointerleave",R),b.addEventListener("pointerleave",w),()=>{v.removeEventListener("pointerleave",R),b.removeEventListener("pointerleave",w)}}},[v,b,T,E]),m.useEffect(()=>{if(d){const R=w=>{const C=w.target,A={x:w.clientX,y:w.clientY},N=(v==null?void 0:v.contains(C))||(b==null?void 0:b.contains(C)),j=!I2(A,d);N?E():j&&(E(),p())};return document.addEventListener("pointermove",R),()=>document.removeEventListener("pointermove",R)}},[v,b,d,p,E]),x.jsx(BS,{...n,ref:c})}),[H2,k2]=Vu(So,{isInside:!1}),q2=N2("TooltipContent"),BS=m.forwardRef((n,l)=>{const{__scopeTooltip:r,children:o,"aria-label":s,onEscapeKeyDown:c,onPointerDownOutside:d,...h}=n,v=Uo(li,r),p=Pu(r),{onClose:b}=v;return m.useEffect(()=>(document.addEventListener(ch,b),()=>document.removeEventListener(ch,b)),[b]),m.useEffect(()=>{if(v.trigger){const y=E=>{const T=E.target;T!=null&&T.contains(v.trigger)&&b()};return window.addEventListener("scroll",y,{capture:!0}),()=>window.removeEventListener("scroll",y,{capture:!0})}},[v.trigger,b]),x.jsx(Mo,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:y=>y.preventDefault(),onDismiss:b,children:x.jsxs(Zh,{"data-state":v.stateAttribute,...p,...h,ref:l,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[x.jsx(q2,{children:o}),x.jsx(H2,{scope:r,isInside:!0,children:x.jsx(oR,{id:v.contentId,role:"tooltip",children:s||o})})]})})});LS.displayName=li;var HS="TooltipArrow",kS=m.forwardRef((n,l)=>{const{__scopeTooltip:r,...o}=n,s=Pu(r);return k2(HS,r).isInside?null:x.jsx($h,{...s,...o,ref:l})});kS.displayName=HS;function G2(n,l){const r=Math.abs(l.top-n.y),o=Math.abs(l.bottom-n.y),s=Math.abs(l.right-n.x),c=Math.abs(l.left-n.x);switch(Math.min(r,o,s,c)){case c:return"left";case s:return"right";case r:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function V2(n,l,r=5){const o=[];switch(l){case"top":o.push({x:n.x-r,y:n.y+r},{x:n.x+r,y:n.y+r});break;case"bottom":o.push({x:n.x-r,y:n.y-r},{x:n.x+r,y:n.y-r});break;case"left":o.push({x:n.x+r,y:n.y-r},{x:n.x+r,y:n.y+r});break;case"right":o.push({x:n.x-r,y:n.y-r},{x:n.x-r,y:n.y+r});break}return o}function P2(n){const{top:l,right:r,bottom:o,left:s}=n;return[{x:s,y:l},{x:r,y:l},{x:r,y:o},{x:s,y:o}]}function I2(n,l){const{x:r,y:o}=n;let s=!1;for(let c=0,d=l.length-1;co!=E>o&&r<(y-p)*(o-b)/(E-b)+p&&(s=!s)}return s}function Y2(n){const l=n.slice();return l.sort((r,o)=>r.xo.x?1:r.yo.y?1:0),Q2(l)}function Q2(n){if(n.length<=1)return n.slice();const l=[];for(let o=0;o=2;){const c=l[l.length-1],d=l[l.length-2];if((c.x-d.x)*(s.y-d.y)>=(c.y-d.y)*(s.x-d.x))l.pop();else break}l.push(s)}l.pop();const r=[];for(let o=n.length-1;o>=0;o--){const s=n[o];for(;r.length>=2;){const c=r[r.length-1],d=r[r.length-2];if((c.x-d.x)*(s.y-d.y)>=(c.y-d.y)*(s.x-d.x))r.pop();else break}r.push(s)}return r.pop(),l.length===1&&r.length===1&&l[0].x===r[0].x&&l[0].y===r[0].y?l:l.concat(r)}var K2=DS,X2=jS,F2=zS,Z2=US,$2=LS,J2=kS;const Rd=768;function W2(){const[n,l]=m.useState(void 0);return m.useEffect(()=>{const r=window.matchMedia(`(max-width: ${Rd-1}px)`),o=()=>{l(window.innerWidthr.removeEventListener("change",o)},[]),!!n}const um="-",eN=n=>{const l=nN(n),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=n;return{getClassGroupId:d=>{const h=d.split(um);return h[0]===""&&h.length!==1&&h.shift(),qS(h,l)||tN(d)},getConflictingClassGroupIds:(d,h)=>{const v=r[d]||[];return h&&o[d]?[...v,...o[d]]:v}}},qS=(n,l)=>{var d;if(n.length===0)return l.classGroupId;const r=n[0],o=l.nextPart.get(r),s=o?qS(n.slice(1),o):void 0;if(s)return s;if(l.validators.length===0)return;const c=n.join(um);return(d=l.validators.find(({validator:h})=>h(c)))==null?void 0:d.classGroupId},wb=/^\[(.+)\]$/,tN=n=>{if(wb.test(n)){const l=wb.exec(n)[1],r=l==null?void 0:l.substring(0,l.indexOf(":"));if(r)return"arbitrary.."+r}},nN=n=>{const{theme:l,prefix:r}=n,o={nextPart:new Map,validators:[]};return lN(Object.entries(n.classGroups),r).forEach(([c,d])=>{dh(d,o,c,l)}),o},dh=(n,l,r,o)=>{n.forEach(s=>{if(typeof s=="string"){const c=s===""?l:Cb(l,s);c.classGroupId=r;return}if(typeof s=="function"){if(aN(s)){dh(s(o),l,r,o);return}l.validators.push({validator:s,classGroupId:r});return}Object.entries(s).forEach(([c,d])=>{dh(d,Cb(l,c),r,o)})})},Cb=(n,l)=>{let r=n;return l.split(um).forEach(o=>{r.nextPart.has(o)||r.nextPart.set(o,{nextPart:new Map,validators:[]}),r=r.nextPart.get(o)}),r},aN=n=>n.isThemeGetter,lN=(n,l)=>l?n.map(([r,o])=>{const s=o.map(c=>typeof c=="string"?l+c:typeof c=="object"?Object.fromEntries(Object.entries(c).map(([d,h])=>[l+d,h])):c);return[r,s]}):n,rN=n=>{if(n<1)return{get:()=>{},set:()=>{}};let l=0,r=new Map,o=new Map;const s=(c,d)=>{r.set(c,d),l++,l>n&&(l=0,o=r,r=new Map)};return{get(c){let d=r.get(c);if(d!==void 0)return d;if((d=o.get(c))!==void 0)return s(c,d),d},set(c,d){r.has(c)?r.set(c,d):s(c,d)}}},GS="!",iN=n=>{const{separator:l,experimentalParseClassName:r}=n,o=l.length===1,s=l[0],c=l.length,d=h=>{const v=[];let p=0,b=0,y;for(let C=0;Cb?y-b:void 0;return{modifiers:v,hasImportantModifier:T,baseClassName:R,maybePostfixModifierPosition:w}};return r?h=>r({className:h,parseClassName:d}):d},oN=n=>{if(n.length<=1)return n;const l=[];let r=[];return n.forEach(o=>{o[0]==="["?(l.push(...r.sort(),o),r=[]):r.push(o)}),l.push(...r.sort()),l},sN=n=>({cache:rN(n.cacheSize),parseClassName:iN(n),...eN(n)}),uN=/\s+/,cN=(n,l)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s}=l,c=[],d=n.trim().split(uN);let h="";for(let v=d.length-1;v>=0;v-=1){const p=d[v],{modifiers:b,hasImportantModifier:y,baseClassName:E,maybePostfixModifierPosition:T}=r(p);let R=!!T,w=o(R?E.substring(0,T):E);if(!w){if(!R){h=p+(h.length>0?" "+h:h);continue}if(w=o(E),!w){h=p+(h.length>0?" "+h:h);continue}R=!1}const C=oN(b).join(":"),A=y?C+GS:C,N=A+w;if(c.includes(N))continue;c.push(N);const j=s(w,R);for(let z=0;z0?" "+h:h)}return h};function fN(){let n=0,l,r,o="";for(;n{if(typeof n=="string")return n;let l,r="";for(let o=0;oy(b),n());return r=sN(p),o=r.cache.get,s=r.cache.set,c=h,h(v)}function h(v){const p=o(v);if(p)return p;const b=cN(v,r);return s(v,b),b}return function(){return c(fN.apply(null,arguments))}}const Fe=n=>{const l=r=>r[n]||[];return l.isThemeGetter=!0,l},PS=/^\[(?:([a-z-]+):)?(.+)\]$/i,hN=/^\d+\/\d+$/,mN=new Set(["px","full","screen"]),pN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vN=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,gN=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,bN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,na=n=>Pr(n)||mN.has(n)||hN.test(n),ka=n=>fi(n,"length",AN),Pr=n=>!!n&&!Number.isNaN(Number(n)),Ad=n=>fi(n,"number",Pr),oo=n=>!!n&&Number.isInteger(Number(n)),xN=n=>n.endsWith("%")&&Pr(n.slice(0,-1)),Te=n=>PS.test(n),qa=n=>pN.test(n),SN=new Set(["length","size","percentage"]),EN=n=>fi(n,SN,IS),wN=n=>fi(n,"position",IS),CN=new Set(["image","url"]),TN=n=>fi(n,CN,MN),RN=n=>fi(n,"",_N),so=()=>!0,fi=(n,l,r)=>{const o=PS.exec(n);return o?o[1]?typeof l=="string"?o[1]===l:l.has(o[1]):r(o[2]):!1},AN=n=>vN.test(n)&&!gN.test(n),IS=()=>!1,_N=n=>yN.test(n),MN=n=>bN.test(n),ON=()=>{const n=Fe("colors"),l=Fe("spacing"),r=Fe("blur"),o=Fe("brightness"),s=Fe("borderColor"),c=Fe("borderRadius"),d=Fe("borderSpacing"),h=Fe("borderWidth"),v=Fe("contrast"),p=Fe("grayscale"),b=Fe("hueRotate"),y=Fe("invert"),E=Fe("gap"),T=Fe("gradientColorStops"),R=Fe("gradientColorStopPositions"),w=Fe("inset"),C=Fe("margin"),A=Fe("opacity"),N=Fe("padding"),j=Fe("saturate"),z=Fe("scale"),P=Fe("sepia"),Y=Fe("skew"),G=Fe("space"),te=Fe("translate"),le=()=>["auto","contain","none"],ie=()=>["auto","hidden","clip","visible","scroll"],se=()=>["auto",Te,l],ne=()=>[Te,l],be=()=>["",na,ka],ce=()=>["auto",Pr,Te],ge=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],B=()=>["solid","dashed","dotted","double","none"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>["start","end","center","between","around","evenly","stretch"],W=()=>["","0",Te],de=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>[Pr,Te];return{cacheSize:500,separator:":",theme:{colors:[so],spacing:[na,ka],blur:["none","",qa,Te],brightness:_(),borderColor:[n],borderRadius:["none","","full",qa,Te],borderSpacing:ne(),borderWidth:be(),contrast:_(),grayscale:W(),hueRotate:_(),invert:W(),gap:ne(),gradientColorStops:[n],gradientColorStopPositions:[xN,ka],inset:se(),margin:se(),opacity:_(),padding:ne(),saturate:_(),scale:_(),sepia:W(),skew:_(),space:ne(),translate:ne()},classGroups:{aspect:[{aspect:["auto","square","video",Te]}],container:["container"],columns:[{columns:[qa]}],"break-after":[{"break-after":de()}],"break-before":[{"break-before":de()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ge(),Te]}],overflow:[{overflow:ie()}],"overflow-x":[{"overflow-x":ie()}],"overflow-y":[{"overflow-y":ie()}],overscroll:[{overscroll:le()}],"overscroll-x":[{"overscroll-x":le()}],"overscroll-y":[{"overscroll-y":le()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[w]}],"inset-x":[{"inset-x":[w]}],"inset-y":[{"inset-y":[w]}],start:[{start:[w]}],end:[{end:[w]}],top:[{top:[w]}],right:[{right:[w]}],bottom:[{bottom:[w]}],left:[{left:[w]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",oo,Te]}],basis:[{basis:se()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Te]}],grow:[{grow:W()}],shrink:[{shrink:W()}],order:[{order:["first","last","none",oo,Te]}],"grid-cols":[{"grid-cols":[so]}],"col-start-end":[{col:["auto",{span:["full",oo,Te]},Te]}],"col-start":[{"col-start":ce()}],"col-end":[{"col-end":ce()}],"grid-rows":[{"grid-rows":[so]}],"row-start-end":[{row:["auto",{span:[oo,Te]},Te]}],"row-start":[{"row-start":ce()}],"row-end":[{"row-end":ce()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Te]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Te]}],gap:[{gap:[E]}],"gap-x":[{"gap-x":[E]}],"gap-y":[{"gap-y":[E]}],"justify-content":[{justify:["normal",...$()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...$(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...$(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[N]}],px:[{px:[N]}],py:[{py:[N]}],ps:[{ps:[N]}],pe:[{pe:[N]}],pt:[{pt:[N]}],pr:[{pr:[N]}],pb:[{pb:[N]}],pl:[{pl:[N]}],m:[{m:[C]}],mx:[{mx:[C]}],my:[{my:[C]}],ms:[{ms:[C]}],me:[{me:[C]}],mt:[{mt:[C]}],mr:[{mr:[C]}],mb:[{mb:[C]}],ml:[{ml:[C]}],"space-x":[{"space-x":[G]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[G]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Te,l]}],"min-w":[{"min-w":[Te,l,"min","max","fit"]}],"max-w":[{"max-w":[Te,l,"none","full","min","max","fit","prose",{screen:[qa]},qa]}],h:[{h:[Te,l,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Te,l,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Te,l,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Te,l,"auto","min","max","fit"]}],"font-size":[{text:["base",qa,ka]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ad]}],"font-family":[{font:[so]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Te]}],"line-clamp":[{"line-clamp":["none",Pr,Ad]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",na,Te]}],"list-image":[{"list-image":["none",Te]}],"list-style-type":[{list:["none","disc","decimal",Te]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[n]}],"placeholder-opacity":[{"placeholder-opacity":[A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[n]}],"text-opacity":[{"text-opacity":[A]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",na,ka]}],"underline-offset":[{"underline-offset":["auto",na,Te]}],"text-decoration-color":[{decoration:[n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:ne()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[A]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ge(),wN]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",EN]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},TN]}],"bg-color":[{bg:[n]}],"gradient-from-pos":[{from:[R]}],"gradient-via-pos":[{via:[R]}],"gradient-to-pos":[{to:[R]}],"gradient-from":[{from:[T]}],"gradient-via":[{via:[T]}],"gradient-to":[{to:[T]}],rounded:[{rounded:[c]}],"rounded-s":[{"rounded-s":[c]}],"rounded-e":[{"rounded-e":[c]}],"rounded-t":[{"rounded-t":[c]}],"rounded-r":[{"rounded-r":[c]}],"rounded-b":[{"rounded-b":[c]}],"rounded-l":[{"rounded-l":[c]}],"rounded-ss":[{"rounded-ss":[c]}],"rounded-se":[{"rounded-se":[c]}],"rounded-ee":[{"rounded-ee":[c]}],"rounded-es":[{"rounded-es":[c]}],"rounded-tl":[{"rounded-tl":[c]}],"rounded-tr":[{"rounded-tr":[c]}],"rounded-br":[{"rounded-br":[c]}],"rounded-bl":[{"rounded-bl":[c]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[A]}],"border-style":[{border:[...B(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[A]}],"divide-style":[{divide:B()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...B()]}],"outline-offset":[{"outline-offset":[na,Te]}],"outline-w":[{outline:[na,ka]}],"outline-color":[{outline:[n]}],"ring-w":[{ring:be()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[n]}],"ring-opacity":[{"ring-opacity":[A]}],"ring-offset-w":[{"ring-offset":[na,ka]}],"ring-offset-color":[{"ring-offset":[n]}],shadow:[{shadow:["","inner","none",qa,RN]}],"shadow-color":[{shadow:[so]}],opacity:[{opacity:[A]}],"mix-blend":[{"mix-blend":[...F(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":F()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[o]}],contrast:[{contrast:[v]}],"drop-shadow":[{"drop-shadow":["","none",qa,Te]}],grayscale:[{grayscale:[p]}],"hue-rotate":[{"hue-rotate":[b]}],invert:[{invert:[y]}],saturate:[{saturate:[j]}],sepia:[{sepia:[P]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[v]}],"backdrop-grayscale":[{"backdrop-grayscale":[p]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b]}],"backdrop-invert":[{"backdrop-invert":[y]}],"backdrop-opacity":[{"backdrop-opacity":[A]}],"backdrop-saturate":[{"backdrop-saturate":[j]}],"backdrop-sepia":[{"backdrop-sepia":[P]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[d]}],"border-spacing-x":[{"border-spacing-x":[d]}],"border-spacing-y":[{"border-spacing-y":[d]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Te]}],duration:[{duration:_()}],ease:[{ease:["linear","in","out","in-out",Te]}],delay:[{delay:_()}],animate:[{animate:["none","spin","ping","pulse","bounce",Te]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[z]}],"scale-x":[{"scale-x":[z]}],"scale-y":[{"scale-y":[z]}],rotate:[{rotate:[oo,Te]}],"translate-x":[{"translate-x":[te]}],"translate-y":[{"translate-y":[te]}],"skew-x":[{"skew-x":[Y]}],"skew-y":[{"skew-y":[Y]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Te]}],accent:[{accent:["auto",n]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Te]}],"caret-color":[{caret:[n]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":ne()}],"scroll-mx":[{"scroll-mx":ne()}],"scroll-my":[{"scroll-my":ne()}],"scroll-ms":[{"scroll-ms":ne()}],"scroll-me":[{"scroll-me":ne()}],"scroll-mt":[{"scroll-mt":ne()}],"scroll-mr":[{"scroll-mr":ne()}],"scroll-mb":[{"scroll-mb":ne()}],"scroll-ml":[{"scroll-ml":ne()}],"scroll-p":[{"scroll-p":ne()}],"scroll-px":[{"scroll-px":ne()}],"scroll-py":[{"scroll-py":ne()}],"scroll-ps":[{"scroll-ps":ne()}],"scroll-pe":[{"scroll-pe":ne()}],"scroll-pt":[{"scroll-pt":ne()}],"scroll-pr":[{"scroll-pr":ne()}],"scroll-pb":[{"scroll-pb":ne()}],"scroll-pl":[{"scroll-pl":ne()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Te]}],fill:[{fill:[n,"none"]}],"stroke-w":[{stroke:[na,ka,Ad]}],stroke:[{stroke:[n,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},NN=dN(ON);function Re(...n){return NN(S0(n))}const DN=E0("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function YS({className:n,variant:l="default",size:r="default",asChild:o=!1,...s}){const c=o?im:"button";return x.jsx(c,{"data-slot":"button","data-variant":l,"data-size":r,className:Re(DN({variant:l,size:r,className:n})),...s})}function jN({...n}){return x.jsx(Lh,{"data-slot":"sheet",...n})}function zN({...n}){return x.jsx(Bh,{"data-slot":"sheet-portal",...n})}function UN({className:n,...l}){return x.jsx(Hh,{"data-slot":"sheet-overlay",className:Re("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",n),...l})}function LN({className:n,children:l,side:r="right",showCloseButton:o=!0,...s}){return x.jsxs(zN,{children:[x.jsx(UN,{}),x.jsxs(kh,{"data-slot":"sheet-content",className:Re("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",r==="right"&&"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",r==="left"&&"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",r==="top"&&"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",r==="bottom"&&"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",n),...s,children:[l,o&&x.jsxs(ex,{className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary",children:[x.jsx(b0,{className:"size-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function BN({className:n,...l}){return x.jsx("div",{"data-slot":"sheet-header",className:Re("flex flex-col gap-1.5 p-4",n),...l})}function HN({className:n,...l}){return x.jsx(J0,{"data-slot":"sheet-title",className:Re("font-semibold text-foreground",n),...l})}function kN({className:n,...l}){return x.jsx(W0,{"data-slot":"sheet-description",className:Re("text-sm text-muted-foreground",n),...l})}function qN({delayDuration:n=0,...l}){return x.jsx(K2,{"data-slot":"tooltip-provider",delayDuration:n,...l})}function GN({...n}){return x.jsx(X2,{"data-slot":"tooltip",...n})}function VN({...n}){return x.jsx(F2,{"data-slot":"tooltip-trigger",...n})}function PN({className:n,sideOffset:l=0,children:r,...o}){return x.jsx(Z2,{children:x.jsxs($2,{"data-slot":"tooltip-content",sideOffset:l,className:Re("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",n),...o,children:[r,x.jsx(J2,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const IN="sidebar_state",YN=3600*24*7,QN="16rem",KN="18rem",XN="3rem",FN="b",QS=m.createContext(null);function cm(){const n=m.useContext(QS);if(!n)throw new Error("useSidebar must be used within a SidebarProvider.");return n}function ZN({defaultOpen:n=!0,open:l,onOpenChange:r,className:o,style:s,children:c,...d}){const h=W2(),[v,p]=m.useState(!1),[b,y]=m.useState(n),E=l??b,T=m.useCallback(A=>{const N=typeof A=="function"?A(E):A;r?r(N):y(N),document.cookie=`${IN}=${N}; path=/; max-age=${YN}`},[r,E]),R=m.useCallback(()=>h?p(A=>!A):T(A=>!A),[h,T,p]);m.useEffect(()=>{const A=N=>{N.key===FN&&(N.metaKey||N.ctrlKey)&&(N.preventDefault(),R())};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[R]);const w=E?"expanded":"collapsed",C=m.useMemo(()=>({state:w,open:E,setOpen:T,isMobile:h,openMobile:v,setOpenMobile:p,toggleSidebar:R}),[w,E,T,h,v,p,R]);return x.jsx(QS.Provider,{value:C,children:x.jsx(qN,{delayDuration:0,children:x.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":QN,"--sidebar-width-icon":XN,...s},className:Re("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",o),...d,children:c})})})}function $N({side:n="left",variant:l="sidebar",collapsible:r="offcanvas",className:o,children:s,...c}){const{isMobile:d,state:h,openMobile:v,setOpenMobile:p}=cm();return r==="none"?x.jsx("div",{"data-slot":"sidebar",className:Re("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",o),...c,children:s}):d?x.jsx(jN,{open:v,onOpenChange:p,...c,children:x.jsxs(LN,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":KN},side:n,children:[x.jsxs(BN,{className:"sr-only",children:[x.jsx(HN,{children:"Sidebar"}),x.jsx(kN,{children:"Displays the mobile sidebar."})]}),x.jsx("div",{className:"flex h-full w-full flex-col",children:s})]})}):x.jsxs("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":h,"data-collapsible":h==="collapsed"?r:"","data-variant":l,"data-side":n,"data-slot":"sidebar",children:[x.jsx("div",{"data-slot":"sidebar-gap",className:Re("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",l==="floating"||l==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),x.jsx("div",{"data-slot":"sidebar-container",className:Re("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",n==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",l==="floating"||l==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",o),...c,children:x.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",children:s})})]})}function KS({className:n,onClick:l,...r}){const{toggleSidebar:o}=cm();return x.jsxs(YS,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:Re("size-7",n),onClick:s=>{l==null||l(s),o()},...r,children:[x.jsx(ZT,{}),x.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function JN({className:n,...l}){return x.jsx("main",{"data-slot":"sidebar-inset",className:Re("relative flex w-full flex-1 flex-col bg-background","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",n),...l})}function WN({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:Re("flex flex-col gap-2 p-2",n),...l})}function eD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:Re("flex flex-col gap-2 p-2",n),...l})}function tD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:Re("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",n),...l})}function nD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:Re("relative flex w-full min-w-0 flex-col p-2",n),...l})}function aD({className:n,asChild:l=!1,...r}){const o=l?im:"div";return x.jsx(o,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:Re("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",n),...r})}function lD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:Re("w-full text-sm",n),...l})}function rD({className:n,...l}){return x.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:Re("flex w-full min-w-0 flex-col gap-1",n),...l})}function iD({className:n,...l}){return x.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:Re("group/menu-item relative",n),...l})}const oD=E0("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function sD({asChild:n=!1,isActive:l=!1,variant:r="default",size:o="default",tooltip:s,className:c,...d}){const h=n?im:"button",{isMobile:v,state:p}=cm(),b=x.jsx(h,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":l,className:Re(oD({variant:r,size:o}),c),...d});return s?(typeof s=="string"&&(s={children:s}),x.jsxs(GN,{children:[x.jsx(VN,{asChild:!0,children:b}),x.jsx(PN,{side:"right",align:"center",hidden:p!=="collapsed"||v,...s})]})):b}const Ru=p0(n=>({slug:"_default",setSlug:l=>n({slug:l})}));let hh=null;function uD(){if(typeof document>"u")return null;const n=document.querySelector('meta[name="docsiq-api-key"]'),l=n==null?void 0:n.getAttribute("content");return l&&l.length>0?l:null}function cD(){hh=uD()}class fD extends Error{constructor(r,o){super(o.error);id(this,"status");id(this,"requestId");this.status=r,this.requestId=o.request_id}}async function jn(n,l={}){const r=new Headers(l.headers);hh&&r.set("Authorization",`Bearer ${hh}`),l.body&&!r.has("Content-Type")&&r.set("Content-Type","application/json");const o=await fetch(n,{...l,headers:r});if(!o.ok){let s={error:`HTTP ${o.status}`};try{s=await o.json()}catch{}throw new fD(o.status,s)}if(o.status!==204)return o.json()}const On={stats:n=>["stats",n],projects:()=>["projects"],notes:n=>["notes",n],note:(n,l)=>["note",n,l],notesTree:n=>["notes-tree",n],notesGraph:n=>["notes-graph",n],notesSearch:(n,l)=>["notes-search",n,l],docs:n=>["docs",n],doc:(n,l)=>["doc",n,l],search:(n,l,r)=>["search",n,l,r],entities:n=>["entities",n],communities:n=>["communities",n],activity:n=>["activity",n]};function dD(){return Kl({queryKey:On.projects(),queryFn:async()=>{const n=await jn("/api/projects");return Array.isArray(n)?n:[]}})}function hD({...n}){return x.jsx(d2,{"data-slot":"select",...n})}function mD({...n}){return x.jsx(m2,{"data-slot":"select-value",...n})}function pD({className:n,size:l="default",children:r,...o}){return x.jsxs(h2,{"data-slot":"select-trigger","data-size":l,className:Re("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",n),...o,children:[r,x.jsx(p2,{asChild:!0,children:x.jsx(g0,{className:"size-4 opacity-50"})})]})}function vD({className:n,children:l,position:r="item-aligned",align:o="center",...s}){return x.jsx(v2,{children:x.jsxs(g2,{"data-slot":"select-content",className:Re("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",n),position:r,align:o,...s,children:[x.jsx(yD,{}),x.jsx(y2,{className:Re("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:l}),x.jsx(bD,{})]})})}function gD({className:n,children:l,...r}){return x.jsxs(b2,{"data-slot":"select-item",className:Re("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),...r,children:[x.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:x.jsx(S2,{children:x.jsx(YT,{className:"size-4"})})}),x.jsx(x2,{children:l})]})}function yD({className:n,...l}){return x.jsx(E2,{"data-slot":"select-scroll-up-button",className:Re("flex cursor-default items-center justify-center py-1",n),...l,children:x.jsx(QT,{className:"size-4"})})}function bD({className:n,...l}){return x.jsx(w2,{"data-slot":"select-scroll-down-button",className:Re("flex cursor-default items-center justify-center py-1",n),...l,children:x.jsx(g0,{className:"size-4"})})}const xD=[{to:"/",label:"Home",icon:XT},{to:"/notes",label:"Notes",icon:KT},{to:"/docs",label:"Documents",icon:IT},{to:"/graph",label:"Graph",icon:FT},{to:"/mcp",label:"MCP",icon:JT}];function SD(n){const{pathname:l}=Ql(),r=Ru(c=>c.slug),o=Ru(c=>c.setSlug),{data:s}=dD();return x.jsxs($N,{collapsible:"icon",...n,children:[x.jsx(WN,{children:x.jsxs("div",{className:"sidebar-brand",children:[x.jsxs(qr,{to:"/",className:"sidebar-brand-link",children:[x.jsx($T,{className:"size-5 shrink-0 text-primary"}),x.jsx("span",{className:"sidebar-brand-name",children:"docsiq"})]}),x.jsx(KS,{className:"sidebar-brand-trigger"})]})}),x.jsx(tD,{children:x.jsxs(nD,{children:[x.jsx(aD,{children:"Workspace"}),x.jsx(lD,{children:x.jsx(rD,{children:xD.map(c=>{const d=c.to==="/"?l==="/":l.startsWith(c.to);return x.jsx(iD,{children:x.jsx(sD,{asChild:!0,isActive:d,tooltip:c.label,children:x.jsxs(qr,{to:c.to,children:[x.jsx(c.icon,{}),x.jsx("span",{children:c.label})]})})},c.to)})})})]})}),x.jsx(eD,{children:x.jsxs("div",{className:"px-2 pb-2 group-data-[collapsible=icon]:hidden",children:[x.jsx("label",{className:"block text-[10px] uppercase tracking-wider text-muted-foreground mb-1",children:"Project"}),x.jsxs(hD,{value:r,onValueChange:o,children:[x.jsx(pD,{className:"w-full h-8 text-xs font-mono",children:x.jsx(mD,{})}),x.jsx(vD,{children:(s!=null&&s.length?s:[{slug:r,name:r}]).map(c=>x.jsx(gD,{value:c.slug,className:"font-mono text-xs",children:c.name||c.slug},c.slug))})]})]})})]})}function ED({...n}){return x.jsx(DO,{"data-slot":"dropdown-menu",...n})}function wD({...n}){return x.jsx(jO,{"data-slot":"dropdown-menu-trigger",...n})}function CD({className:n,sideOffset:l=4,...r}){return x.jsx(zO,{children:x.jsx(UO,{"data-slot":"dropdown-menu-content",sideOffset:l,className:Re("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",n),...r})})}function _d({className:n,inset:l,variant:r="default",...o}){return x.jsx(LO,{"data-slot":"dropdown-menu-item","data-inset":l,"data-variant":r,className:Re("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",n),...o})}function TD(){const n=$d(o=>o.theme),l=$d(o=>o.setTheme),r=n==="light"?Ky:n==="dark"?Qy:Yy;return x.jsxs(ED,{children:[x.jsx(wD,{"aria-label":"Change theme",className:"theme-toggle",children:x.jsx(r,{size:16})}),x.jsxs(CD,{align:"end",children:[x.jsxs(_d,{onClick:()=>l("light"),children:[x.jsx(Ky,{size:14,className:"mr-2"})," Light"]}),x.jsxs(_d,{onClick:()=>l("dark"),children:[x.jsx(Qy,{size:14,className:"mr-2"})," Dark"]}),x.jsxs(_d,{onClick:()=>l("system"),children:[x.jsx(Yy,{size:14,className:"mr-2"})," System"]})]})]})}const RD={"/":"Home","/notes":"Notes","/docs":"Documents","/graph":"Graph","/mcp":"MCP Console"};function AD({onCommandOpen:n}){const{pathname:l}=Ql(),r=RD[l]??(l.startsWith("/notes")?"Notes":l.startsWith("/docs")?"Documents":"docsiq");return x.jsxs("header",{className:"site-header",children:[x.jsxs("div",{className:"site-header-left",children:[x.jsx(KS,{className:"site-header-mobile-trigger"}),x.jsx("h1",{className:"site-header-title",children:r})]}),x.jsxs("div",{className:"site-header-actions",children:[x.jsxs(YS,{variant:"outline",size:"sm",onClick:n,className:"site-header-search",children:[x.jsx(y0,{className:"size-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Search"}),x.jsxs("kbd",{className:"site-header-kbd",children:[x.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),x.jsx(TD,{})]})]})}function _D(){return x.jsx("a",{href:"#main",className:"skip-link",children:"Skip to main content"})}function Br(n,l,r={}){const{enabled:o=!0,preventDefault:s=!0}=r,c=m.useRef(l);c.current=l,m.useEffect(()=>{if(!o)return;const d=n.includes(",");let h=null,v=0;const p=b=>{const y=b.key.toLowerCase(),E=b.metaKey||b.ctrlKey;if(d){const[C,A]=n.split(",");if(h)y===A&&Date.now()-v<1e3&&(s&&b.preventDefault(),c.current(b)),h=null;else if(y===C){h=y,v=Date.now();return}return}const T=n.split("+"),R=T.includes("mod"),w=T[T.length-1];R===E&&y===w&&(s&&b.preventDefault(),c.current(b))};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n,o,s])}const MD={"/":"Home","/notes":"Notes","/notes/search":"Search notes","/docs":"Documents","/graph":"Graph","/mcp":"MCP Console"};function OD(n){try{return decodeURIComponent(n).split("/").pop()||n}catch{return n}}function ND(){const{pathname:n}=Ql(),l=wC();m.useEffect(()=>{let r=MD[n];r||(n.startsWith("/notes/")&&l.key?r=OD(l.key):n.startsWith("/docs/")&&l.id?r=`Document ${l.id.slice(0,8)}`:r="docsiq"),document.title=r==="docsiq"?"docsiq":`${r} — docsiq`},[n,l])}var Tb=1,DD=.9,jD=.8,zD=.17,Md=.1,Od=.999,UD=.9999,LD=.99,BD=/[\\\/_+.#"@\[\(\{&]/,HD=/[\\\/_+.#"@\[\(\{&]/g,kD=/[\s-]/,XS=/[\s-]/g;function mh(n,l,r,o,s,c,d){if(c===l.length)return s===n.length?Tb:LD;var h=`${s},${c}`;if(d[h]!==void 0)return d[h];for(var v=o.charAt(c),p=r.indexOf(v,s),b=0,y,E,T,R;p>=0;)y=mh(n,l,r,o,p+1,c+1,d),y>b&&(p===s?y*=Tb:BD.test(n.charAt(p-1))?(y*=jD,T=n.slice(s,p-1).match(HD),T&&s>0&&(y*=Math.pow(Od,T.length))):kD.test(n.charAt(p-1))?(y*=DD,R=n.slice(s,p-1).match(XS),R&&s>0&&(y*=Math.pow(Od,R.length))):(y*=zD,s>0&&(y*=Math.pow(Od,p-s))),n.charAt(p)!==l.charAt(c)&&(y*=UD)),(yy&&(y=E*Md)),y>b&&(b=y),p=r.indexOf(v,p+1);return d[h]=b,b}function Rb(n){return n.toLowerCase().replace(XS," ")}function qD(n,l,r){return n=r&&r.length>0?`${n+" "+r.join(" ")}`:n,mh(n,l,Rb(n),Rb(l),0,0,{})}var uo='[cmdk-group=""]',Nd='[cmdk-group-items=""]',GD='[cmdk-group-heading=""]',FS='[cmdk-item=""]',Ab=`${FS}:not([aria-disabled="true"])`,ph="cmdk-item-select",Hr="data-value",VD=(n,l,r)=>qD(n,l,r),ZS=m.createContext(void 0),Lo=()=>m.useContext(ZS),$S=m.createContext(void 0),fm=()=>m.useContext($S),JS=m.createContext(void 0),WS=m.forwardRef((n,l)=>{let r=kr(()=>{var D,Q;return{search:"",value:(Q=(D=n.value)!=null?D:n.defaultValue)!=null?Q:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),o=kr(()=>new Set),s=kr(()=>new Map),c=kr(()=>new Map),d=kr(()=>new Set),h=e1(n),{label:v,children:p,value:b,onValueChange:y,filter:E,shouldFilter:T,loop:R,disablePointerSelection:w=!1,vimBindings:C=!0,...A}=n,N=St(),j=St(),z=St(),P=m.useRef(null),Y=WD();Il(()=>{if(b!==void 0){let D=b.trim();r.current.value=D,G.emit()}},[b]),Il(()=>{Y(6,be)},[]);let G=m.useMemo(()=>({subscribe:D=>(d.current.add(D),()=>d.current.delete(D)),snapshot:()=>r.current,setState:(D,Q,Z)=>{var ee,ae,J,me;if(!Object.is(r.current[D],Q)){if(r.current[D]=Q,D==="search")ne(),ie(),Y(1,se);else if(D==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ue=document.getElementById(z);ue?ue.focus():(ee=document.getElementById(N))==null||ee.focus()}if(Y(7,()=>{var ue;r.current.selectedItemId=(ue=ce())==null?void 0:ue.id,G.emit()}),Z||Y(5,be),((ae=h.current)==null?void 0:ae.value)!==void 0){let ue=Q??"";(me=(J=h.current).onValueChange)==null||me.call(J,ue);return}}G.emit()}},emit:()=>{d.current.forEach(D=>D())}}),[]),te=m.useMemo(()=>({value:(D,Q,Z)=>{var ee;Q!==((ee=c.current.get(D))==null?void 0:ee.value)&&(c.current.set(D,{value:Q,keywords:Z}),r.current.filtered.items.set(D,le(Q,Z)),Y(2,()=>{ie(),G.emit()}))},item:(D,Q)=>(o.current.add(D),Q&&(s.current.has(Q)?s.current.get(Q).add(D):s.current.set(Q,new Set([D]))),Y(3,()=>{ne(),ie(),r.current.value||se(),G.emit()}),()=>{c.current.delete(D),o.current.delete(D),r.current.filtered.items.delete(D);let Z=ce();Y(4,()=>{ne(),(Z==null?void 0:Z.getAttribute("id"))===D&&se(),G.emit()})}),group:D=>(s.current.has(D)||s.current.set(D,new Set),()=>{c.current.delete(D),s.current.delete(D)}),filter:()=>h.current.shouldFilter,label:v||n["aria-label"],getDisablePointerSelection:()=>h.current.disablePointerSelection,listId:N,inputId:z,labelId:j,listInnerRef:P}),[]);function le(D,Q){var Z,ee;let ae=(ee=(Z=h.current)==null?void 0:Z.filter)!=null?ee:VD;return D?ae(D,r.current.search,Q):0}function ie(){if(!r.current.search||h.current.shouldFilter===!1)return;let D=r.current.filtered.items,Q=[];r.current.filtered.groups.forEach(ee=>{let ae=s.current.get(ee),J=0;ae.forEach(me=>{let ue=D.get(me);J=Math.max(ue,J)}),Q.push([ee,J])});let Z=P.current;ge().sort((ee,ae)=>{var J,me;let ue=ee.getAttribute("id"),Ae=ae.getAttribute("id");return((J=D.get(Ae))!=null?J:0)-((me=D.get(ue))!=null?me:0)}).forEach(ee=>{let ae=ee.closest(Nd);ae?ae.appendChild(ee.parentElement===ae?ee:ee.closest(`${Nd} > *`)):Z.appendChild(ee.parentElement===Z?ee:ee.closest(`${Nd} > *`))}),Q.sort((ee,ae)=>ae[1]-ee[1]).forEach(ee=>{var ae;let J=(ae=P.current)==null?void 0:ae.querySelector(`${uo}[${Hr}="${encodeURIComponent(ee[0])}"]`);J==null||J.parentElement.appendChild(J)})}function se(){let D=ge().find(Z=>Z.getAttribute("aria-disabled")!=="true"),Q=D==null?void 0:D.getAttribute(Hr);G.setState("value",Q||void 0)}function ne(){var D,Q,Z,ee;if(!r.current.search||h.current.shouldFilter===!1){r.current.filtered.count=o.current.size;return}r.current.filtered.groups=new Set;let ae=0;for(let J of o.current){let me=(Q=(D=c.current.get(J))==null?void 0:D.value)!=null?Q:"",ue=(ee=(Z=c.current.get(J))==null?void 0:Z.keywords)!=null?ee:[],Ae=le(me,ue);r.current.filtered.items.set(J,Ae),Ae>0&&ae++}for(let[J,me]of s.current)for(let ue of me)if(r.current.filtered.items.get(ue)>0){r.current.filtered.groups.add(J);break}r.current.filtered.count=ae}function be(){var D,Q,Z;let ee=ce();ee&&(((D=ee.parentElement)==null?void 0:D.firstChild)===ee&&((Z=(Q=ee.closest(uo))==null?void 0:Q.querySelector(GD))==null||Z.scrollIntoView({block:"nearest"})),ee.scrollIntoView({block:"nearest"}))}function ce(){var D;return(D=P.current)==null?void 0:D.querySelector(`${FS}[aria-selected="true"]`)}function ge(){var D;return Array.from(((D=P.current)==null?void 0:D.querySelectorAll(Ab))||[])}function B(D){let Q=ge()[D];Q&&G.setState("value",Q.getAttribute(Hr))}function F(D){var Q;let Z=ce(),ee=ge(),ae=ee.findIndex(me=>me===Z),J=ee[ae+D];(Q=h.current)!=null&&Q.loop&&(J=ae+D<0?ee[ee.length-1]:ae+D===ee.length?ee[0]:ee[ae+D]),J&&G.setState("value",J.getAttribute(Hr))}function $(D){let Q=ce(),Z=Q==null?void 0:Q.closest(uo),ee;for(;Z&&!ee;)Z=D>0?$D(Z,uo):JD(Z,uo),ee=Z==null?void 0:Z.querySelector(Ab);ee?G.setState("value",ee.getAttribute(Hr)):F(D)}let W=()=>B(ge().length-1),de=D=>{D.preventDefault(),D.metaKey?W():D.altKey?$(1):F(1)},_=D=>{D.preventDefault(),D.metaKey?B(0):D.altKey?$(-1):F(-1)};return m.createElement(Se.div,{ref:l,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:D=>{var Q;(Q=A.onKeyDown)==null||Q.call(A,D);let Z=D.nativeEvent.isComposing||D.keyCode===229;if(!(D.defaultPrevented||Z))switch(D.key){case"n":case"j":{C&&D.ctrlKey&&de(D);break}case"ArrowDown":{de(D);break}case"p":case"k":{C&&D.ctrlKey&&_(D);break}case"ArrowUp":{_(D);break}case"Home":{D.preventDefault(),B(0);break}case"End":{D.preventDefault(),W();break}case"Enter":{D.preventDefault();let ee=ce();if(ee){let ae=new Event(ph);ee.dispatchEvent(ae)}}}}},m.createElement("label",{"cmdk-label":"",htmlFor:te.inputId,id:te.labelId,style:tj},v),Iu(n,D=>m.createElement($S.Provider,{value:G},m.createElement(ZS.Provider,{value:te},D))))}),PD=m.forwardRef((n,l)=>{var r,o;let s=St(),c=m.useRef(null),d=m.useContext(JS),h=Lo(),v=e1(n),p=(o=(r=v.current)==null?void 0:r.forceMount)!=null?o:d==null?void 0:d.forceMount;Il(()=>{if(!p)return h.item(s,d==null?void 0:d.id)},[p]);let b=t1(s,c,[n.value,n.children,c],n.keywords),y=fm(),E=al(Y=>Y.value&&Y.value===b.current),T=al(Y=>p||h.filter()===!1?!0:Y.search?Y.filtered.items.get(s)>0:!0);m.useEffect(()=>{let Y=c.current;if(!(!Y||n.disabled))return Y.addEventListener(ph,R),()=>Y.removeEventListener(ph,R)},[T,n.onSelect,n.disabled]);function R(){var Y,G;w(),(G=(Y=v.current).onSelect)==null||G.call(Y,b.current)}function w(){y.setState("value",b.current,!0)}if(!T)return null;let{disabled:C,value:A,onSelect:N,forceMount:j,keywords:z,...P}=n;return m.createElement(Se.div,{ref:Bt(c,l),...P,id:s,"cmdk-item":"",role:"option","aria-disabled":!!C,"aria-selected":!!E,"data-disabled":!!C,"data-selected":!!E,onPointerMove:C||h.getDisablePointerSelection()?void 0:w,onClick:C?void 0:R},n.children)}),ID=m.forwardRef((n,l)=>{let{heading:r,children:o,forceMount:s,...c}=n,d=St(),h=m.useRef(null),v=m.useRef(null),p=St(),b=Lo(),y=al(T=>s||b.filter()===!1?!0:T.search?T.filtered.groups.has(d):!0);Il(()=>b.group(d),[]),t1(d,h,[n.value,n.heading,v]);let E=m.useMemo(()=>({id:d,forceMount:s}),[s]);return m.createElement(Se.div,{ref:Bt(h,l),...c,"cmdk-group":"",role:"presentation",hidden:y?void 0:!0},r&&m.createElement("div",{ref:v,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),Iu(n,T=>m.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},m.createElement(JS.Provider,{value:E},T))))}),YD=m.forwardRef((n,l)=>{let{alwaysRender:r,...o}=n,s=m.useRef(null),c=al(d=>!d.search);return!r&&!c?null:m.createElement(Se.div,{ref:Bt(s,l),...o,"cmdk-separator":"",role:"separator"})}),QD=m.forwardRef((n,l)=>{let{onValueChange:r,...o}=n,s=n.value!=null,c=fm(),d=al(p=>p.search),h=al(p=>p.selectedItemId),v=Lo();return m.useEffect(()=>{n.value!=null&&c.setState("search",n.value)},[n.value]),m.createElement(Se.input,{ref:l,...o,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":v.listId,"aria-labelledby":v.labelId,"aria-activedescendant":h,id:v.inputId,type:"text",value:s?n.value:d,onChange:p=>{s||c.setState("search",p.target.value),r==null||r(p.target.value)}})}),KD=m.forwardRef((n,l)=>{let{children:r,label:o="Suggestions",...s}=n,c=m.useRef(null),d=m.useRef(null),h=al(p=>p.selectedItemId),v=Lo();return m.useEffect(()=>{if(d.current&&c.current){let p=d.current,b=c.current,y,E=new ResizeObserver(()=>{y=requestAnimationFrame(()=>{let T=p.offsetHeight;b.style.setProperty("--cmdk-list-height",T.toFixed(1)+"px")})});return E.observe(p),()=>{cancelAnimationFrame(y),E.unobserve(p)}}},[]),m.createElement(Se.div,{ref:Bt(c,l),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":h,"aria-label":o,id:v.listId},Iu(n,p=>m.createElement("div",{ref:Bt(d,v.listInnerRef),"cmdk-list-sizer":""},p)))}),XD=m.forwardRef((n,l)=>{let{open:r,onOpenChange:o,overlayClassName:s,contentClassName:c,container:d,...h}=n;return m.createElement(Lh,{open:r,onOpenChange:o},m.createElement(Bh,{container:d},m.createElement(Hh,{"cmdk-overlay":"",className:s}),m.createElement(kh,{"aria-label":n.label,"cmdk-dialog":"",className:c},m.createElement(WS,{ref:l,...h}))))}),FD=m.forwardRef((n,l)=>al(r=>r.filtered.count===0)?m.createElement(Se.div,{ref:l,...n,"cmdk-empty":"",role:"presentation"}):null),ZD=m.forwardRef((n,l)=>{let{progress:r,children:o,label:s="Loading...",...c}=n;return m.createElement(Se.div,{ref:l,...c,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},Iu(n,d=>m.createElement("div",{"aria-hidden":!0},d)))}),di=Object.assign(WS,{List:KD,Item:PD,Input:QD,Group:ID,Separator:YD,Dialog:XD,Empty:FD,Loading:ZD});function $D(n,l){let r=n.nextElementSibling;for(;r;){if(r.matches(l))return r;r=r.nextElementSibling}}function JD(n,l){let r=n.previousElementSibling;for(;r;){if(r.matches(l))return r;r=r.previousElementSibling}}function e1(n){let l=m.useRef(n);return Il(()=>{l.current=n}),l}var Il=typeof window>"u"?m.useEffect:m.useLayoutEffect;function kr(n){let l=m.useRef();return l.current===void 0&&(l.current=n()),l}function al(n){let l=fm(),r=()=>n(l.snapshot());return m.useSyncExternalStore(l.subscribe,r,r)}function t1(n,l,r,o=[]){let s=m.useRef(),c=Lo();return Il(()=>{var d;let h=(()=>{var p;for(let b of r){if(typeof b=="string")return b.trim();if(typeof b=="object"&&"current"in b)return b.current?(p=b.current.textContent)==null?void 0:p.trim():s.current}})(),v=o.map(p=>p.trim());c.value(n,h,v),(d=l.current)==null||d.setAttribute(Hr,h),s.current=h}),s}var WD=()=>{let[n,l]=m.useState(),r=kr(()=>new Map);return Il(()=>{r.current.forEach(o=>o()),r.current=new Map},[n]),(o,s)=>{r.current.set(o,s),l({})}};function ej(n){let l=n.type;return typeof l=="function"?l(n.props):"render"in l?l.render(n.props):n}function Iu({asChild:n,children:l},r){return n&&m.isValidElement(l)?m.cloneElement(ej(l),{ref:l.ref},r(l.props.children)):r(l)}var tj={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function nj({...n}){return x.jsx(Lh,{"data-slot":"dialog",...n})}function aj({...n}){return x.jsx(Bh,{"data-slot":"dialog-portal",...n})}function lj({className:n,...l}){return x.jsx(Hh,{"data-slot":"dialog-overlay",className:Re("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",n),...l})}function rj({className:n,children:l,showCloseButton:r=!0,...o}){return x.jsxs(aj,{"data-slot":"dialog-portal",children:[x.jsx(lj,{}),x.jsxs(kh,{"data-slot":"dialog-content",className:Re("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",n),...o,children:[l,r&&x.jsxs(ex,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[x.jsx(b0,{}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function ij({className:n,...l}){return x.jsx("div",{"data-slot":"dialog-header",className:Re("flex flex-col gap-2 text-center sm:text-left",n),...l})}function oj({className:n,...l}){return x.jsx(J0,{"data-slot":"dialog-title",className:Re("text-lg leading-none font-semibold",n),...l})}function sj({className:n,...l}){return x.jsx(W0,{"data-slot":"dialog-description",className:Re("text-sm text-muted-foreground",n),...l})}function n1({className:n,...l}){return x.jsx(di,{"data-slot":"command",className:Re("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",n),...l})}function uj({title:n="Command Palette",description:l="Search for a command to run...",children:r,className:o,showCloseButton:s=!0,...c}){return x.jsxs(nj,{...c,children:[x.jsxs(ij,{className:"sr-only",children:[x.jsx(oj,{children:n}),x.jsx(sj,{children:l})]}),x.jsx(rj,{className:Re("overflow-hidden p-0 border-0 bg-popover text-popover-foreground ring-1 ring-border shadow-2xl sm:max-w-2xl top-[18%] translate-y-0 rounded-lg",o),showCloseButton:s,children:x.jsx(n1,{className:"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:r})})]})}function cj({className:n,...l}){return x.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-12 items-center gap-3 border-b border-border px-4",children:[x.jsx(y0,{className:"size-4 shrink-0 text-muted-foreground"}),x.jsx(di.Input,{"data-slot":"command-input",className:Re("flex h-10 w-full bg-transparent py-3 text-sm outline-none focus:outline-none focus-visible:outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",n),...l})]})}function fj({className:n,...l}){return x.jsx(di.List,{"data-slot":"command-list",className:Re("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",n),...l})}function dj({...n}){return x.jsx(di.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...n})}function Dd({className:n,...l}){return x.jsx(di.Group,{"data-slot":"command-group",className:Re("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",n),...l})}function _l({className:n,...l}){return x.jsx(di.Item,{"data-slot":"command-item",className:Re("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",n),...l})}function hj(n,l){return Kl({queryKey:["command-search",n,l],enabled:l.trim().length>0,queryFn:async()=>{const[r,o]=await Promise.all([jn(`/api/projects/${encodeURIComponent(n)}/search?q=${encodeURIComponent(l)}`).catch(()=>({hits:[]})),jn(`/api/search?project=${encodeURIComponent(n)}&q=${encodeURIComponent(l)}&mode=local&top_k=5`).catch(()=>({hits:[]}))]);return{notes:r.hits,docs:o.hits}},staleTime:1e4})}function mj({open:n,onOpenChange:l}){const[r,o]=m.useState(""),s=Eh(),c=Ru(v=>v.slug),{data:d}=hj(c,r),h=()=>{l(!1),o("")};return x.jsx(uj,{open:n,onOpenChange:l,children:x.jsxs(n1,{shouldFilter:!1,children:[x.jsx(cj,{value:r,onValueChange:o,placeholder:"Search notes, docs, entities…",autoFocus:!0}),x.jsxs(fj,{children:[x.jsx(dj,{children:"No results."}),!r&&x.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Type to search."}),x.jsxs(Dd,{heading:"Pages",children:[x.jsx(_l,{onSelect:()=>{s("/"),h()},children:"Home"}),x.jsx(_l,{onSelect:()=>{s("/notes"),h()},children:"Notes"}),x.jsx(_l,{onSelect:()=>{s("/docs"),h()},children:"Documents"}),x.jsx(_l,{onSelect:()=>{s("/graph"),h()},children:"Graph"}),x.jsx(_l,{onSelect:()=>{s("/mcp"),h()},children:"MCP console"})]}),d&&d.notes.length>0&&x.jsx(Dd,{heading:"Notes",children:d.notes.slice(0,5).map(v=>x.jsxs(_l,{onSelect:()=>{s(`/notes/${v.key}`),h()},children:[x.jsx("span",{className:"cmd-chip",children:"NOTE"}),v.title||v.key]},`note-${v.key}`))}),d&&d.docs.length>0&&x.jsx(Dd,{heading:"Documents",children:d.docs.slice(0,5).map(v=>x.jsxs(_l,{onSelect:()=>{s(`/docs/${v.doc_id}`),h()},children:[x.jsx("span",{className:"cmd-chip",children:"DOC"}),v.doc_title]},`doc-${v.chunk_id}`))})]})]})})}function pj({children:n}){const[l,r]=m.useState(!1),o=Eh();return ND(),Br("mod+k",()=>r(s=>!s)),Br("g,h",()=>o("/")),Br("g,n",()=>o("/notes")),Br("g,d",()=>o("/docs")),Br("g,g",()=>o("/graph")),Br("g,m",()=>o("/mcp")),x.jsxs(ZN,{style:{"--sidebar-width":"calc(var(--spacing) * 72)","--header-height":"calc(var(--spacing) * 12)"},children:[x.jsx(_D,{}),x.jsx(SD,{variant:"inset"}),x.jsxs(JN,{children:[x.jsx(AD,{onCommandOpen:()=>r(!0)}),x.jsx("main",{id:"main",role:"main",tabIndex:-1,className:"flex flex-1 flex-col",children:n})]}),x.jsx(mj,{open:l,onOpenChange:r})]})}const uu=new Intl.RelativeTimeFormat("en",{numeric:"auto"});function a1(n,l=Date.now()){if(!Number.isFinite(n))return"—";const r=n-l,o=Math.abs(r),s=6e4,c=60*s,d=24*c;return ox.jsxs("div",{className:"stats-cell",children:[x.jsx("div",{className:"stats-label",children:o.label}),x.jsxs("div",{className:"stats-value-row",children:[x.jsx("span",{className:"stats-value",children:o.value}),o.delta!==void 0&&o.delta>0&&x.jsxs("span",{className:"stats-delta",children:["+",o.delta]})]})]},o.label))})}const gj={note_added:{label:"+ NOTE",className:"activity-badge-new"},note_updated:{label:"~ NOTE",className:"activity-badge-upd"},doc_indexed:{label:"INDEX",className:"activity-badge-doc"},doc_error:{label:"ERROR",className:"activity-badge-err"}};function yj({kind:n}){const{label:l,className:r}=gj[n];return x.jsx("span",{className:`activity-badge ${r}`,children:l})}function bj({event:n,isNew:l}){return x.jsxs(qr,{to:n.href,className:"activity-row",style:l?{background:"var(--muted)"}:void 0,children:[x.jsx(yj,{kind:n.kind}),x.jsxs("div",{className:"activity-body",children:[x.jsx("div",{className:"activity-title",children:n.title}),n.detail&&x.jsx("div",{className:"activity-detail",children:n.detail})]}),x.jsx("span",{className:"activity-time",children:a1(n.timestamp)})]})}const xj={common:{loading:"Loading…",error:"Something went wrong.",retry:"Retry",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close"},nav:{home:"Home",notes:"Notes",documents:"Documents",graph:"Graph",mcp:"MCP console",search:"Search or jump to…",searchShort:"Search",skipToMain:"Skip to main content"},home:{sinceLastVisit:"Since your last visit",nothingNew:"Nothing new since your last visit.",viewFullActivity:"View full activity",pinnedNotes:"Pinned notes",graphGlance:"Graph glance",stats:{notes:"Notes",docs:"Docs",entities:"Entities",communities:"Communities",updated:"Updated"}},notes:{writtenBy:"Written by",linksIn:"in",linksOut:"out",noContent:"This note has no content.",invalidKey:"Invalid key — use letters, digits, /, -, _"}};function _b(n){const l=n.split(".");let r=xj;for(const o of l){if(typeof r!="object"||r===null||!(o in r))return n;r=r[o]}return typeof r=="string"?r:n}function Sj({events:n,lastVisit:l}){return n.length===0?x.jsx("div",{className:"activity-empty",children:_b("home.nothingNew")}):x.jsxs("div",{className:"activity-list",children:[x.jsx("h2",{className:"text-xs uppercase tracking-wider text-muted-foreground mb-2.5",children:_b("home.sinceLastVisit")}),n.map(r=>x.jsx(bj,{event:r,isNew:r.timestamp>l},r.id))]})}function Ej(n,l,r,o=200){const s=n.nodes.map(h=>({id:h.id,label:h.label,kind:h.kind,x:0,y:0})),c=n.edges.map(h=>({source:h.source,target:h.target})),d=_w(s).force("charge",Mw().strength(-60)).force("center",Ow(l/2,r/2)).force("link",Nw(c).id(h=>h.id).distance(40).strength(.6)).force("x",Dw(l/2).strength(.02)).force("y",jw(r/2).strength(.02)).stop();for(let h=0;h({source:h.source.id??h.source,target:h.target.id??h.target}))}}const Mb={entity:"var(--chart-1)",note:"var(--chart-3)",community:"var(--chart-2)"},Ob=220,Nb=140;function wj({data:n,maxNodes:l=60}){const r=m.useMemo(()=>{if(!n)return null;const s=new Set(n.nodes.slice(0,l).map(d=>d.id)),c={nodes:n.nodes.filter(d=>s.has(d.id)),edges:n.edges.filter(d=>s.has(d.source)&&s.has(d.target))};return Ej(c,Ob,Nb,120)},[n,l]);if(!n||!r||r.nodes.length===0)return x.jsx("div",{className:"h-[140px] grid place-items-center text-xs text-muted-foreground font-mono",children:n?"no graph yet":"loading…"});const o=Object.fromEntries(r.nodes.map(s=>[s.id,s]));return x.jsxs("svg",{viewBox:`0 0 ${Ob} ${Nb}`,className:"w-full h-auto","aria-label":"Graph preview",children:[r.edges.map((s,c)=>{const d=o[s.source],h=o[s.target];return!d||!h?null:x.jsx("line",{x1:d.x,y1:d.y,x2:h.x,y2:h.y,stroke:"var(--border)",strokeWidth:.5,opacity:.6},c)}),r.nodes.map(s=>x.jsx("circle",{cx:s.x,cy:s.y,r:2.5,fill:Mb[s.kind]??Mb.entity},s.id))]})}function Cj(n){return Kl({queryKey:On.stats(n),queryFn:()=>jn(`/api/stats?project=${encodeURIComponent(n)}`)})}function Tj(n){return Kl({queryKey:On.activity(n),queryFn:async()=>{const[l,r]=await Promise.all([jn(`/api/projects/${encodeURIComponent(n)}/notes`).catch(()=>null),jn(`/api/documents?project=${encodeURIComponent(n)}`).catch(()=>null)]),o=Array.isArray(l)?l:((l==null?void 0:l.keys)??[]).map(d=>({key:d,content:"",tags:[],created_at:"",updated_at:""})),s=Array.isArray(r)?r:[],c=[];for(const d of o){const h=new Date(d.updated_at).getTime();if(!Number.isFinite(h))continue;const v=h===new Date(d.created_at).getTime();c.push({id:`note-${d.key}-${h}`,kind:v?"note_added":"note_updated",title:d.key,timestamp:h,href:`/notes/${d.key}`})}for(const d of s){const h=Number(d.updated_at)*1e3;Number.isFinite(h)&&c.push({id:`doc-${d.id}-${d.updated_at}`,kind:"doc_indexed",title:d.title||d.path,detail:d.doc_type,timestamp:h,href:`/docs/${d.id}`})}return c.sort((d,h)=>h.timestamp-d.timestamp),c.slice(0,20)},refetchInterval:1e4})}function Rj(n){return Kl({queryKey:On.notes(n),queryFn:async()=>{const l=await jn(`/api/projects/${encodeURIComponent(n)}/notes`);return Array.isArray(l)?l:((l==null?void 0:l.keys)??[]).map(o=>({key:o,content:"",tags:[],created_at:"",updated_at:""}))}})}function Xj(n,l){return Kl({queryKey:On.note(n,l??""),enabled:!!l,queryFn:async()=>{const r=await jn(`/api/projects/${encodeURIComponent(n)}/notes/${encodeURIComponent(l)}`);return"note"in r&&r.note?r.note:r}})}function Fj(n){const l=_h();return jT({mutationFn:r=>jn(`/api/projects/${encodeURIComponent(n)}/notes/${encodeURIComponent(r.key)}`,{method:"PUT",body:JSON.stringify(r)}),onSuccess:(r,o)=>{l.invalidateQueries({queryKey:On.notes(n)}),l.invalidateQueries({queryKey:On.note(n,o.key)}),l.invalidateQueries({queryKey:On.notesGraph(n)}),l.invalidateQueries({queryKey:On.activity(n)})}})}function Aj(n){return Kl({queryKey:On.notesGraph(n),queryFn:async()=>{const l=await jn(`/api/projects/${encodeURIComponent(n)}/graph`),r=(l==null?void 0:l.nodes)??[],o=(l==null?void 0:l.edges)??[],s=r.map(h=>({id:h.id??h.key??"",label:h.label??h.title??h.key??"",kind:h.kind??"note"})),c=new Set(s.map(h=>h.id)),d=o.filter(h=>c.has(h.source)&&c.has(h.target)).map(h=>({source:h.source,target:h.target}));return{nodes:s,edges:d}}})}const Db="docsiq-last-visit";function _j(){const[n,l]=m.useState(()=>{const o=localStorage.getItem(Db);return o?Number(o):0});function r(){const o=Date.now();localStorage.setItem(Db,String(o)),l(o)}return{lastVisit:n,touch:r}}function Mj(){var b;const n=Ru(y=>y.slug),l=Cj(n),r=Tj(n),o=Rj(n),s=Aj(n),{lastVisit:c,touch:d}=_j(),h=m.useMemo(()=>r.data?r.data.filter(y=>y.kind==="note_added"&&y.timestamp>c).length:0,[r.data,c]);m.useEffect(()=>()=>{d()},[d]);const v=(o.data??[]).slice(0,8),p=m.useMemo(()=>{var T;const y=((T=o.data)==null?void 0:T.length)??0;return{...l.data??{documents:0,chunks:0,entities:0,relationships:0,communities:0,notes:0,last_indexed:null},notes:y}},[l.data,o.data]);return x.jsxs("div",{className:"page",children:[x.jsx(vj,{stats:p,delta:{notes:h}}),x.jsxs("div",{className:"home-split",children:[x.jsxs("div",{className:"home-main",children:[x.jsx("div",{className:"page-header",children:x.jsxs("div",{className:"flex items-baseline gap-3",children:[x.jsx("h2",{className:"page-header-title",children:"Activity"}),x.jsxs("span",{className:"page-header-meta",children:[((b=r.data)==null?void 0:b.length)??0," events"]})]})}),x.jsx("div",{className:"page-body",children:x.jsx(Sj,{events:r.data??[],lastVisit:c})})]}),x.jsxs("aside",{className:"home-rail",children:[x.jsxs("section",{className:"home-rail-top",children:[x.jsxs("div",{className:"section-head",children:[x.jsx("h2",{className:"section-title",children:"Graph"}),x.jsxs(qr,{to:"/graph",className:"section-link",children:["open ",x.jsx(Iy,{className:"size-3"})]})]}),x.jsx("div",{className:"graph-card",children:x.jsx(wj,{data:s.data})})]}),x.jsxs("section",{className:"section flex-1",children:[x.jsxs("div",{className:"section-head",children:[x.jsx("h2",{className:"section-title",children:"Recent notes"}),x.jsxs(qr,{to:"/notes",className:"section-link",children:["all ",x.jsx(Iy,{className:"size-3"})]})]}),x.jsxs("ul",{className:"note-list",children:[v.map(y=>{const E=y.key.split("/"),T=E.pop()??y.key,R=E.join("/");return x.jsx("li",{children:x.jsxs(qr,{to:`/notes/${encodeURIComponent(y.key)}`,className:"note-row",children:[x.jsx("span",{className:"note-row-name",children:T}),R&&x.jsx("span",{className:"note-row-folder",children:R})]})},y.key)}),v.length===0&&x.jsx("li",{className:"px-5 py-4 text-sm text-muted-foreground",children:"No notes yet."})]})]})]})]})]})}const Oj=m.lazy(()=>ll(()=>import("./NotesLayout-B2b1sadk.js"),__vite__mapDeps([0,1,2]))),Nj=m.lazy(()=>ll(()=>import("./NoteView-DbbP0PJj.js"),__vite__mapDeps([3,1,2]))),Dj=m.lazy(()=>ll(()=>import("./NoteEditor-XWs05OuT.js"),__vite__mapDeps([4,1,2]))),jj=m.lazy(()=>ll(()=>import("./NotesSearch-BjwNYEol.js"),__vite__mapDeps([5,1,2]))),zj=m.lazy(()=>ll(()=>import("./DocumentsList-DDiV8Alk.js"),__vite__mapDeps([6,7,1,2]))),Uj=m.lazy(()=>ll(()=>import("./DocumentView-S_kRD8s0.js"),__vite__mapDeps([8,7,1,2]))),Lj=m.lazy(()=>ll(()=>import("./Graph-DhboX9Bv.js"),__vite__mapDeps([9,1,2]))),Bj=m.lazy(()=>ll(()=>import("./MCPConsole-B2jF6C5Z.js"),__vite__mapDeps([10,1,2])));function Hj(){return x.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:"loading…"})}function kj(){return m.useEffect(()=>{cD()},[]),x.jsx(qT,{children:x.jsx(pj,{children:x.jsx(m.Suspense,{fallback:x.jsx(Hj,{}),children:x.jsxs(kC,{children:[x.jsx(pn,{path:"/",element:x.jsx(Mj,{})}),x.jsxs(pn,{path:"/notes",element:x.jsx(Oj,{}),children:[x.jsx(pn,{path:"search",element:x.jsx(jj,{})}),x.jsx(pn,{path:":key",element:x.jsx(Nj,{})}),x.jsx(pn,{path:":key/edit",element:x.jsx(Dj,{})})]}),x.jsx(pn,{path:"/docs",element:x.jsx(zj,{})}),x.jsx(pn,{path:"/docs/:id",element:x.jsx(Uj,{})}),x.jsx(pn,{path:"/graph",element:x.jsx(Lj,{})}),x.jsx(pn,{path:"/mcp",element:x.jsx(Bj,{})}),x.jsx(pn,{path:"*",element:x.jsx(qj,{})})]})})})})}function qj(){return x.jsxs("div",{className:"p-6 text-muted-foreground",children:[x.jsx("h1",{className:"text-xl font-semibold text-foreground",children:"Not found"}),x.jsx("p",{className:"text-sm mt-2",children:"No such page."})]})}"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(n=>{console.warn("sw register failed:",n)})});Pw.createRoot(document.getElementById("root")).render(x.jsx(m.StrictMode,{children:x.jsx(kj,{})}));export{YS as B,nj as D,qr as L,Ij as O,un as R,jN as S,LN as a,BN as b,HN as c,Aj as d,Ru as e,wC as f,Br as g,Xj as h,a1 as i,x as j,Eh as k,Fj as l,Kl as m,jn as n,Re as o,_h as p,On as q,m as r,rj as s,ij as t,Rj as u,oj as v,Ej as w}; diff --git a/ui/dist/assets/markdown-BU1qdTNu.js b/ui/dist/assets/markdown-BU1qdTNu.js deleted file mode 100644 index 075c9b6..0000000 --- a/ui/dist/assets/markdown-BU1qdTNu.js +++ /dev/null @@ -1,16 +0,0 @@ -const E0="modulepreload",F0=function(u){return"/"+u},Bu={},ft=function(e,r,n){let t=Promise.resolve();if(r&&r.length>0){let o=function(s){return Promise.all(s.map(f=>Promise.resolve(f).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));t=o(r.map(s=>{if(s=F0(s),s in Bu)return;Bu[s]=!0;const f=s.endsWith(".css"),l=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${l}`))return;const b=document.createElement("link");if(b.rel=f?"stylesheet":E0,f||(b.as="script"),b.crossOrigin="",b.href=s,a&&b.setAttribute("nonce",a),document.head.appendChild(b),f)return new Promise((h,d)=>{b.addEventListener("load",h),b.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${s}`)))})}))}function c(o){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o}return t.then(o=>{for(const i of o||[])i.status==="rejected"&&c(i.reason);return e().catch(c)})},Tu={};function A0(u){let e=Tu[u];if(e)return e;e=Tu[u]=[];for(let r=0;r<128;r++){const n=String.fromCharCode(r);e.push(n)}for(let r=0;r=55296&&f<=57343?t+="���":t+=String.fromCharCode(f),c+=6;continue}}if((i&248)===240&&c+91114111?t+="����":(l-=65536,t+=String.fromCharCode(55296+(l>>10),56320+(l&1023))),c+=9;continue}}t+="�"}return t})}Z.defaultChars=";/?:@&=+$,#";Z.componentChars="";const zu={};function y0(u){let e=zu[u];if(e)return e;e=zu[u]=[];for(let r=0;r<128;r++){const n=String.fromCharCode(r);/^[0-9a-z]$/i.test(n)?e.push(n):e.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2))}for(let r=0;r"u"&&(r=!0);const n=y0(e);let t="";for(let c=0,o=u.length;c=55296&&i<=57343){if(i>=55296&&i<=56319&&c+1=56320&&a<=57343){t+=encodeURIComponent(u[c]+u[c+1]),c++;continue}}t+="%EF%BF%BD";continue}t+=encodeURIComponent(u[c])}return t}Y.defaultChars=";/?:@&=+$,-_.!~*'()#";Y.componentChars="-_.!~*'()";function Du(u){let e="";return e+=u.protocol||"",e+=u.slashes?"//":"",e+=u.auth?u.auth+"@":"",u.hostname&&u.hostname.indexOf(":")!==-1?e+="["+u.hostname+"]":e+=u.hostname||"",e+=u.port?":"+u.port:"",e+=u.pathname||"",e+=u.search||"",e+=u.hash||"",e}function tu(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const w0=/^([a-z0-9.+-]+:)/i,S0=/:[0-9]*$/,v0=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,B0=["<",">",'"',"`"," ","\r",` -`," "],T0=["{","}","|","\\","^","`"].concat(B0),z0=["'"].concat(T0),Iu=["%","/","?",";","#"].concat(z0),Mu=["/","?","#"],I0=255,qu=/^[+a-z0-9A-Z_-]{0,63}$/,M0=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ru={javascript:!0,"javascript:":!0},Lu={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Cu(u,e){if(u&&u instanceof tu)return u;const r=new tu;return r.parse(u,e),r}tu.prototype.parse=function(u,e){let r,n,t,c=u;if(c=c.trim(),!e&&u.split("#").length===1){const s=v0.exec(c);if(s)return this.pathname=s[1],s[2]&&(this.search=s[2]),this}let o=w0.exec(c);if(o&&(o=o[0],r=o.toLowerCase(),this.protocol=o,c=c.substr(o.length)),(e||o||c.match(/^\/\/[^@\/]+@[^@\/]+/))&&(t=c.substr(0,2)==="//",t&&!(o&&Ru[o])&&(c=c.substr(2),this.slashes=!0)),!Ru[o]&&(t||o&&!Lu[o])){let s=-1;for(let d=0;d127?p+="x":p+=C[_];if(!p.match(qu)){const _=d.slice(0,k),x=d.slice(k+1),m=C.match(M0);m&&(_.push(m[1]),x.unshift(m[2])),x.length&&(c=x.join(".")+c),this.hostname=_.join(".");break}}}}this.hostname.length>I0&&(this.hostname=""),h&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const i=c.indexOf("#");i!==-1&&(this.hash=c.substr(i),c=c.slice(0,i));const a=c.indexOf("?");return a!==-1&&(this.search=c.substr(a),c=c.slice(0,a)),c&&(this.pathname=c),Lu[r]&&this.hostname&&!this.pathname&&(this.pathname=""),this};tu.prototype.parseHost=function(u){let e=S0.exec(u);e&&(e=e[0],e!==":"&&(this.port=e.substr(1)),u=u.substr(0,u.length-e.length)),u&&(this.hostname=u)};const q0=Object.freeze(Object.defineProperty({__proto__:null,decode:Z,encode:Y,format:Du,parse:Cu},Symbol.toStringTag,{value:"Module"})),Ju=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Qu=/[\0-\x1F\x7F-\x9F]/,R0=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Eu=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Xu=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,Yu=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,L0=Object.freeze(Object.defineProperty({__proto__:null,Any:Ju,Cc:Qu,Cf:R0,P:Eu,S:Xu,Z:Yu},Symbol.toStringTag,{value:"Module"})),P0=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(u=>u.charCodeAt(0))),O0=new Uint16Array("Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(u=>u.charCodeAt(0)));var lu;const N0=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),j0=(lu=String.fromCodePoint)!==null&&lu!==void 0?lu:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function $0(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=N0.get(u))!==null&&e!==void 0?e:u}var A;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(A||(A={}));const U0=32;var O;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(O||(O={}));function mu(u){return u>=A.ZERO&&u<=A.NINE}function Z0(u){return u>=A.UPPER_A&&u<=A.UPPER_F||u>=A.LOWER_A&&u<=A.LOWER_F}function H0(u){return u>=A.UPPER_A&&u<=A.UPPER_Z||u>=A.LOWER_A&&u<=A.LOWER_Z||mu(u)}function V0(u){return u===A.EQUALS||H0(u)}var F;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(F||(F={}));var P;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(P||(P={}));class G0{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=F.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=P.Strict}startEntity(e){this.decodeMode=e,this.state=F.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case F.EntityStart:return e.charCodeAt(r)===A.NUM?(this.state=F.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=F.NamedEntity,this.stateNamedEntity(e,r));case F.NumericStart:return this.stateNumericStart(e,r);case F.NumericDecimal:return this.stateNumericDecimal(e,r);case F.NumericHex:return this.stateNumericHex(e,r);case F.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|U0)===A.LOWER_X?(this.state=F.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=F.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,t){if(r!==n){const c=n-r;this.result=this.result*Math.pow(t,c)+parseInt(e.substr(r,c),t),this.consumed+=c}}stateNumericHex(e,r){const n=r;for(;r>14;for(;r>14,c!==0){if(o===A.SEMI)return this.emitNamedEntityData(this.treeIndex,c,this.consumed+this.excess);this.decodeMode!==P.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;const{result:r,decodeTree:n}=this,t=(n[r]&O.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,t,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){const{decodeTree:t}=this;return this.emitCodePoint(r===1?t[e]&~O.VALUE_LENGTH:t[e+1],n),r===3&&this.emitCodePoint(t[e+2],n),n}end(){var e;switch(this.state){case F.NamedEntity:return this.result!==0&&(this.decodeMode!==P.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case F.NumericDecimal:return this.emitNumericEntity(0,2);case F.NumericHex:return this.emitNumericEntity(0,3);case F.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case F.EntityStart:return 0}}}function Ku(u){let e="";const r=new G0(u,n=>e+=j0(n));return function(t,c){let o=0,i=0;for(;(i=t.indexOf("&",i))>=0;){e+=t.slice(o,i),r.startEntity(c);const s=r.write(t,i+1);if(s<0){o=i+r.end();break}o=i+s,i=s===0?o+1:o}const a=e+t.slice(o);return e="",a}}function W0(u,e,r,n){const t=(e&O.BRANCH_LENGTH)>>7,c=e&O.JUMP_TABLE;if(t===0)return c!==0&&n===c?r:-1;if(c){const a=n-c;return a<0||a>=t?-1:u[r+a]-1}let o=r,i=o+t-1;for(;o<=i;){const a=o+i>>>1,s=u[a];if(sn)i=a-1;else return u[a+t]}return-1}const J0=Ku(P0);Ku(O0);function u0(u,e=P.Legacy){return J0(u,e)}function Q0(u){return Object.prototype.toString.call(u)}function Fu(u){return Q0(u)==="[object String]"}const X0=Object.prototype.hasOwnProperty;function Y0(u,e){return X0.call(u,e)}function iu(u){return Array.prototype.slice.call(arguments,1).forEach(function(r){if(r){if(typeof r!="object")throw new TypeError(r+"must be object");Object.keys(r).forEach(function(n){u[n]=r[n]})}}),u}function e0(u,e,r){return[].concat(u.slice(0,e),r,u.slice(e+1))}function Au(u){return!(u>=55296&&u<=57343||u>=64976&&u<=65007||(u&65535)===65535||(u&65535)===65534||u>=0&&u<=8||u===11||u>=14&&u<=31||u>=127&&u<=159||u>1114111)}function nu(u){if(u>65535){u-=65536;const e=55296+(u>>10),r=56320+(u&1023);return String.fromCharCode(e,r)}return String.fromCharCode(u)}const r0=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,K0=/&([a-z#][a-z0-9]{1,31});/gi,ue=new RegExp(r0.source+"|"+K0.source,"gi"),ee=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function re(u,e){if(e.charCodeAt(0)===35&&ee.test(e)){const n=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);return Au(n)?nu(n):u}const r=u0(u);return r!==u?r:u}function te(u){return u.indexOf("\\")<0?u:u.replace(r0,"$1")}function H(u){return u.indexOf("\\")<0&&u.indexOf("&")<0?u:u.replace(ue,function(e,r,n){return r||re(e,n)})}const ne=/[&<>"]/,ce=/[&<>"]/g,ie={"&":"&","<":"<",">":">",'"':"""};function oe(u){return ie[u]}function N(u){return ne.test(u)?u.replace(ce,oe):u}const ae=/[.?*+^$[\]\\(){}|-]/g;function se(u){return u.replace(ae,"\\$&")}function E(u){switch(u){case 9:case 32:return!0}return!1}function W(u){if(u>=8192&&u<=8202)return!0;switch(u){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function J(u){return Eu.test(u)||Xu.test(u)}function Q(u){switch(u){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function ou(u){return u=u.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(u=u.replace(/ẞ/g,"ß")),u.toLowerCase().toUpperCase()}const fe={mdurl:q0,ucmicro:L0},le=Object.freeze(Object.defineProperty({__proto__:null,arrayReplaceAt:e0,assign:iu,escapeHtml:N,escapeRE:se,fromCodePoint:nu,has:Y0,isMdAsciiPunct:Q,isPunctChar:J,isSpace:E,isString:Fu,isValidEntityCode:Au,isWhiteSpace:W,lib:fe,normalizeReference:ou,unescapeAll:H,unescapeMd:te},Symbol.toStringTag,{value:"Module"}));function de(u,e,r){let n,t,c,o;const i=u.posMax,a=u.pos;for(u.pos=e+1,n=1;u.pos32))return c;if(n===41){if(o===0)break;o--}t++}return e===t||o!==0||(c.str=H(u.slice(e,t)),c.pos=t,c.ok=!0),c}function be(u,e,r,n){let t,c=e;const o={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(n)o.str=n.str,o.marker=n.marker;else{if(c>=r)return o;let i=u.charCodeAt(c);if(i!==34&&i!==39&&i!==40)return o;e++,c++,i===40&&(i=41),o.marker=i}for(;c"+N(c.content)+""};M.code_block=function(u,e,r,n,t){const c=u[e];return""+N(u[e].content)+` -`};M.fence=function(u,e,r,n,t){const c=u[e],o=c.info?H(c.info).trim():"";let i="",a="";if(o){const f=o.split(/(\s+)/g);i=f[0],a=f.slice(2).join("")}let s;if(r.highlight?s=r.highlight(c.content,i,a)||N(c.content):s=N(c.content),s.indexOf("${s} -`}return`
${s}
-`};M.image=function(u,e,r,n,t){const c=u[e];return c.attrs[c.attrIndex("alt")][1]=t.renderInlineAsText(c.children,r,n),t.renderToken(u,e,r)};M.hardbreak=function(u,e,r){return r.xhtmlOut?`
-`:`
-`};M.softbreak=function(u,e,r){return r.breaks?r.xhtmlOut?`
-`:`
-`:` -`};M.text=function(u,e){return N(u[e].content)};M.html_block=function(u,e){return u[e].content};M.html_inline=function(u,e){return u[e].content};function V(){this.rules=iu({},M)}V.prototype.renderAttrs=function(e){let r,n,t;if(!e.attrs)return"";for(t="",r=0,n=e.attrs.length;r -`:">",c};V.prototype.renderInline=function(u,e,r){let n="";const t=this.rules;for(let c=0,o=u.length;c=0&&(n=this.attrs[r][1]),n};T.prototype.attrJoin=function(e,r){const n=this.attrIndex(e);n<0?this.attrPush([e,r]):this.attrs[n][1]=this.attrs[n][1]+" "+r};function t0(u,e,r){this.src=u,this.env=r,this.tokens=[],this.inlineMode=!1,this.md=e}t0.prototype.Token=T;const xe=/\r\n?|\n/g,_e=/\0/g;function me(u){let e;e=u.src.replace(xe,` -`),e=e.replace(_e,"�"),u.src=e}function ke(u){let e;u.inlineMode?(e=new u.Token("inline","",0),e.content=u.src,e.map=[0,1],e.children=[],u.tokens.push(e)):u.md.block.parse(u.src,u.md,u.env,u.tokens)}function ge(u){const e=u.tokens;for(let r=0,n=e.length;r\s]/i.test(u)}function Ce(u){return/^<\/a\s*>/i.test(u)}function Ee(u){const e=u.tokens;if(u.md.options.linkify)for(let r=0,n=e.length;r=0;o--){const i=t[o];if(i.type==="link_close"){for(o--;t[o].level!==i.level&&t[o].type!=="link_open";)o--;continue}if(i.type==="html_inline"&&(De(i.content)&&c>0&&c--,Ce(i.content)&&c++),!(c>0)&&i.type==="text"&&u.md.linkify.test(i.content)){const a=i.content;let s=u.md.linkify.match(a);const f=[];let l=i.level,b=0;s.length>0&&s[0].index===0&&o>0&&t[o-1].type==="text_special"&&(s=s.slice(1));for(let h=0;hb){const m=new u.Token("text","",0);m.content=a.slice(b,C),m.level=l,f.push(m)}const p=new u.Token("link_open","a",1);p.attrs=[["href",k]],p.level=l++,p.markup="linkify",p.info="auto",f.push(p);const _=new u.Token("text","",0);_.content=g,_.level=l,f.push(_);const x=new u.Token("link_close","a",-1);x.level=--l,x.markup="linkify",x.info="auto",f.push(x),b=s[h].lastIndex}if(b=0;r--){const n=u[r];n.type==="text"&&!e&&(n.content=n.content.replace(Ae,we)),n.type==="link_open"&&n.info==="auto"&&e--,n.type==="link_close"&&n.info==="auto"&&e++}}function ve(u){let e=0;for(let r=u.length-1;r>=0;r--){const n=u[r];n.type==="text"&&!e&&n0.test(n.content)&&(n.content=n.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),n.type==="link_open"&&n.info==="auto"&&e--,n.type==="link_close"&&n.info==="auto"&&e++}}function Be(u){let e;if(u.md.options.typographer)for(e=u.tokens.length-1;e>=0;e--)u.tokens[e].type==="inline"&&(Fe.test(u.tokens[e].content)&&Se(u.tokens[e].children),n0.test(u.tokens[e].content)&&ve(u.tokens[e].children))}const Te=/['"]/,Pu=/['"]/g,Ou="’";function eu(u,e,r){return u.slice(0,e)+r+u.slice(e+1)}function ze(u,e){let r;const n=[];for(let t=0;t=0&&!(n[r].level<=o);r--);if(n.length=r+1,c.type!=="text")continue;let i=c.content,a=0,s=i.length;u:for(;a=0)d=i.charCodeAt(f.index-1);else for(r=t-1;r>=0&&!(u[r].type==="softbreak"||u[r].type==="hardbreak");r--)if(u[r].content){d=u[r].content.charCodeAt(u[r].content.length-1);break}let k=32;if(a=48&&d<=57&&(b=l=!1),l&&b&&(l=g,b=C),!l&&!b){h&&(c.content=eu(c.content,f.index,Ou));continue}if(b)for(r=n.length-1;r>=0;r--){let x=n[r];if(n[r].level=0;e--)u.tokens[e].type!=="inline"||!Te.test(u.tokens[e].content)||ze(u.tokens[e].children,u)}function Me(u){let e,r;const n=u.tokens,t=n.length;for(let c=0;c0&&this.level++,this.tokens.push(n),n};q.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};q.prototype.skipEmptyLines=function(e){for(let r=this.lineMax;er;)if(!E(this.src.charCodeAt(--e)))return e+1;return e};q.prototype.skipChars=function(e,r){for(let n=this.src.length;en;)if(r!==this.src.charCodeAt(--e))return e+1;return e};q.prototype.getLines=function(e,r,n,t){if(e>=r)return"";const c=new Array(r-e);for(let o=0,i=e;in?c[o]=new Array(a-n+1).join(" ")+this.src.slice(f,l):c[o]=this.src.slice(f,l)}return c.join("")};q.prototype.Token=T;const qe=65536;function hu(u,e){const r=u.bMarks[e]+u.tShift[e],n=u.eMarks[e];return u.src.slice(r,n)}function Nu(u){const e=[],r=u.length;let n=0,t=u.charCodeAt(n),c=!1,o=0,i="";for(;nr)return!1;let t=e+1;if(u.sCount[t]=4)return!1;let c=u.bMarks[t]+u.tShift[t];if(c>=u.eMarks[t])return!1;const o=u.src.charCodeAt(c++);if(o!==124&&o!==45&&o!==58||c>=u.eMarks[t])return!1;const i=u.src.charCodeAt(c++);if(i!==124&&i!==45&&i!==58&&!E(i)||o===45&&E(i))return!1;for(;c=4)return!1;s=Nu(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop();const l=s.length;if(l===0||l!==f.length)return!1;if(n)return!0;const b=u.parentType;u.parentType="table";const h=u.md.block.ruler.getRules("blockquote"),d=u.push("table_open","table",1),k=[e,0];d.map=k;const g=u.push("thead_open","thead",1);g.map=[e,e+1];const C=u.push("tr_open","tr",1);C.map=[e,e+1];for(let x=0;x=4||(s=Nu(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop(),_+=l-s.length,_>qe))break;if(t===e+2){const D=u.push("tbody_open","tbody",1);D.map=p=[e+2,0]}const m=u.push("tr_open","tr",1);m.map=[t,t+1];for(let D=0;D=4){n++,t=n;continue}break}u.line=t;const c=u.push("code_block","code",0);return c.content=u.getLines(e,t,4+u.blkIndent,!1)+` -`,c.map=[e,u.line],!0}function Pe(u,e,r,n){let t=u.bMarks[e]+u.tShift[e],c=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||t+3>c)return!1;const o=u.src.charCodeAt(t);if(o!==126&&o!==96)return!1;let i=t;t=u.skipChars(t,o);let a=t-i;if(a<3)return!1;const s=u.src.slice(i,t),f=u.src.slice(t,c);if(o===96&&f.indexOf(String.fromCharCode(o))>=0)return!1;if(n)return!0;let l=e,b=!1;for(;l++,!(l>=r||(t=i=u.bMarks[l]+u.tShift[l],c=u.eMarks[l],t=4)&&(t=u.skipChars(t,o),!(t-i=4||u.src.charCodeAt(t)!==62)return!1;if(n)return!0;const i=[],a=[],s=[],f=[],l=u.md.block.ruler.getRules("blockquote"),b=u.parentType;u.parentType="blockquote";let h=!1,d;for(d=e;d=c)break;if(u.src.charCodeAt(t++)===62&&!_){let m=u.sCount[d]+1,D,y;u.src.charCodeAt(t)===32?(t++,m++,y=!1,D=!0):u.src.charCodeAt(t)===9?(D=!0,(u.bsCount[d]+m)%4===3?(t++,m++,y=!1):y=!0):D=!1;let v=m;for(i.push(u.bMarks[d]),u.bMarks[d]=t;t=c,a.push(u.bsCount[d]),u.bsCount[d]=u.sCount[d]+1+(D?1:0),s.push(u.sCount[d]),u.sCount[d]=v-m,f.push(u.tShift[d]),u.tShift[d]=t-u.bMarks[d];continue}if(h)break;let x=!1;for(let m=0,D=l.length;m";const C=[e,0];g.map=C,u.md.block.tokenize(u,e,d);const p=u.push("blockquote_close","blockquote",-1);p.markup=">",u.lineMax=o,u.parentType=b,C[1]=u.line;for(let _=0;_=4)return!1;let c=u.bMarks[e]+u.tShift[e];const o=u.src.charCodeAt(c++);if(o!==42&&o!==45&&o!==95)return!1;let i=1;for(;c=n)return-1;let c=u.src.charCodeAt(t++);if(c<48||c>57)return-1;for(;;){if(t>=n)return-1;if(c=u.src.charCodeAt(t++),c>=48&&c<=57){if(t-r>=10)return-1;continue}if(c===41||c===46)break;return-1}return t=4||u.listIndent>=0&&u.sCount[a]-u.listIndent>=4&&u.sCount[a]=u.blkIndent&&(f=!0);let l,b,h;if((h=$u(u,a))>=0){if(l=!0,o=u.bMarks[a]+u.tShift[a],b=Number(u.src.slice(o,h-1)),f&&b!==1)return!1}else if((h=ju(u,a))>=0)l=!1;else return!1;if(f&&u.skipSpaces(h)>=u.eMarks[a])return!1;if(n)return!0;const d=u.src.charCodeAt(h-1),k=u.tokens.length;l?(i=u.push("ordered_list_open","ol",1),b!==1&&(i.attrs=[["start",b]])):i=u.push("bullet_list_open","ul",1);const g=[a,0];i.map=g,i.markup=String.fromCharCode(d);let C=!1;const p=u.md.block.ruler.getRules("list"),_=u.parentType;for(u.parentType="list";a=t?y=1:y=m-x,y>4&&(y=1);const v=x+y;i=u.push("list_item_open","li",1),i.markup=String.fromCharCode(d);const R=[a,0];i.map=R,l&&(i.info=u.src.slice(o,h-1));const G=u.tight,fu=u.tShift[a],g0=u.sCount[a],D0=u.listIndent;if(u.listIndent=u.blkIndent,u.blkIndent=v,u.tight=!0,u.tShift[a]=D-u.bMarks[a],u.sCount[a]=m,D>=t&&u.isEmpty(a+1)?u.line=Math.min(u.line+2,r):u.md.block.tokenize(u,a,r,!0),(!u.tight||C)&&(s=!1),C=u.line-a>1&&u.isEmpty(u.line-1),u.blkIndent=u.listIndent,u.listIndent=D0,u.tShift[a]=fu,u.sCount[a]=g0,u.tight=G,i=u.push("list_item_close","li",-1),i.markup=String.fromCharCode(d),a=u.line,R[1]=a,a>=r||u.sCount[a]=4)break;let vu=!1;for(let j=0,C0=p.length;j=4||u.src.charCodeAt(t)!==91)return!1;function i(p){const _=u.lineMax;if(p>=_||u.isEmpty(p))return null;let x=!1;if(u.sCount[p]-u.blkIndent>3&&(x=!0),u.sCount[p]<0&&(x=!0),!x){const y=u.md.block.ruler.getRules("reference"),v=u.parentType;u.parentType="reference";let R=!1;for(let G=0,fu=y.length;G"u"&&(u.env.references={}),typeof u.env.references[C]>"u"&&(u.env.references[C]={title:g,href:l}),u.line=o),!0):!1}const Ze=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],He="[a-zA-Z_:][a-zA-Z0-9:._-]*",Ve="[^\"'=<>`\\x00-\\x20]+",Ge="'[^']*'",We='"[^"]*"',Je="(?:"+Ve+"|"+Ge+"|"+We+")",Qe="(?:\\s+"+He+"(?:\\s*=\\s*"+Je+")?)",c0="<[A-Za-z][A-Za-z0-9\\-]*"+Qe+"*\\s*\\/?>",i0="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Xe="",Ye="<[?][\\s\\S]*?[?]>",Ke="]*>",ur="",er=new RegExp("^(?:"+c0+"|"+i0+"|"+Xe+"|"+Ye+"|"+Ke+"|"+ur+")"),rr=new RegExp("^(?:"+c0+"|"+i0+")"),$=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(rr.source+"\\s*$"),/^$/,!1]];function tr(u,e,r,n){let t=u.bMarks[e]+u.tShift[e],c=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||!u.md.options.html||u.src.charCodeAt(t)!==60)return!1;let o=u.src.slice(t,c),i=0;for(;i<$.length&&!$[i][0].test(o);i++);if(i===$.length)return!1;if(n)return $[i][2];let a=e+1;if(!$[i][1].test(o)){for(;a=4)return!1;let o=u.src.charCodeAt(t);if(o!==35||t>=c)return!1;let i=1;for(o=u.src.charCodeAt(++t);o===35&&t6||tt&&E(u.src.charCodeAt(a-1))&&(c=a),u.line=e+1;const s=u.push("heading_open","h"+String(i),1);s.markup="########".slice(0,i),s.map=[e,u.line];const f=u.push("inline","",0);f.content=u.src.slice(t,c).trim(),f.map=[e,u.line],f.children=[];const l=u.push("heading_close","h"+String(i),-1);return l.markup="########".slice(0,i),!0}function cr(u,e,r){const n=u.md.block.ruler.getRules("paragraph");if(u.sCount[e]-u.blkIndent>=4)return!1;const t=u.parentType;u.parentType="paragraph";let c=0,o,i=e+1;for(;i3)continue;if(u.sCount[i]>=u.blkIndent){let h=u.bMarks[i]+u.tShift[i];const d=u.eMarks[i];if(h=d))){c=o===61?1:2;break}}if(u.sCount[i]<0)continue;let b=!1;for(let h=0,d=n.length;h3||u.sCount[c]<0)continue;let s=!1;for(let f=0,l=n.length;f=r||u.sCount[o]=c){u.line=r;break}const a=u.line;let s=!1;for(let f=0;f=u.line)throw new Error("block rule didn't increment state.line");break}if(!s)throw new Error("none of the block rules matched");u.tight=!i,u.isEmpty(u.line-1)&&(i=!0),o=u.line,o0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],t={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(n),this.tokens_meta.push(t),n};K.prototype.scanDelims=function(u,e){const r=this.posMax,n=this.src.charCodeAt(u),t=u>0?this.src.charCodeAt(u-1):32;let c=u;for(;c0)return!1;const r=u.pos,n=u.posMax;if(r+3>n||u.src.charCodeAt(r)!==58||u.src.charCodeAt(r+1)!==47||u.src.charCodeAt(r+2)!==47)return!1;const t=u.pending.match(sr);if(!t)return!1;const c=t[1],o=u.md.linkify.matchAtStart(u.src.slice(r-c.length));if(!o)return!1;let i=o.url;if(i.length<=c.length)return!1;let a=i.length;for(;a>0&&i.charCodeAt(a-1)===42;)a--;a!==i.length&&(i=i.slice(0,a));const s=u.md.normalizeLink(i);if(!u.md.validateLink(s))return!1;if(!e){u.pending=u.pending.slice(0,-c.length);const f=u.push("link_open","a",1);f.attrs=[["href",s]],f.markup="linkify",f.info="auto";const l=u.push("text","",0);l.content=u.md.normalizeLinkText(i);const b=u.push("link_close","a",-1);b.markup="linkify",b.info="auto"}return u.pos+=i.length-c.length,!0}function lr(u,e){let r=u.pos;if(u.src.charCodeAt(r)!==10)return!1;const n=u.pending.length-1,t=u.posMax;if(!e)if(n>=0&&u.pending.charCodeAt(n)===32)if(n>=1&&u.pending.charCodeAt(n-1)===32){let c=n-1;for(;c>=1&&u.pending.charCodeAt(c-1)===32;)c--;u.pending=u.pending.slice(0,c),u.push("hardbreak","br",0)}else u.pending=u.pending.slice(0,-1),u.push("softbreak","br",0);else u.push("softbreak","br",0);for(r++;r?@[]^_`{|}~-".split("").forEach(function(u){wu[u.charCodeAt(0)]=1});function dr(u,e){let r=u.pos;const n=u.posMax;if(u.src.charCodeAt(r)!==92||(r++,r>=n))return!1;let t=u.src.charCodeAt(r);if(t===10){for(e||u.push("hardbreak","br",0),r++;r=55296&&t<=56319&&r+1=56320&&i<=57343&&(c+=u.src[r+1],r++)}const o="\\"+c;if(!e){const i=u.push("text_special","",0);t<256&&wu[t]!==0?i.content=c:i.content=o,i.markup=o,i.info="escape"}return u.pos=r+1,!0}function hr(u,e){let r=u.pos;if(u.src.charCodeAt(r)!==96)return!1;const t=r;r++;const c=u.posMax;for(;r=0;n--){const t=e[n];if(t.marker!==95&&t.marker!==42||t.end===-1)continue;const c=e[t.end],o=n>0&&e[n-1].end===t.end+1&&e[n-1].marker===t.marker&&e[n-1].token===t.token-1&&e[t.end+1].token===c.token+1,i=String.fromCharCode(t.marker),a=u.tokens[t.token];a.type=o?"strong_open":"em_open",a.tag=o?"strong":"em",a.nesting=1,a.markup=o?i+i:i,a.content="";const s=u.tokens[c.token];s.type=o?"strong_close":"em_close",s.tag=o?"strong":"em",s.nesting=-1,s.markup=o?i+i:i,s.content="",o&&(u.tokens[e[n-1].token].content="",u.tokens[e[t.end+1].token].content="",n--)}}function _r(u){const e=u.tokens_meta,r=u.tokens_meta.length;Zu(u,u.delimiters);for(let n=0;n=l)return!1;if(a=d,t=u.md.helpers.parseLinkDestination(u.src,d,u.posMax),t.ok){for(o=u.md.normalizeLink(t.str),u.md.validateLink(o)?d=t.pos:o="",a=d;d=l||u.src.charCodeAt(d)!==41)&&(s=!0),d++}if(s){if(typeof u.env.references>"u")return!1;if(d=0?n=u.src.slice(a,d++):d=h+1):d=h+1,n||(n=u.src.slice(b,h)),c=u.env.references[ou(n)],!c)return u.pos=f,!1;o=c.href,i=c.title}if(!e){u.pos=b,u.posMax=h;const k=u.push("link_open","a",1),g=[["href",o]];k.attrs=g,i&&g.push(["title",i]),u.linkLevel++,u.md.inline.tokenize(u),u.linkLevel--,u.push("link_close","a",-1)}return u.pos=d,u.posMax=l,!0}function kr(u,e){let r,n,t,c,o,i,a,s,f="";const l=u.pos,b=u.posMax;if(u.src.charCodeAt(u.pos)!==33||u.src.charCodeAt(u.pos+1)!==91)return!1;const h=u.pos+2,d=u.md.helpers.parseLinkLabel(u,u.pos+1,!1);if(d<0)return!1;if(c=d+1,c=b)return!1;for(s=c,i=u.md.helpers.parseLinkDestination(u.src,c,u.posMax),i.ok&&(f=u.md.normalizeLink(i.str),u.md.validateLink(f)?c=i.pos:f=""),s=c;c=b||u.src.charCodeAt(c)!==41)return u.pos=l,!1;c++}else{if(typeof u.env.references>"u")return!1;if(c=0?t=u.src.slice(s,c++):c=d+1):c=d+1,t||(t=u.src.slice(h,d)),o=u.env.references[ou(t)],!o)return u.pos=l,!1;f=o.href,a=o.title}if(!e){n=u.src.slice(h,d);const k=[];u.md.inline.parse(n,u.md,u.env,k);const g=u.push("image","img",0),C=[["src",f],["alt",""]];g.attrs=C,g.children=k,g.content=n,a&&C.push(["title",a])}return u.pos=c,u.posMax=b,!0}const gr=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,Dr=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Cr(u,e){let r=u.pos;if(u.src.charCodeAt(r)!==60)return!1;const n=u.pos,t=u.posMax;for(;;){if(++r>=t)return!1;const o=u.src.charCodeAt(r);if(o===60)return!1;if(o===62)break}const c=u.src.slice(n+1,r);if(Dr.test(c)){const o=u.md.normalizeLink(c);if(!u.md.validateLink(o))return!1;if(!e){const i=u.push("link_open","a",1);i.attrs=[["href",o]],i.markup="autolink",i.info="auto";const a=u.push("text","",0);a.content=u.md.normalizeLinkText(c);const s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=c.length+2,!0}if(gr.test(c)){const o=u.md.normalizeLink("mailto:"+c);if(!u.md.validateLink(o))return!1;if(!e){const i=u.push("link_open","a",1);i.attrs=[["href",o]],i.markup="autolink",i.info="auto";const a=u.push("text","",0);a.content=u.md.normalizeLinkText(c);const s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=c.length+2,!0}return!1}function Er(u){return/^\s]/i.test(u)}function Fr(u){return/^<\/a\s*>/i.test(u)}function Ar(u){const e=u|32;return e>=97&&e<=122}function yr(u,e){if(!u.md.options.html)return!1;const r=u.posMax,n=u.pos;if(u.src.charCodeAt(n)!==60||n+2>=r)return!1;const t=u.src.charCodeAt(n+1);if(t!==33&&t!==63&&t!==47&&!Ar(t))return!1;const c=u.src.slice(n).match(er);if(!c)return!1;if(!e){const o=u.push("html_inline","",0);o.content=c[0],Er(o.content)&&u.linkLevel++,Fr(o.content)&&u.linkLevel--}return u.pos+=c[0].length,!0}const wr=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Sr=/^&([a-z][a-z0-9]{1,31});/i;function vr(u,e){const r=u.pos,n=u.posMax;if(u.src.charCodeAt(r)!==38||r+1>=n)return!1;if(u.src.charCodeAt(r+1)===35){const c=u.src.slice(r).match(wr);if(c){if(!e){const o=c[1][0].toLowerCase()==="x"?parseInt(c[1].slice(1),16):parseInt(c[1],10),i=u.push("text_special","",0);i.content=Au(o)?nu(o):nu(65533),i.markup=c[0],i.info="entity"}return u.pos+=c[0].length,!0}}else{const c=u.src.slice(r).match(Sr);if(c){const o=u0(c[0]);if(o!==c[0]){if(!e){const i=u.push("text_special","",0);i.content=o,i.markup=c[0],i.info="entity"}return u.pos+=c[0].length,!0}}}return!1}function Hu(u){const e={},r=u.length;if(!r)return;let n=0,t=-2;const c=[];for(let o=0;oa;s-=c[s]+1){const l=u[s];if(l.marker===i.marker&&l.open&&l.end<0){let b=!1;if((l.close||i.open)&&(l.length+i.length)%3===0&&(l.length%3!==0||i.length%3!==0)&&(b=!0),!b){const h=s>0&&!u[s-1].open?c[s-1]+1:0;c[o]=o-s+h,c[s]=h,i.open=!1,l.end=o,l.close=!1,f=-1,t=-2;break}}}f!==-1&&(e[i.marker][(i.open?3:0)+(i.length||0)%3]=f)}}function Br(u){const e=u.tokens_meta,r=u.tokens_meta.length;Hu(u.delimiters);for(let n=0;n0&&n++,t[e].type==="text"&&e+1=u.pos)throw new Error("inline rule didn't increment state.pos");break}}else u.pos=u.posMax;o||u.pos++,c[e]=u.pos};uu.prototype.tokenize=function(u){const e=this.ruler.getRules(""),r=e.length,n=u.posMax,t=u.md.options.maxNesting;for(;u.pos=u.pos)throw new Error("inline rule didn't increment state.pos");break}}if(o){if(u.pos>=n)break;continue}u.pending+=u.src[u.pos++]}u.pending&&u.pushPending()};uu.prototype.parse=function(u,e,r,n){const t=new this.State(u,e,r,n);this.tokenize(t);const c=this.ruler2.getRules(""),o=c.length;for(let i=0;i|$))",e.tpl_email_fuzzy="(^|"+r+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}function ku(u){return Array.prototype.slice.call(arguments,1).forEach(function(r){r&&Object.keys(r).forEach(function(n){u[n]=r[n]})}),u}function su(u){return Object.prototype.toString.call(u)}function Ir(u){return su(u)==="[object String]"}function Mr(u){return su(u)==="[object Object]"}function qr(u){return su(u)==="[object RegExp]"}function Vu(u){return su(u)==="[object Function]"}function Rr(u){return u.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const s0={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Lr(u){return Object.keys(u||{}).reduce(function(e,r){return e||s0.hasOwnProperty(r)},!1)}const Pr={"http:":{validate:function(u,e,r){const n=u.slice(e);return r.re.http||(r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")),r.re.http.test(n)?n.match(r.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(u,e,r){const n=u.slice(e);return r.re.no_http||(r.re.no_http=new RegExp("^"+r.re.src_auth+"(?:localhost|(?:(?:"+r.re.src_domain+")\\.)+"+r.re.src_domain_root+")"+r.re.src_port+r.re.src_host_terminator+r.re.src_path,"i")),r.re.no_http.test(n)?e>=3&&u[e-3]===":"||e>=3&&u[e-3]==="/"?0:n.match(r.re.no_http)[0].length:0}},"mailto:":{validate:function(u,e,r){const n=u.slice(e);return r.re.mailto||(r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")),r.re.mailto.test(n)?n.match(r.re.mailto)[0].length:0}}},Or="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",Nr="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function jr(u){u.__index__=-1,u.__text_cache__=""}function $r(u){return function(e,r){const n=e.slice(r);return u.test(n)?n.match(u)[0].length:0}}function Gu(){return function(u,e){e.normalize(u)}}function cu(u){const e=u.re=zr(u.__opts__),r=u.__tlds__.slice();u.onCompile(),u.__tlds_replaced__||r.push(Or),r.push(e.src_xn),e.src_tlds=r.join("|");function n(i){return i.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(n(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(n(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(n(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(n(e.tpl_host_fuzzy_test),"i");const t=[];u.__compiled__={};function c(i,a){throw new Error('(LinkifyIt) Invalid schema "'+i+'": '+a)}Object.keys(u.__schemas__).forEach(function(i){const a=u.__schemas__[i];if(a===null)return;const s={validate:null,link:null};if(u.__compiled__[i]=s,Mr(a)){qr(a.validate)?s.validate=$r(a.validate):Vu(a.validate)?s.validate=a.validate:c(i,a),Vu(a.normalize)?s.normalize=a.normalize:a.normalize?c(i,a):s.normalize=Gu();return}if(Ir(a)){t.push(i);return}c(i,a)}),t.forEach(function(i){u.__compiled__[u.__schemas__[i]]&&(u.__compiled__[i].validate=u.__compiled__[u.__schemas__[i]].validate,u.__compiled__[i].normalize=u.__compiled__[u.__schemas__[i]].normalize)}),u.__compiled__[""]={validate:null,normalize:Gu()};const o=Object.keys(u.__compiled__).filter(function(i){return i.length>0&&u.__compiled__[i]}).map(Rr).join("|");u.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","i"),u.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","ig"),u.re.schema_at_start=RegExp("^"+u.re.schema_search.source,"i"),u.re.pretest=RegExp("("+u.re.schema_test.source+")|("+u.re.host_fuzzy_test.source+")|@","i"),jr(u)}function Ur(u,e){const r=u.__index__,n=u.__last_index__,t=u.__text_cache__.slice(r,n);this.schema=u.__schema__.toLowerCase(),this.index=r+e,this.lastIndex=n+e,this.raw=t,this.text=t,this.url=t}function gu(u,e){const r=new Ur(u,e);return u.__compiled__[r.schema].normalize(r,u),r}function S(u,e){if(!(this instanceof S))return new S(u,e);e||Lr(u)&&(e=u,u={}),this.__opts__=ku({},s0,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=ku({},Pr,u),this.__compiled__={},this.__tlds__=Nr,this.__tlds_replaced__=!1,this.re={},cu(this)}S.prototype.add=function(e,r){return this.__schemas__[e]=r,cu(this),this};S.prototype.set=function(e){return this.__opts__=ku(this.__opts__,e),this};S.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let r,n,t,c,o,i,a,s,f;if(this.re.schema_test.test(e)){for(a=this.re.schema_search,a.lastIndex=0;(r=a.exec(e))!==null;)if(c=this.testSchemaAt(e,r[2],a.lastIndex),c){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+c;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(s=e.search(this.re.host_fuzzy_test),s>=0&&(this.__index__<0||s=0&&(t=e.match(this.re.email_fuzzy))!==null&&(o=t.index+t[1].length,i=t.index+t[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=i))),this.__index__>=0};S.prototype.pretest=function(e){return this.re.pretest.test(e)};S.prototype.testSchemaAt=function(e,r,n){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,n,this):0};S.prototype.match=function(e){const r=[];let n=0;this.__index__>=0&&this.__text_cache__===e&&(r.push(gu(this,n)),n=this.__last_index__);let t=n?e.slice(n):e;for(;this.test(t);)r.push(gu(this,n)),t=t.slice(this.__last_index__),n+=this.__last_index__;return r.length?r:null};S.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;const r=this.re.schema_at_start.exec(e);if(!r)return null;const n=this.testSchemaAt(e,r[2],r[0].length);return n?(this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+n,gu(this,0)):null};S.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,t,c){return n!==c[t-1]}).reverse(),cu(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,cu(this),this)};S.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};S.prototype.onCompile=function(){};const U=2147483647,z=36,Su=1,X=26,Zr=38,Hr=700,f0=72,l0=128,d0="-",Vr=/^xn--/,Gr=/[^\0-\x7F]/,Wr=/[\x2E\u3002\uFF0E\uFF61]/g,Jr={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},xu=z-Su,I=Math.floor,_u=String.fromCharCode;function L(u){throw new RangeError(Jr[u])}function Qr(u,e){const r=[];let n=u.length;for(;n--;)r[n]=e(u[n]);return r}function h0(u,e){const r=u.split("@");let n="";r.length>1&&(n=r[0]+"@",u=r[1]),u=u.replace(Wr,".");const t=u.split("."),c=Qr(t,e).join(".");return n+c}function b0(u){const e=[];let r=0;const n=u.length;for(;r=55296&&t<=56319&&rString.fromCodePoint(...u),Yr=function(u){return u>=48&&u<58?26+(u-48):u>=65&&u<91?u-65:u>=97&&u<123?u-97:z},Wu=function(u,e){return u+22+75*(u<26)-((e!=0)<<5)},p0=function(u,e,r){let n=0;for(u=r?I(u/Hr):u>>1,u+=I(u/e);u>xu*X>>1;n+=z)u=I(u/xu);return I(n+(xu+1)*u/(u+Zr))},x0=function(u){const e=[],r=u.length;let n=0,t=l0,c=f0,o=u.lastIndexOf(d0);o<0&&(o=0);for(let i=0;i=128&&L("not-basic"),e.push(u.charCodeAt(i));for(let i=o>0?o+1:0;i=r&&L("invalid-input");const b=Yr(u.charCodeAt(i++));b>=z&&L("invalid-input"),b>I((U-n)/f)&&L("overflow"),n+=b*f;const h=l<=c?Su:l>=c+X?X:l-c;if(bI(U/d)&&L("overflow"),f*=d}const s=e.length+1;c=p0(n-a,s,a==0),I(n/s)>U-t&&L("overflow"),t+=I(n/s),n%=s,e.splice(n++,0,t)}return String.fromCodePoint(...e)},_0=function(u){const e=[];u=b0(u);const r=u.length;let n=l0,t=0,c=f0;for(const a of u)a<128&&e.push(_u(a));const o=e.length;let i=o;for(o&&e.push(d0);i=n&&fI((U-t)/s)&&L("overflow"),t+=(a-n)*s,n=a;for(const f of u)if(fU&&L("overflow"),f===n){let l=t;for(let b=z;;b+=z){const h=b<=c?Su:b>=c+X?X:b-c;if(l=0))try{e.hostname=m0.toASCII(e.hostname)}catch{}return Y(Du(e))}function st(u){const e=Cu(u,!0);if(e.hostname&&(!e.protocol||k0.indexOf(e.protocol)>=0))try{e.hostname=m0.toUnicode(e.hostname)}catch{}return Z(Du(e),Z.defaultChars+"%")}function B(u,e){if(!(this instanceof B))return new B(u,e);e||Fu(u)||(e=u||{},u="default"),this.inline=new uu,this.block=new au,this.core=new yu,this.renderer=new V,this.linkify=new S,this.validateLink=ot,this.normalizeLink=at,this.normalizeLinkText=st,this.utils=le,this.helpers=iu({},pe),this.options={},this.configure(u),e&&this.set(e)}B.prototype.set=function(u){return iu(this.options,u),this};B.prototype.configure=function(u){const e=this;if(Fu(u)){const r=u;if(u=nt[r],!u)throw new Error('Wrong `markdown-it` preset "'+r+'", check name')}if(!u)throw new Error("Wrong `markdown-it` preset, can't be empty");return u.options&&e.set(u.options),u.components&&Object.keys(u.components).forEach(function(r){u.components[r].rules&&e[r].ruler.enableOnly(u.components[r].rules),u.components[r].rules2&&e[r].ruler2.enableOnly(u.components[r].rules2)}),this};B.prototype.enable=function(u,e){let r=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(t){r=r.concat(this[t].ruler.enable(u,!0))},this),r=r.concat(this.inline.ruler2.enable(u,!0));const n=u.filter(function(t){return r.indexOf(t)<0});if(n.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this};B.prototype.disable=function(u,e){let r=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(t){r=r.concat(this[t].ruler.disable(u,!0))},this),r=r.concat(this.inline.ruler2.disable(u,!0));const n=u.filter(function(t){return r.indexOf(t)<0});if(n.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this};B.prototype.use=function(u){const e=[this].concat(Array.prototype.slice.call(arguments,1));return u.apply(u,e),this};B.prototype.parse=function(u,e){if(typeof u!="string")throw new Error("Input data should be a String");const r=new this.core.State(u,this,e);return this.core.process(r),r.tokens};B.prototype.render=function(u,e){return e=e||{},this.renderer.render(this.parse(u,e),this.options,e)};B.prototype.parseInline=function(u,e){const r=new this.core.State(u,this,e);return r.inlineMode=!0,this.core.process(r),r.tokens};B.prototype.renderInline=function(u,e){return e=e||{},this.renderer.render(this.parseInline(u,e),this.options,e)};export{B as M,ft as _}; diff --git a/ui/dist/assets/useDocs-EWsD7rBb.js b/ui/dist/assets/useDocs-EWsD7rBb.js deleted file mode 100644 index 44ae5e3..0000000 --- a/ui/dist/assets/useDocs-EWsD7rBb.js +++ /dev/null @@ -1 +0,0 @@ -import{m as o,n as r,q as s}from"./index-DEeQUcqL.js";function a(n){return o({queryKey:s.docs(n),queryFn:async()=>{const e=await r(`/api/documents?project=${encodeURIComponent(n)}`);return Array.isArray(e)?e:[]}})}function t(n,e){return o({queryKey:s.doc(n,e??""),enabled:!!e,queryFn:()=>r(`/api/documents/${encodeURIComponent(e)}?project=${encodeURIComponent(n)}`)})}export{t as a,a as u}; diff --git a/ui/dist/favicon.svg b/ui/dist/favicon.svg deleted file mode 100644 index 35ef5b1..0000000 --- a/ui/dist/favicon.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/ui/dist/fonts/Geist-400.woff2 b/ui/dist/fonts/Geist-400.woff2 deleted file mode 100644 index 3eb6a71182069bf820a3cb1909cdee101be97dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45228 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 I6Bl;^0J1+2L;wH) diff --git a/ui/dist/fonts/Geist-500.woff2 b/ui/dist/fonts/Geist-500.woff2 deleted file mode 100644 index 76d44dafad237c31d4b3e14be8b3b1f7a25a3722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46464 zcmV)6K*+y$Pew8T0RR910JVSs5&!@I0rIQ>0JRhV0nE(+00000000000000000000 z0000Qf?^wirWzcnDh6NxkpKvRBng}h5eN!|+gOC0D*-kFBmkp#u$?!Mnd1BGrwfXlN@Qj3lR;8B(##m zl^ZNtDs(9~sDWqrH)I@j+Z@XIHc_t6rHvzW;h8E)^(XuVB`()q)>`hVD(({A>b1=O z;5q!J5eCUor*7fYsej4b3~(K4`ER4dtkwahuGGDN?es=(U`9J_UO$mDtiC?Rv6i9K z8+Ev-q&^jSyVqg9F@MH?=MeBVoUqB$w*LQ89VS9iy#g$iFwd;8EuCqA;k}2W1a;n*2VxoKq)V zR?7gYq{WViKIcDVVn(|wr1)=u6DZ*`Xho0_w(lh^pX;ttg>|#YK8hhQNNegv;W_d zXVjq)1_v%C6{AyV6on1R2s93*qW@`2*A7;M3OwZ-a06u6kd6{wUr0YF`PMG#E6R+z z>S@jV)Bm1l+h^w9_dbhSNOU4JgU!&a$zn7|(dWn7?vfkwHvStfsS-M=K#1a%Os#}; zP{6fz1dse0sJ}W2AiyG>@6YUkz$mZ`0^5@5A?Tq3K;5UJPE#aZ^NTWW3Mhbx-Ja}- zup4m55yzHV!5=iKGYhMip}6Hb|F#re&}A>Iz&t&39d_XJj;#PG4mq+yiVOkI|6Kd4 zTSde|Bk?X&)FRiKh|kYwC(29^_#WnV6T6|7pe`X^VkMLIpN*wHLIm_;XryC~XUEos zoKG12Ksne`?J)44Klp7sk0bh+h(-_w(jBy`vWG=7R7O}c2cmkR{I+|iKmfp`n|Y}F zFc$IA-*o4~lZRj_`2RYs5O&66^pS`Hgpi01IBtl4_wK5>s=B7$vYF?@vs5#c5|+G4 z+L{i5XGXR+$p7}$`>ww}2Z;<&o0>nzrQ<4=l!BU)l%Dz%@9m$9QVcU5AZ&}$5P0Zz z-v(A=ecQ~!GSh4lAw|s?`GdBpSV9W+JwH9vC24e$nAUL_HalocJQ?Ncn}o9e|`?&a1cj zVHdm4y=QKB-|oRo_Y63JpdbuDAxRhm++UI42c3#>$@76zVw;!HrKef5M5?yg4GrlBT$cp>LOSZg)4=M^( ziF~I*R!CLiA64cG|ELm8(1&TYseV9;lFswBOaH?J!^Pa1N!p3%0Pp{%mUO=U{KzZa z?%ti0QX1fPknYgD93!?gKi{%6yZyRTN~M<5#&(M1BTA_-r~w?DPDmIJG2=)d2m|Z_ znh4JCGj%QU%_nLh7bQ)9D-+93p4r(|8V6ZRKAd6)x$>DLnUE?v9u-AR&7sY#9c><% ztIrn|Vpq<}=RaxBj^%Se_LIVQyc=8xkc#>lvv*&oBZQCx>Zq8BO=Cl##2?V(~wLrYn3iCb^kmzV5q|JQ`=~ErBy6cA2+ZRaRh5^Vd%mHMs^FbE72xK!8Kz6qX z^2AX?o-#(r)5i*V*7zVNPYdLKW(acO)IjlBHWc6GLJ3$Ql%SPDS-mPKWt&F8MTa8i zz@3jk2s-by_Nn$h*8xF->=H8WeM)q_-N{J(I0%5DfGGhp!{BUOE6CYvM*~66fpx8W zJu7SqhL*C@J3~*!ia0s9GUM&+rU@Z{$+2)pZ2PA+6@q_u=E3V1!~P|P2;}15gCijD zUamF;f*)z){)XV^^DJzx+dwwf(+e>h7xh{ME10f~j8Fs`3BW6$HIYia`7D1x;*r+<$MH-D0{>H ze6+sKs$*bdy!iu>+t|r?yb3WOCd)$RCC7tPJ0n98vlCrKi_^=YoE~tSL=-ofv8<0w zfNrPN>kH@SLBdoOEs}d4?oOnKh%QA&kO24MX`>}lCWbW+1{{aBzq;dOEqh~O$sbKS z@iRM#5fC($+F88EZP8K#_DE8E0z=FxZ00D7YE6_6zSfu?7zWz`*TYI}_T{x(_0Eg2 zk{F5oi+%<(&>S4KhwG4(-VI3lzPb3}?_FSWCkafHt1Ok-YpY7#ek>%2=m)hX>4K(7 zs6dp>C`*Yy_OHHLbZr(JgJ?x!bJN?2k&qc%66dzo&@4K?%(RDI8KSpujqSY5iXAVB zXfX|*9bd1~wX1+S<8#sM8$6&|7AaL3OQAhR`-swI;$LFej=yHVQx=l73L) zc2vYOfZCW=$C;u?EZwaiB{-%W;~*N^KBgP>;5b8Osm0|K88epMO=Ku=2_u4%P@ORw zDWYhZmowmJHt2RwZh39dZ`G}TTg`_;u-=P(nCA!7A3(R#0=*@T#rGCdJ(b81hC9%Tt zjPXm=NHQXFUUQ)q}I4x&R|87 zNg&;PWCuY+i}q?wWm95qD|XPHx-An0wdf84E2?O-Y;_j%;Y?ljO_oEb^pTj~);Ov)*$n1U;+NNXqv z!oqLtMf~NKTk%e}os~gl?lfps46G$2_>8lfJZJtel;SV35C!+afzB&485Ekjrek}> zZ>vhSt_LW!u;0|{sN+Tk48t-mu3@hx@z&K@*K81&m+^zW|J#C;450xW)7R!4WFb!* z8aNv6f{^6Ysv5({s$VxT=&q`L#j~<;D_9y8BYWB6RS3!O(DEJvrCP{>E-*Iwb)Tpa z>#aAjg7gz$NXX?$Gt}zjASloX@6@)uLUohJzS>80b^xy^AUC&aMnrg))!L?wg}r6a zld(672jixjHya4Xc1>jaZIgo}?75gw5P5LH7?}2>rR4`eJ!}#8MplLynMb0-2(}TL zE(Hz?QihbY168B-BVKT>7^aD;Sf;~TmZ@WL4`v$aUIM~{ zv>AzJfANIIKj@`uMnS+Sz75F2=N?3*xT*qMDR^fMino!_FzRa`5cBzBMCd2!ZM4-l ze^9HqNit!h97tEx+%T}$~krO)l3U{fEwMrx1W%mAF^xUm`0@bu+3%iAoRYs+a92{=4Vn1f~KS{`26R{HI#b^$E)Qi)Ij|9YHw{a8* zl*16PECd2~@(d@&ZsLGju7Ye^N3vNO6CFR?{>H7*;8!QU1sHo9hpC{a4sn+U zJi0vDJ|3~cI$LZ5g6!(yRL2h;S^u@(x(Q@Q(V2As&BWQ;o1ph+D1te5aZ4Ddvcb0U zvQ;VZgLqya^LF0%L!bh3;4sLyksW)7NGvh><6uDx+u`Sne<(%=7~3n1$BdXA^I~DU zB=Gr$3LZGIJIN=~wH|%dq8I5AU8}s-7k%9~>lqvEhK`6?#v=m8yaWEiNB9EY;g`%` z^|6yq^qUHFV<={HCrw6$3+fH$pSOsgLn6SKh!6?bNG2LZb}?10nw{qw*%yyUaET-u z?(wqluDKBrO-D%St?roL&6;Q@9%IOvM63(BQ|2=A25BSODU2A!9I%k_NFqei5w&?XE36@fRr@8mpFJV9k@i?wnJTash|0OG zM1(NKMO6PYed5xY1ChY&ff;jTrgNtXW1d)|vzYOUSRX&_B#?v;$>S&p6FZvoT&^~W zymr5y&d#e90Nh>f6V5~GiQoy(h@^o=X7Gl$%;r7AY%B!sPp*}6V6CFGuuZ9suw7eq zjY{42E-!T7M>MM5=e$;sH9Zh9kUnjJyy@704|PD8-dL>JD3-B_ zCy;m7S-kf)*aG>OLw6v`JEOga&Id}+P{|?rJP)v$h zvDBHtdaX9uA_uI4;V=E4KS_o#m~D^G&b$Ia_Vk|haIMK|O?oC>f_#z1p7$<$V+^Dl zWBHOil$oc#6_vh_6+-u(>Y{A}+hB5SES@cxA= z8R!~Nm_8Zp;&aZ4xyU1QSOJ@rScTPMjpue4EQaY~uJ}t}6;_Kip6M_Zk}`mSfq{X6 zfse*uteu8Q%fmTEu-|H+qF!}=Tk8!EL~{vzQD_JML~i|!9)4djy}uaB>L1_F>zPsV zdhu9gz06Y!Z~bpL?RWZI2Y3)zD-Fw#SG~pvBoJN{IdbO8U8p71RbNAmDN?0QlQv!Y3>mxCt6uk}PxaJWUtjyykNO)3 z<)P^Nxx+sP=!)-b%D0 zRa+H4crty%4sBF^{iqG`8-8LV{e7|TeIcafbTCuY&V{K7yV4chD5vfvG&EdN6-@E%anv!#z3GILPC4z2v(7p1f{U(t z&-*^`p^w~j%jdrLgM0bkAYx!*;gC|$aBy-7>eQG1Gey|QS+Z=!s=R`t5(uHt7%UD? zAd<)wDxJY(!E6rKrY+lc?Ao*Mz@a0@PMkV(?!u)j*KXXp+W-In00000(M>Kpu)Xp* z4-vd1nT}F|k}Y}fJc44wRK8N^5E-elsn~lAgs!3XAQBmND}`Q(#pPC^nn0_-d2g11 z3hZhJLz3bl3opGeJ&`ABAtJFbif*3kpLZgjlzQHZmfF^jNZ>8`*z~4YwU)>UUL!uU zfaMh3T$=NMa0`nu;8{M9Pt?7~QM(LDu?^LeoEhUP)KbSIn`-45jddNuX4mr!gl$12 zadPK%G`Sk?q^}`;2xi2`(2l-4leSipabX4h7%{PH&^>+&zb>O7ZZ4xLaBL8bV&5@6 zn$zS~o2Pz=Z<>6*iz3sdQkLaWV2PD4ft!`0;y1OreI-@F+lJ3_7mYPN?CS>+1q8QM z`c8yk0l}$F1;d)9p^ztCHKxK*a^_%ew0)3!g=Uy%p(`zJpJi@yk9#_7tGwr{1lAD@ z9vfB0FjgSC;_XV8H#t!%YVn@+zVNH@SRb?DNdIs_^z~p5T9VE!v*PY-MLnrQ zZTV{4gPx{7a~NNge@nX^Y&uy+8dh1|Y}H~*?tk{RN=h$FXoS6b>E6^1xz8l8rhN6= zJ?Kddy{@(PSHku5O)`%9AKQn};qS-@D*_0AS_-iyZ4p(xLxcumXhU(0>;K3-Q!zA7&~P97xZ{)`;! z{9+WX7&ypyoQbCZ4p9-JMI(e2ye^k5}|GcTx-=rn)9->D2Ff@}Q6 z^n1&0e@o-2U_kI-+vNA;YRDZHMI+;HCdxoj5H#Gb1Kv*X+C2C8YdwOsN7~cfv+oL} z%KZ(K50DQXtHCxcxAM%+WWX}BjRTs9_QA*jf?jE{qv%R)1r5esg~ z+cx8#?B|#G9AwDpeK1k}tn5_DGOtN$qr*0}EnQWLRNH-q$j^y}jcCSrp&DnFD$yps z5PR1Q01W9J7fqe>iZ}P^qn`Q|#PtuMj0>r>vh?aS4OmMTW3bo;YB5QtmnchCRA#EW zbnlgnoPv^ynueB+o`I2xnT1tmYn! zh`t6Lg+Pd|M zYg&Dm>gzx6(r@+F{|M<%Y!7lg#1jE~QkBwFt6eM{vOOA3qf!I{#v;8vkg zGw#8-QK!m;$$A96F6 z#+h{QA;JiS(_k~LGzbydwl>`yqH|>-$d*I7aw$(f6A0getGF;u-gH89MtpS zDOZ6*rBh5)I|p@{PF-%OL(~~d=Yg1LG#2p~CQ1#X!o)1Oc1SM+#oHfc9jmllZN z9nooJM$KWeNc~?w;#VeM36zUrc`60VOlXiC)re7e5kYbn4ddwIqRB4{tQlF+G&38d zS=nLD&W)z%{IC)WKuRitTT3H!v?K+lR;9#mDkG*!!w8y=VBAb3nzrUgs$#9ax%Gw$ zeaQY{c%%ePRN!!m&h#wi+#JELBjnP`5kYoeUXRtW7Oiufs(Zb8KirP=%iT8pHf`ST z8(Ud6*vu29kQj@8hTgY0#*j9GNms=>>!1R^MnJO}p zaT}44V2FuCN*6{JWoJ8ZawxZeiHbakOPI8j%F3Cdf+{Ors;Z@?hH7gabahN$FAR;$ z+`_D_E^Tcd?Cs3aMcq9N2snCs(X@#L2JD+RI|K)5Xh?>K9U@!MIx5??ImE_9`wn#O zq+PpM&mP&kSMA$R2M%KBkmK-Sz9f*wVvolYJdyIrj7{b8D+O3qdc3@%D{5>Xtc$Ay zCA6ytIy6dj!GUgixn9kTZ@TUEW3>ht9Skxn4Y2~l>=M5W0>2H*jgU`aH?&D9OD_@VlG|m+`Bt^C9U=^Yren!Ht8^! zMhFvh1O#*t65=2-ngI%hz>FC)Qc?uw%$bpKrlV2Xg4I^T_&UnO&jgr>ojL@W1j_{T z-lote!c+npI_*poNq`d=nI;R;A$zV=j!#yv<->8j|8Bsf%vQ#>*@dYTeYj2-(XHkfOx^UaelLZ#Dwr zNfyA?7r^EU92+EAmSNZvjU*5@?qM)FfWepIK_EQp5-~*y9KDV7i%RtA!u9&L8OPDq zx8MW>9XlHs@NSwtOv7;Kin7~ixWk9+?~M8q$iXrsS`3vT))^H>=o3PbPY^gI9p43V zf+0tZaHb5W%3ztwU|B*zf^^2=fF>Ef5BhruHVK6#WAMZoC){yE1qFo(5;fVvC~&|- z%|Rl^1c{ogV4YSY*2u9|m;H~cnv5zbsxm5bhy^k%uwgXzIAV#eGw(y^C3t-MG(g-1 zCt~dL`r_XE?R5qS$-r(De&&DR7yRdT#{B2u&b80onQAcj^7BCYHRZ0L<7YuX{NK!W zd`>-czZD{P{=x|U^0u+Kx*d(KsJODtezM9P@-qPoh$&Z8#FKt0bsB{uDJ$X%+Of}d zdC*#UO@P*oq4SudOlKcgS;HgFlDl$wI`5HQ0XK+d3%fcG+nB_Sm#V7}w%4hmi*wvR ziz=39>Jb!rKYl0;?#*+X51vIgd}a9zWWv8lW#Z_hbdP1VGwg40EL z=|Y;!YoOn18Orn6r-0hyy`F;a(;w6CS@^tH;Q-BS%b?~djhj@avfh^ADlABT-YtMt`0ORtx&3)hhTnkx)aRA5=&cr%%a)B<_0;{Sw zE{|=;Z;R0=K2`B9xZDY>Z+2#4{5KNNSdrej@dhwGg>RYGCKU}v8u<9GuyA@I-{4yY zlm}njw%3HI?n>LR=VUG3d$(UjDa2M4yT)zf=s}|ZqcZ9ZKZJ7We?LGKzdSRIaso(d zy>wS;ad~O03Ga?cgK#f|i05s#6dAJ1=Lf}xHn2h@CO3|R+27dQ@FF7aaEppV$$zr8 zdIwJ~S{8kjq{*^TI4LPuu%DS31MlFjHLM*fap&=fJmCLPr#x=8&%O`x4=04so>qC5gs# z0g14@$NpYA++ki5xoAta35e%Av-r`91);SwsN;9WWcH z_V0T69YY8lbL5-1r=&Bpv7*^o5q}(VLM7UwJvywDI;U%@v(9=y+F-LEt5i?t)bAg8 z&^_3r6sv|rz#yPt;Na7u%ZC)W&B~Fx=WnFHV`>lVjHu5nPreWP?q0>Axjjtv*UHYD zxgt5s@@+XUKRofLO|`kbjyKj=?;nrCSEujE59hov4@B5s2=^y7J|leQBN0yo0!l<8 zg-8U*-qR`0uu7|NVTtB#mE_YS&$HuihUY zd0k!0Zr9y?-#=`+|Kokeo(6!R0KyC)i~&Ll5G(+p2O!u0LKi@A0m29%BmiN!&>+kg z5`=6aKv=AL5SFVJgw?7BAzzgstXDY*#VQ41vx-3|0fGk*e1I4YFn|DzsZj_2!q~D0 z1QP;6Kn;e3h7L@i6o&x)onc=b8$CGa!)1WS5T6m_%6k_vB{m9b`_OJ`q2o6(2s%+F zP=qNqgd(FWzeQ4WZm9~ZsQ)fJPV>1duGVrlUpRjxpr#GtrOI zBKXsSMLz2ABJG2>=6(IPy*nysRI7=ITsPeDL+6H@Zn^D_Is~XaP6Vjdym_7Uoo_P` zyt02y+^Imjn-K$tUAmlD)bFGDUT?Z^OL$VCY3Iw^xQ+c3hPB6ae!o#uirsiNjE3_F9?7G4G>_r2 zJdVfn_~2#}Jln= z3%UhMov=dIRaEZZu&b}-<#;+*BT1XMMym@@*>HzleN8T_U|cH6+KNGX9f*qK{CM>t z9;${huP~B*Rk!QZ9IP*^4nc0cTZ}>j-Erw;=_&K}xyEjb_T6z zO&i+M4(*cNiZ|`g9ozlQlRh_3-HkpUo@b}=CZDfP+vzxcr~hitvx{kYcl36kacKNH zzb>t-YebE$Nj0PX?E%^;m%IL(yti-tZMq+C(OrHeS9J~71~=>lJAmAC--F*d*!Zz0 zo_glF7hZ1En^FE>QJ%#g?$ucm%@`1h zdatX9nWs6!Shw-FOxyse9@oAs& zS)cRy@(cKp_}TV|K`djHxcN4)!3}MABUzHAS(fElQ60D3@vush$qj+r|3tp@w0odV z$vRPYcsarPG!ne9{qy0Bil};f?Sp&BXl22wJ=TN(-nEY3^bS%Sf+TG8{sopy7_bDY zd}7kPkr(Ec?n#JK7G(RNz>A^((5s^U63nr$-WGhf* zX@390bJH0KdT1Kc%!(@Z?t{Jh8J(BB_A%B{+|!tJq!V&73lkM zp>-C|NRvUZ!ypa83Adr^< z3~oYsS7G&7U}(J84){hdI$wOprr!|mp361(FhuecxA!{TWH-q2PQscGHdoG=J6>ci z`7oD#nJa$mwpHA|jypDS*Dmhf$32I*_Zat`;(<#%c#Vf2@yIhCeTm0j?f0yc zvFzrroMZJU_W>Rz2*Bgbiy6*`@#n{kmcp^~_sfnuw?D=G=ig%a?XP&~{$CnIAfWYF z(kh3vJ(04;qis*6tqWM&GZ`Bq-u7J9rbM*8kh3L|Z7=0*Tcp|=6zo`{yZV=6nSp?= z>Om_k3>LQT=Kkb(?=zoM03UtQu0y9T-Fo!;;;V1I>o;J~P%>deb)Ng%=KM5+is}Hw zR5T`{z5LzWdl}1x+bHsed9xY#m z%L-goXT5u!wtK)k{HA-S$DZ2l1+-5C?{^X$D26Cs=z}9Iu_t^ro$`IKiUl#Dx<+p^ zcj767yYW@Wy=(-hIa>+5EjXE>LQ)t`Q_RmY6wTE@%NwYbofEY>&?Kg`Gqjt|S(+`> zY-+TNJ56+HXSnwwdKW>ru39&xt+FJEWF zePe$gT236f+U)U+?O+8z+rb?7^S|MsDc`SLXqKCIIrUo;q%2fT0+gONst{5>A&@OG zS7kHvSjZysQ658as?x+U?ERl4PkCv)yaRB8WU5;$u+7Q8sdxL35BrFZ`k0Tq!j(SZ z3%=+}zU(W$>TAC4+HUBx+CL0v0p=f#e}OeGxX{9jtYxi>s@FZ}L|nyJjSqyD_apDX zsA+xDebA%hJB%|3nJOYuO?+xnHWg#CQl4;5t^~pl1YBNi7)ay3H1)}mx!t4jxjx(5 z{NQFXbR)+EeIj7+s0ir!0z>=}5gIXh>%pPn56IBSq=A;gAp%wgdfDcJV&K4oA^0$Y zC9Dv~@u9$_jKSj*lMe59G{DEqHo$WD=CuJ;Ox8QR7%nUS;cvZ9YhLmVhFa9`D$)J_ zCr~XMgaXb4;2zHdro;j;Kmd9WARw}n@^|wmh3KTS=b=Dly#*Ih42hCA)aoobiuOFt z`JAcUJiRl%;(NUriFQGI#Wd!T$2~i9ELT#y`%hGvSDuycb3WjOUguk1ZLM}z2dmT7 z`Ra02`yRjl-~0FZ^?r?;+)T1!gWLFvf>9z$LP;r0%9?VZoG4GqFVZ77)`UNT5sT(X z#WnUflbTKCY;Gq@KVwYr8-5a&Hqs%|;Zl)QBDImaN&_`laV4>Il#!FSrj*z6RzAwd z_OvQEAsi+>@-#@_BM!inIN%Ai`<$$wkRpqnB$cx}wHN7GZ6nz7{b^hvnnHE(^2+J~ zIZ0JnQ7hi@oZyL_HHSRZah~u=p7hT$_SMz2*D0o<9;n8{3UL9Js|6P(e;qTGrUP`(DQDfr- zRjoDExoh-UI#ijW+-B7XY993O&jvPqbcsPVZ~2zpVv5 z${+jc^4-?W-O%+d0-uZm_;?5K@oVoMzN>q8=UquQWlpwcE%YN?&w{&+vaWAkK469+qYl$*Zu*3+XqMkY>FfSs)4uredp%6&6`$T z0~dB3{q*r^)g{ZB7aV(7^|+7VWiEP5e>~kQ^B?QGp2eo>Fnpi*+Xm15rQ!DJKTvOC zr>tr<|5DZwgpdeD#+93K)Ix-dFkO_nvgOKCV1**P?Qu}K%B>q7SbZXDp~O}1{q!r0 z=t!VEm8nt~;YAW%4DqsN&ylC*T3S+F%2c6N8a6sVdg!*kt7qdU8E4Ybk zA0c<<5l#QCY1h0oPX4mG8ts~y>$=t5`ltvV3=0!n#so%jV8M#531j~?dFEzIHczxn ziJL-(QfsYK;*gvIzH8HE$XA1gjp(FBh>7%(jjC0nT7i)|Mf?PrldUpS9kte0tXJCA za(w*=J}@%C)NhhNFhy}7_J>&uK-xl31;eg1oXWy7D0o(gd--@(%$SN8Uj;suGbt27 zH4q$!>x|3r-X45baubhmT+jfdsHPG#rMFEEV z39&AUnM)HNCKf*mC&w7)-@T2Umk^(tNr`|`&B_Fo3-y~ZJ>jK7Sfz+6EvmJu5ml>A zotS#<5IQyJg47MAC+2xq!hsa_R&Rfe418ng2VJ`9(ThVLeZFARgXAMR?R5BzK?fS2 z*q4rDnK+k?yv3j>32aIRWhr1?B1{ZHVD%&=_jgJ$3B@HApF~1Zv5Cx2EiJ9|bpA;% zHI4OMw4uv3R%~;nwp32l#ZjEGP^aF(Tx%gaG}`E?AoQ?KpBhWcjQ%D@1-3eNjCEyde*mnZgbV(^G-BVEj+ zuyefkTiPZ%urtse6&%nL${~rSE~`NU{t2k_&vv8J?2US~hu%`T4uAPdY0~#T`Tl0l z8(}FgpQ|ok6&aewh8q9r?^#eW+i8G@+{v9_L- z(-K?ONDvj-X&h3htua${`YD^H^hPvYt0a+Z(El~^;jmNZ4IgR~hw4SGj_Ky!H;$>2 zXfdX=Ob7J1*h14dC~L8v_y z;x6}Ar0*kF1XMmax$Fe>K9hdgE}QndR<4{9#taL@c9DlNWsidf(a!XuruwA*W|@Jr zbV(9-EmeK<07aG@e)SBKLyz5M{@6)0#UUJw)+S`WxL7#noQF6VS#vxV{2iNjb(sk= z28)Iby+s&V0%J?T#L|#j1~SV+ZaGj`E=(=&j2%eT*GXI6fAxZr{Ol>%_^Np~r9El; z&D?8Wwf#L|GZY+$iz8&+y9ZEQYs}nC$yCgOSu!hT&1{%0W}8v1z7JH5l^jeD92InA zD?9aRadh_EYyJ=gD_X0&T1OR+1Ox2JVTmg;sK;kI#&L4Y-wfyO$YE={6py;u=yK2B zR|n-u*(6}sPk|>!51yfbB@Xkel3_+P?W#z20pRmOR`RJXyZMBi0~H3Qmx)KlD34vB zyjs0Z>oQxO%$l{w*2p3&((a2n}On%uOL0a)OczC9gz*@Q5t^xMJF>&%Ut=d^T{_fXEef zYS{@UqGCL{P>d>dZb8azwV)DhXvWehcS8ponUcwI&>XrmH>Y}#B_-_jg}=3 z#pFqVgg4zx^>Spp_A?XQ9 z^ix$S<-Y|p8`MwC&$M@FA71IvAwu9FLIp%l5tH;HaS*8jGR~n{>`2*+oJ8dFKtUG8 z0coHl5#>Bkk!#ibaGjb)qOO33Q#48X&~gxM1$3O;H3>)dv?uy`U?B4lG+-nV<2*2t zkDemStUaC)b-GPv4zIQ-@iKxxFASH54z^kmxF*!*j4X|?)fViuRqdg83kQCyj)Xc9 z<#`HixM&-$+J>99;m)8QgnAO?3ql9p+JTRD;Hw?@F{nSGkp3b*@f-iGQLQsQEA3{h z2L=zlSYuV)aBsIywO5ai)c+1@Im#deD#Z=}c@aQ+0q|a6svm%vegP)C4;X#|;E?yA zfyWwvtW78kvSOx+rZAzT_S)BU0$F~NaTwRzU7-uH#O6X+bbg>e@HAvtMpE*L7 ztr3EyZF59-gN;Sf@RpGAh=OukouDc<28w4BU`R0NTR8JnsYQkir&HjG9j7eka&eVFCQb1(2$c9%TDLo|Ib3*B6(>fK%`Q9&;Q7gJo#zf-&3hEG=SPWB3+;HDr z9}97ApfO~{W|Qum3T6d!jQGJLE=z2!5Rf+gxuKv~LB1S)MqVyKPmELg@T9E*4F}1Y zyIZ7~deR%H!eL0-=tw(VuSWx9-4t0=*6Z3qYpspkgcr!FL2}F8DJE+m(lHBeKGZ^I zn{SJ5kc}&d5i{~kcVl-$TwYSOo&&S@I2oBe`ohniDxdo}`DQ+nIJcdBMP)-qG>lrn ze&XVssyR<(B&PEWi9v)p(HtGoj5ZYb+;9R8xZS2Pu2!-$1m=*zU3DFHn+&KXoy_h) z@HA%CKd%t&y&YS)WpOi;G-4pty2n>cv#_%*%WpVd)KV9o<$M~0vSx+tSRh{W<8U~J zR6<2n9X4sOg!QL~pvI-bl7zu@N;DWY5u>{my2P@uWnD?tdMoG}%o!Myvk?#a+g7&2 zp2u0~u=9u!8cJy05W{Wl1h%)R-=kBmco-yvkH6pv2q) zW`8`$QytB6u!W_-md!o=&Q27Zq#&==cm#E349Lv0yl4bTCPPvldYx`Z>9t!=9T{xg zG`Yr$+fqTb(NT{pbkc&e+2jy9{|ij!5qcx(9kUp{&Q7Z$#IaS00rfQoG3j{YEef&D z1g8)SjPOmNg_$wmtHEe2bs)!oDlD(okC#ibQW$%0J0Sa>4KC_l;IJ4o zbaJ}3G^VfZK|j{cH#iVCw7OXOk*kQYCe;pta6L>}=va1}^HIpnp1RV5dERF@R&{d! zyI(n)(n+~aF@>V{`4;^wO3<2~HOZ=?8}Ch?ZNAQ)!UYT&Yq&J4bf74O7fHr|QL=GN zeQRX|{dN2fudiWAR+f-!^fIcR)D`UU#SOS|>}ljFCkBO%+e*;bWgpxS^$!U&_sAdS zMPECgWsx>t6w?{)7|6`ap#4c*&cv(JG?&8%3}7+Gl1-BMZQ9i0)eZW}FlSB4((F4~ zd(*V7$lv;*DE&c~HvR6YR8)fA<^eIfj7Ir9-87~@whH7z($!)nL3GuU#2#hzHzPmB zTSSL{Zx9uQx7Q7|G)C5pqi3uxM<_BrKdgxij8Pt?%6yRm?w(vhYXFu0+Ok9!De~;}7t-i!Jn?Zc5PZoJx?auYEbl zF=AjnI6d62eMFJ9!c}SLRB+CqdP#*Bq8;&#ZRztM*{=br?#WQcbw}iGV^ezt1X)OU z^^AW?eOSaxoLM#vAH&Rw3{nPvWxuc_Tk0McPZeQ_{EXNs1YqszCa)}bx%4}G1tmbT z9u=l6A6Yh%PpcxFwZ}zL476UdTGUoAsiGVyP+_ABT;t?wbYrLsrEbv~^DDe5pK%0=*fwD&D~6q4-`Ku*L3X6Rl-j> zfF>qJ?5OkKPp+J@W`^2_vdtNWb1#|arB+M1E+vX7UP_2BTpU1In*;H9uB;7KA*EEO z&5wj~G1Odvv2Lr=*RKxrnQrEgZ3)c0$yYkud2Z`F(?tc#(qnhf=EvQaV~9F=C}F_?4|rG1(z+eNyiEkS+oj8o{t5 zxSx)gEtaSA&&I8NSk7V}R6+Avesto5ah^OAWmq zpD3tl(`~?Mrc~H)xXsMZr_EwsED&jB*7CD?EDRZ|O>(u9GIgS#d!XU2{&&BmX_~+e zwJU<6bnFZ;burE64ga*N!Q38(FEw?$2yAML0?V%%SR2SOVp_!Z0MQ6hvi;?KulCt- zrfuCp@;vU8Qxe5&&SLuy>nUCq3)ufa>8pdpus3Yg-xw`rKtx<52^r%bVd`m_MNKek5d*qi-&O?iCaFT- zM8aQ2R6ug^t(<+}N|*C|5wd2p0VXlC7`(5bb3Fb4r}1~0=0p90qbkjZfgb7D4?_fD zY>H)C2bRF{N$kGx-ZZ%vrtM=`WdhVchvQ!)>x~P!_+w`-X2ctS^PQA(c*={xBXHue z%wE@;KrF2WQ)k1=A}9qwqb{E84?8L%NX1qiAHG@_xWMkV63BQ)eqPhJ-Zd{uWD%6}3GvY!zGU z-+x6=$RBh*7YaCQe zsur_**GyROeF7`89TOJ_}mo?At&6_dWVZ=|cpd)PdF@0ecU<>XFHTqC{ zur57RybN~4z4cOkxZ^u1v>Tv4TSS%;52qhxs9>B184mXhu-K2=2*i3w&y-_zll{C% zlUQ_O#$kX$Tm2NLd*1*(K*GQD|CRmO`q*9vK1EopmQUiR62)sat$(Ol^W28~A2Lm` zUXNjJU3utdj35igoyXY=cvz#N6r}6e`$j8NSZ&}t_Sn> z3{izaK~LIR;WlP0T_I@IS#EJPi;wvbEdA8Sp71A>DMUE)Gw`3y4{^YroD%UeSL{mt zX?sE;jvRi-90i(U7I(8u%qz7gRXC>mqTUmfDBhj2B8baF4M$rMwg%Bf?Rl){;NTI!)RQ%^^fJ^fO-9%w(~v2OIa^|3hA z+RY2^lK-e>`CC($Y<*$g4R3-gErMmU0+V5I9p){xRi2i%MaayohkF)qML-`rKjLZ= z-Y0ToHiljG2Ao}OlWV7+%#8uFSF)p@N_`-h7#~!d9*TvQXERMxIEEz~-UJuT8Us(A zlVHJ;cT^N31OnF5679e=y24H|!!HWN_WXCes17B4b^ANq%~VZ@q=I}S6>9utQw6vQ za`YQGdDpXR6XSO0n$|?!Ryu=J($y~WXV6yY;>Ah021~!ahU6!+z}-7}3r!k~uBSDB zezlkAKNfLb|B$>mR+#0GQ%cY%HS<62M$N9#2QI0C*`w0P7`fYp|bd(3wgD zUq7PTg{tNLOh`ioJfkF!)!~Gw9?VH+APHvS@5Vo@Es(DGxLK~i2*F5x8yL{AzB0%JFsUMQ+ zCu%i|d65|~iVtVV$kIn)sVz0Mnhmg*%woAYr6~!?@DB+rrHHmdq!+)jkotZ`I7lMb zYOHlOfjNHk99EVc8+T$ywlI}bRufAY&zc#DM-Iz*EbOE!EJkf?LIh!Jv?qFvfd__P zd1DIo?8^QjCbRkm>DB!ynz^{~>uA%!Dfhz>D>Cx;&w7Rw`koN^n=!8e3jQZ!<- z->}8ER8I!n45JbB!#~QzN3j90YC*&o>$w`(u zj7U^0Umdn+E+H0fSMH{!8>W~Wh9ONFEeUH=XmpIdF|X(x+m3@ZuC%7Y29Q#Urr*WG z0r%;9YDgRVdU0qg`>Q;;g3=^i+i2LeD=(L#)Pc!WL#>ia#Rar;VG9a}DQ9?M8<*Re zJ#W_3?EY1u>biDRW#D|wIrAD5;hLpM*Zs~0FA@p)t+mq2Ft1{n_WPCipvae!iho}; zu_qUUr&y!6>PepOt1j+~<2Mr$3nB%~ogdhP^?ETZXWJrK5b|d0pXSZ^%@&f{Jo&Nq zXp^a(AEi$9}BKl)5MVpy6hq?XtKlT z#$j^BjnUvj9#_cXtU#M-cHVB6p*n`997X*Xmyr-dPD+*$>mb%^4D6a1lCv=0Cs@bc#2kFw;piA? z#$pDr_pT>Et!NaJn>4J_D0@C0Kh%kiwKoj30nBhM$0m;S2J^|~x*x`2a)FpYz$%E; z22t1HcToTM+hZ;@n7WLP=Dc#QRZl3Ry|H{^_4@UHpM0vRJnCzxJUkpEmG!;c9khVDb^*#$f8?mJe-cEPn5Qil0()zTbLxb?|3y2_N)SgLmIfL}hJmpYFfx4^Q2a zb-J8++MWM(D_0I(JR)HIm$L!xHKL37i4-_>CdF|&+=SjQy&E&kzr5YFdg*-CZ5dQ& z6}p$Wdrr@+70U4#|Mc30C%F;=zEMKvo&;J`U29G1J?$~o>{^RwZ0%T9dlZ~3v})CC z2fMLXuXi(aGMNUuB}o|tXZCDbH4TLYGR*(5_xS0#{YOsi9`y7)d`Y86l=Or@20Ygc zF2g55zyyWI@tmhyzk9vGL2pGE&DaTZV=7oo@!RnvijB3s4O-%Tt+N?eXIAfNJGfv| zQqUJx>pDYyhWU>G_id$1373acn^rrdv*D0@?;4lS*h3eDl6g^ZB1@~%N$g@ozf^(f zbqFLBEe5I2ylAZoN)|@n=oWmp>maSE!POq|Y#<=px7O1YK>0j5W{C7 z^x63$qP!~hn&6Zv>7u3zj_IchR3+LeQaTxEJ_R{ ziGV>KTSH@T_3979AF3(c%`7F~%(V5IrK$L`)x!_Cdgl-9Z5LnxsL+JB-0-QuvJJ6< zUWD}Y0?HY4y&~jr!}F^+cmm_!l6oPrIpL4EDy1lD^3o{KDo!Kb(3R?6Z&L1QZ&%K) zH~Rw{%!=7yQta7a@_YOpt42mT*7$wS_9Lzel|Dudp8JHcZ) z0`RVpT%=EAz-f!SohbE4+&pxjQi1As3#1aK02P=Lg1dMx^9=I|y;B{5z*JZ7*2UpX z(}R7}o0JE>@W_(hi8h}P!suNxGyL7i!;!UJowhm-N!-Uutn{yQ%V(Pd(tYbZ&7rj( zzf=JaZ#xTPjuuX5e!ts0wy|~(LtrXi6cS{7 z97%h-o1 z>Tb6BmUZ=v0;4>EW>n!C^&dEo-S@wUF`2NZFqL_^}w!_C7< zKkuV2mii`RezDjmfbFU7+LW~`yJwS7P9>A&G~p&Q6p8@)L7jje=m7NrGAOiv_!wF= zLRWRs+MJcwHyzvrT|WT7PSkp&e4a*bNIO~H-;Ue5KMYAxc3GX_Xe@9o^W)S^-KTjC zyzm0D8;8(})M{q==AyrS#pOS|G@#!ks(fN0p@A){_}|HV5O;`%TQezpPqmE_6@S=k zDdI4PK4>l&ULcpsnW#G_S|BhG+Si|E=baJ^w&!|dNM0vCUo$j$5tvs11!l4bC3x*cRC2|(( z{mT&uOwwn*=led|lL}}n&oT;84Yj51M&qyBw4IMJ zA+JQZfNLkrL<%t9&Wdc+R3&PL~rj6*r|Ci?l zi{w0}s-$w+&in+Kxc2quxW3)L+JRMK=v(-ERDDodSygYOLoZw>?l=omPQX%C+c>@1-gGvB9z&!m8*42TLy#aqN=Rg$L_i4Br)y(r zl_HZ?T9i>t$`G4snzCQ7cQ*7GPDN_viQOin*u!h2K^mZv>HXd~RYZrxE4(uFpj4{R z>lHXH!tm8A_gEsg$prghvBY+pjfE?Hw(w6HX(d5U1Vb=F-WY#i(d$co#NH^-qA&%z z8(7S{g*r5NYtR4JWHA!Lac<=Y$U~ou?plO>ju$Ydp5g>=BlED{<%L89_R%==S0G9gde zpf;)pgM%xLE32xWmdT8E>_1XfPeNtSm~_mO=m4BgWiX1WE4t-syydPFT>62364mx* zmmx?MVYoO7OTr@sVF1Wb?}^@iC$nwMUaOD&CzEpe^~~0`?H${_EMwbSH?q66AAcj} zpx#bBy`XFK;?Tw3li-WVT~qJB@;*B-ZDbd0_av6RwII6o^<}TO-B3TjPtrnhPL`c$ zJnH1yWk!WDn6$v?H6|^{yK{)WT)rb-Pxav8ht^we`=UgNM}i)d%TR-Esf?m-2uOo4 zAYLuiVM?voU3q#mHcz(`i~h7ohea3aKHF!Q56+{Z35axWfNtw1u#j-%8c8^-^qT_Q zcE^GV6_F#83V7Wq%Mub;rDaL^ud3tDtl3)mV+x8rc`?hJ);X$ z>acpDYDuA|+Os4@tqE(A)nZbrzNe9Ghqr=xQkqt*B2y_MBCE^Z#o@u}STReb6H)ao z5EH}RNigX;2@D%$$yhNbovY$fD9$e8#QHFSgI_ft<_bBl5TLLH5c7DHF`l{$axZiS zUm#tbc8u+jdd6^C9TQ4#%FBO5#^qg_4+HN(1Ae+OJg+vC$s_R?*sRNo2(*aIxD3)C zk@>G?yfZTW^R|2)V_ zq}pHoc4SB54!*eeEIWjZz5N62f!lu@Hi{aJs@*^BmauSaI*Z!Tmg-q&R?W7>T*&Jz zp0UlZWOqlw$%=qpX>4sz^e-g4$cvk!9VTtioMenblGU1?rJP}Rs?q2)J;~}eNRqMH ztX1o_$u5)frZHI&1!s3}er3$F&Z3%)wW(>YGY>;Q1?GWL;HRrqw$1bKucb)4kzs`s zH|*Fy4wegQ$n>BJ5Y&leg>$3 zNhP3;RP5g7!iGN%t|~+#f(TU6#3B73|E{k36mVWb{BnHsZjA`W$^W4U!G^TOhTO)M z=2YjxobJtTQ>#D4x!?~$RtXozD-ggcv*+p-McW2m$pT$&zb@PNMV?rQCt-lH+^dJK zQJQ;T`=7m>{}Y~R?1c$`|49G*a-XZl7CrDf~=m7`wt=fA~r z;H&Ugn$dA)E*_AiBjh15Ht{52DNfq|&Sgf%4!_y~h74K_Cgv>o*y3PYr`;ND|6tDX zmI=Y*akFTr8@hg^l_qu%zWORqG{#m38{|oyqm_Qz4R-!sHdIwtEu$ffSfa0Yq*qL8 z4bx>-x=^fE3FUOEL@QAX#SSU#h0P-4)hBL}P`S7@=l0;2qNhts+G|$^x7Y8es`woB zDjdPEi$5Ja;E8bgVCWfTOa$mV6v;M=C(|+ zA41_xk_ZOrCE4udx1~8ai&yQw9OoniQ7B1C+@l~&Ej=fv#K{ZOy1WQ~i(ptI6_&8Q zVI(c?cl!N4n_T8@EPtP&hxC3;%?G3&<=ll1<5%xEd;yzG9m&ZrxSZz_Vz$Wg(jh34RYn>MM&->Z3MEM+lZqGMNrPdk2N1J;)$eG z92Y+t0Z%gYUbHAXk-gx`y5mW;aS1#Du)N0p2qZ~6kg z$ag~iXj&-K|E^`W&a9hW7yTr2CRju;t~z+0EIV|5weeUx@{D1GmmWD8yycKad4pHC z*dn#V)cu83pH$>gyM z1aHjE4HZ-v&~?@j+V)_5J5n;ee?(lsuIh&~&Mg;$Mvk$mthBPU)L5>UX+>p6FVrbh zO-s!DJ+T;nc8SGghV^FK*&eSmdGyw0V`J78dY!Z3ukf+o0=E^C71jf$gG!bnNmy1Ro6W*lTEGdKAzw>uIAD(TRq-<94jz}|?7^NJ-QcsCZuVX` zdW;(ke>|k<8L3?ptq@BKq+3B?2vl+bU!@YFMYX?1QR{aAtlW1GsESacAcGnfNH{H> z^a)(*(D>|YrsCJQu?S1yjyPb7AoOH}AhUENbhjIkRAG=p35gW!XggKnWUJL;u3W|7 z8k9Vq(y-y+o>5A4bS3c8rgMfb;;;8{h^gv+6wl5RNSv&!c#@bzCL2Q-i3AV?nH015 z3}%IZS44qMb%M^p;*l&Olj#H!A9OU0#7Lu4lzfc_1ceUwpqb26Tg(U(g&{|FqviU@ zqTV=)A;u5Vs1dP()z(IrEE_q#xrcD7-)B~FbqWz*Vd8UT27y4X-nS`HK2GvBk;dgR z(wIj;pyUC_V=_5;TqE8kF@_utLr@A3MD@yBda!O%pI1;HpIhAd&Z_z;wfHm7HYXpW z)qRP`qqso~&d+Dp=h8VB(qq^5oXkdHxlATY#I*?Hp=@UEzq$F6L-n)Al3BvX&wYYj z92JvL?)eu=tU$5JJQj!QkSv7VFDgElo%>gQ0llC`nO`6;uS(34#$)eVmA#WO=VW?3 z8~<2-{0ZfRpXDE)(DHvSl6-^Jy;a^jq10ZT~8 z_46HX7e^;#^W+>_>4_cKE7kao0?77nXcQr(3}9H)Rz9<$C$489|EuEA4 z7~3c!!eY)zJfE_Q%Kbf1xJxFX;44o!{+nHeVm0!(>_${o_J1R@m3Rq7`h<*aAd?%g zq~j7|fv&PrS3tDvnZ+e=v_dvd#-W$YZ!iD6im*`tIeeW?wx@m`vwSKpZoEv|*p#r= zZ%dO;lAC#mLufBpke6o}#=kVA%;mgXNa*?cbx;(BYcu32Jw#CYM z|36^CQ|aM#hc{hI3HRO`gsvoD=GBJK=Endm2UM6;UALLJCl+JQc3X7edb90pk5^ic zLViJx$yanju>x}_mW4dPwpX_q`L{OH12e_Wj(BmIsT*EDyus(?MCQ^8ScUz4O| z<8kFZoQof2EMs5&{<7{l0y<$)oZpdDJt^LMlmo+`?(|Yn=Q{;?`pH_IQ$Gb?5!ZRC z0pH2_-3_7$5s&MrV->X=WHRg6Z2cige(t}yOek9zZxL}>OfD0P%09X0S}gqn2RTbo zKP;ETXBAYI%M0?EH3js7{J(Ou&y^J3uaqowaH&i_i;SwM$z7}|Cn%Yd7diS9l;ckn zj~m&I`s3673G8tSQ%GP*7R(XLdF91_mlizP5m5N;cdT6r)?O@wE+#P*Liq)Xn;Vkp z>k+DU*>R$TzENe*0>(}8jBFEi7oLBTlRzMg7~6bRZ&EtN2D6bp*^OKt>v%a%3^RWH zXnAxrurvw+n?XEbZaTPdA$oUg_Fo2^TxjZtmJFehTQFOQ?}E27<~Run>KoWaE{M1G z+wixwU@z2F?!PfKI;22Xj1G+^3%{*}co(^_!g8n!T>eV>zP~O-Xcc<*%|g@{q@~Fd ztza;l+0;Uo34D!28x_9AbJjnP>%Km;Wau>yZfJC<;U@LMT)_q<2pvPz-v-@%p3LDk zHo7<&Yf3hDzsq#RWNjerx=d@LH=O|029m|V^d{YlIGRhl;x}LUlzzqcFxS_WoKYt0 zRfVr>ll1!13yy|&fh@bA+%{AfBy4xaUUEjAL8W#HX4L&gWh7&%&6m+`%Q+hHzn0XW z4sA;)^B0%+%F28t#s2(+1l5glXq8a+N38lXbwWg210lZ>Vj%|RI|m?MsH?e*Mr^zz zKVi6pPK<&6PALs6t4JsIO}o14ezz;_#dUw!p4&bVa`;x;U0b#0a^+w@7AMUvL#p5p zF{1axNPcFGz}E=eGv(KdtCU!AYcuggd&Aq;LRwic=haAFCI0G`Hh_WNRfl>;rL}oi6O8*u`-VusTUPzkkQy z=4!-x?0s>(lcIM33hjson%52C%KRa_zt0R{Z_dz@1B9 ze=!enuN@%vbzlR@6e}Qg50og~f1k=s|Hmca<`3r{=+?k+XX1D`%#VB zvHECNt^DX}#TO{k!@IRQ+py9ZupSuq)ChCH{Cgh&@4i-ACx?e+m*E>rH}2>5!F%-? zdv9X4kcLKE8FNp%#(<{4$4kIS2bS-YJlh(WyRz)c;06Wjb;?|kMKO<=B9xzzF47x>_VG|poKBy;r1$atO5!Q*C^pC4iQ~#hIJ|`9{1rY(Am9muVDKa`UQe92{TEQ!uY=HfOQY*8 zRW-_h&qmai4knjk%{L%Y&cNkv)4E za2D!WC@(|rUqmaKrfm`(Q?MHwK^_x#MwpyusJY%(KY{*gZ|tAD8AD9+o8kRkd-bN* z+kNbP-F3&AZ-BpcH{%ED(fpfMz$ zb@`TcGcB`D+gxnZ`;k zrN?46*$qM}-=xH@J@w2QOvtZ_d~a$VUUa*um@|(&Sy9RfKAZr&5&N0im9(4cpbA`A($a1xaePbst;xoC4wSTjj>iB z?$iN}F3Vy~5Zuo~Hp0Dy#cAv`d78a`8&at*T^~X;5V-E@dOE^bUVM|AUS88zoIU&Z z)?JCRaZ*zgXJzZq>SB8u z3U9({C=L2Z$t^?u72fcI3XknU7Tko@kddaHKBp~^-JET8@_#oyQJ8-I#j+^ODdB{Q zxF4-(5Z5ClD5OH~YiN+v!zD-*AZQTUvPYGbkIPD*>wF)PYrclx^WpF1=_59utysSd z@BvMKlM(gXxn1Th$Gpe3nzx>l>Gy}kDUzRZV$Q33`c;!LetYi^Xs*k^V{MuC;@w23 z+mH#Y4yj1J0fBG<#41|kkS4iZixn+k!_I`_@TIFw-wj{3!LWUiWqEX&uCmzIOLgw@ z$|tSX1bSIHEzf5AtheUUW|!7lF>>Y6%FE~pd%G1&ZYb@ICEf7KOVX+;>7_~!)W18_ zOQABeGLYCeyvP-X3^2s~_f(l~Oudj`=#2QmMw!)?(%h4v4}tAi?uA<0+q~~CRcTKvc>EmMeI-IMj?-tG9uq- zN*8~*So#&nz%T>+*<$JWOrAl*p{VsqoESJ+By4G+3xw?qbu?Xa7e6Xn(_MjlNN;2l zG_l1wreVJ)IvloVY!A|8)vJVo28xcH8J5sw9ND_yR9YR2NWdvDdA*Brv@6}~TiR6u z70Nw8Hh$+El;ue50(C-C;^GBrfg?veD0g(-^^i)#0L@pa_}|T=_{y*JTGzVt4u7|G57D-oYNsY-bGe= z2KipoT$>6{g&trpU9!E;QB(7W?QL6e&GJ|Eb}aU*8|{ULN!CVKFi85wQhjlep|sRc zRIE>U-SU~`{xv8mrDaiTnrzo?*KU66Q8lY=a}~YUY!6CX4SJw8k+N7J5PjWxfh$*g zAU_u_s3Kb~2&T*3-mB{LT-n-x1*U&rU;AsG#aNF?Bl6NJKUlRYnt}0{v?3rfz&@bY?t58TGt^zy)kv%H zn$pzVvSJnW4JsnuCbH`4I0Xu!!eZ-Gauk8?!q#)hekxL5D?=TalcMYD zz%>Za_SwDa>K{gQadhV$DO%2)ra{f9{97m{dl5&$=h2{MILW|bLpX9i9A^JL(EB7{ zkF)K%o`&h0e$ndCJHjuTUL5&TUkJ>-oO6J0fwn_04>@fBapUypeXpbW)w@-e8;f!A z*oBMz?Mosee8@#%*YXNZq?$b(ZpjY{ zLk@IS-+-ILR)43jX&WzPO76BjK;Sw%cB2ZF9UnhPz!M0A@o}&M_}1RuR-@@8=(HL^ zk?x)nIy^2O7GTp+Og5TuFaql77Kz5(CL`$NC#A^C0a$$8VBUlujE~Qv9W)wGgHEck zwTRfVySwJ=vm+TFpZ%rk$DF3K9Z!Nxrjzybl%~83)YHv*xlr)N_&Ar!xVLz>EF`u+ z>$jnvL0Wz$=8&Zy&E-~CG(9;9JX0d?G-ds!Ltj@AMewZ?>WK#hS7zsDL466P z1WI(PI&o8*`x8uy`^{2gg&iGx_wJeP?C(2M{Ryd}lJrS+jj4v&M54NBG^)#IGfxFX z9ew?$869zfn=y*Kx^n%>3U#`#uk&iay?a~#N&jg7hx-TH9@8T4Y&j2XAVkdp$L{GL(1 zS^o{cq7NxVG&U6Qnd1ZfB!egL9pf}2}|<=&xM)~9ElwXo{x`Ex^hC z?t6R)ol-pqC6B6(7PffF%q%L}Gxj)O>E8D>#>{gP|aHHM9h)muk)9t&H*NIxRzk*@rn_ z1O*zQd9k!EYk5jF+eD|<)P3b~^?sSk&Kg*9A(D$-RaQ2Hsjk*nTc-}t zG@jwhNN4Hqdp#NKfE5)zs!vY$XHb&}EJQA&cu!`!D3b=qb63{|_1XIB*JJ|RhK!WB z?4&nGS+UGq+x{)Nmvo{_n?0VEbajsLD1$-#B5xPjzX6~XI&6lNAK`Z77`SyCZl z(#7N;Qls+3+4_A2_Z292M`xjEUa@S`P@Vref3Bi7DEZRId((coUO7fW%P*<5TR8EzpN z-XR$lkxa$qU`8#vjcLxo!asv9pt!{)1OWpLoLeirT8+bb?_X8qdUZ?@sIMhNh*R5( zPN;5!5>0xsD{yRfXz*rclPIdmW7y`3QjrnB$*Uw&~>jnK+PY2z&&6$vvt)_OO$#+M`};8Gglvi0AkWLgfR77Y$X ziwPy&NewU0WHX+JQNP{L!mWuHf8XHlv^(5T1+~?s$FO-$a zDlaifex?*#d5YNM3PjjS1$6=O{=tJ((8wn)UR5i)*pGi7xgO`(Z0y;Y<#@~$%^tB$ zOqzWrU{8v%mp2BEP!XP{qPi74J8YpMYFUIcqS%BeHz5t0NLkkN?C1)HP?3K)xl<4w z!Yzhpc~NqEZ1UH#31roaC4{`N+$4Eo0#Z_p`D`fuOXawP%Ihj{S2#;oE^`kiMeH%0 z+Ns;aMFB_LX$9=3({&kGgspM;8jc*jNA4v1hmo5tqr8Km0m%}K*D%y3&?DQI@Snf#5Ch+WzJG6(;~UrW^1 zG2_{H8|3n(ymuYISmEO~8^yxUHE~4z1?YwDVHqLEMC=A}WE(bW{(}-mEp^Ab#Sklc z+bU|h6-kCTpv`llvkbRO#I92d{Qz5Y%uri~;3wMHxyg~@+_Lk49S>w?OjKSm-3*Gr zp2~tA!KZ*?h8&jxkFF;_Yf49Bk$-}EqYF#KTa@A3mE5xx8R5t8v9|%xi{qrCZ=6^* zs9M73;|#f21U{@?E`Z0&e@gF+;PSfMhgP`)-9uYmf8d%sc0k8`?=#(4kHX{pUI4b` ztm)!x#IEQ2`8sFzFLUlUAoQDB3ZpqDVz)?`IE?Q(9^wKXe5FHPIL`LC;6_ID1Xg#! zE}~QM?9Z?(CRT!?X_wLYwOvQ_V$b!YDDB36$HYEtmpbN125hGR$JthM z?`Bx939GwcFVU%Zj$F;I4(6HAQZ&-3)%KBhcE6y|v>y)>n#W9-XfgIA6J~)ob%nPdVs1wUhEN6W)D^+n>UyB3 zRn&05n~f`FWGhrD)r2Y58{ji$toB8!`Avq?xobmOw{E9|X^zU=77BUri`?FjHZKw< z2*U<(e?@+)mB!|7JrkXEYNDN*NO@h_`ghSL?hA#Li~ zsq#4%Rnq^HLGFVP(C9Km!!-YX4Q~Z!Ei)dd}JC9moe7%jv}YsImEpJ~P8lGfQW0 z&TOIW&Q@84GiUR3U$2R7#h&Wz$l;YnXWOo@gsi13}!KhE!bM+rwNTOj`K~;E%{*|{$I;bhW^*Fmx?V*vhJiN z7l}nrusGL<@=|R%4(K(-p&m6mL#WGaD)mtx^-&-7Q6KfuIZ~h*o^05l9 z6N3Ekf&4!3Ufz>xZ?+W3%>X~CbG1RC8mflB%EikGpTDai&=CEVXX;;7_B6Y2=cKg= zZ#3mTRI7U%BUBlbenk@Vib;Jo`#Z^YSi;2uA@H!5HM^oONJ&-?rc z8P#vTa`I9+5cLC;W&iru-^&2zUihyC=2#Rk6c7x6@Y_?A7(fr;^HUsjX{Vxnrht?| zQY}AOHn@%&AtpCOWE`r=`I0MgUF*y-FIwwz?Fj~R&q+;-Wy;d>fodh_R2=DdLkydb z#yGvkMZfEy88v;1ce%lzHytw$Fs6@@85&U;_b0#1XRPTSGuqP_mqX*;W^YSr*!c#* zO>+ae`Bn>C{7@}{_Yj(?k)-#a0jRE6ped*XKcA^nd9)|5n}XxZ1gO(^FH-HGmbwBbK*LMG%IL9>CB; zhtC*wzGPJm8g$HQfW^%3g6Tb=Ry28Jx5Egu1Dq*cJ&epaz*===xmzi6`K)02f(D#t zmm@q7a%DhuoVFF9HMAB66__r;H^vXAK~;=qnv>AH4Yd&SPifMTzHYVza%mAHrTljm z7aQCMTB`;-1*~emwDpE$4e@YfW?9m$e9tt!;r0OS0Yyr=qvJCUw4p1%Q^0gdKFdd3 zs%BZW_qSp#e&KiBK?>8pc$f4Anu(o2g`8uF+O|`AtZC|D1ZzAooN|i0-x&9!lm>t=#}a?ISJ+mS+F7aC~XSM|os!Q7Ho-x_hI!X}H|jjlFM< zN#nW=7>q6GFCCrreE{<)P5R+q(|+j;n49SV-X4iy-46lps}?%o3b}tIbfJ|@0J!t? zLW2MbZaN*%2)~5`@QWXQ(a0Z&Vu0J-gk$=u2RwJ;0mw~+#l`>Xx*VWhzpeW2FHO0D zNA!H13*0n_l5TM#&zdxXj#JKcn*&s#CrbbGbk0LrG*0Jnm z%92*R^T?fy{QHy|!6zN*W&y5(n)bJE!zXu6@F`_X zUP4V;$$Rm%aAQ}#iTX(-M(8SpTEX9+2HYdK>*!;Eh%3#xUmCTL)}Uo_)9g^Fz4P1% z9&17E2=fiK-#)YX{ipBH9CdZ!RVJ>Ydtd;*QgCGY5O3|>)O2gTAXX(ud0BY%(R_gK zy_s)DAJ|s`yi=Lg4Qr+4F|sAtOWC%?b~m-RT{7xKXQkA3ziv^t+45p4#pS)te^kq{ z1~ea=qMn3R*TOE9cmctUkalP?TOt~4%U?JtBVI(l-11$l<-5Vn%%~?})nzp=@dAR3 zC{@%JnM&MXi-yx64_X&Oo7CF%XWj3z()OXQ_jnS|grU}!1KtF(buiYQZ49tvr5>{P4mPot+b|a)68f8mFgOAhzys4ksdi?Iw0-le8-TSy!sqpBjyK9c| zg^|YZswm78S-K0Kxund3oK>kQqm`B%FO`xST|hy11qIIee+jrAl&bKX4;`GCZcT8h zaPG9xGZW|x&vM6~;I?UPQm0=c(!goo&E6jS6ls_|;W? zy>ptfzS`--XaA{1+Jf5OvaW`mM`QwP+(id`CT42tW7gRPz3E)~&)x3@D0**fYsryK zoC8A{G+@$huyK)~@iJAQJMrWR2HSIgx{iY!oPU1~e{P8k4bk-h;QY;M5jkV?9O?i5 zi!cJOAS3V1FwevFP4)FHd_rx`6|}qg-ZXhleC|^M+HIQnfUh=%z^ZKEA$d(hgT!L2 zze|AeSd37_%r>7|Hqu{AL;|7^sMWLX-t7II?AEav*MyId8rg46Gdw~qBm(Piut~0mQSI1 zFm5PqV#K}}Ndxz7>{QaTyy|G7-ItGakyDpMD->h`y#K0?duTgU?twvg(07+?h3!!Z ztgv6---Lo_8Z#>C@ff%tFH?GbtF*7@d0csW(ajsbT|TRu(@B2`5n2Ebb#G9Zd9;qN z)Ubilzj+D7k}0iOgr^wV=^>|SPUUhdSr0bP_!qlvJD06Qb49U;%<=isJ+^a`i8^pL zo1neFGUE{3X{%;@oA24!1?KM1CMl%+B|YR+^3X{QOJZ@$Dz7dhAVOA^Sg_1k|9}3N z^8IyPm8y_g+Npbf$X}!AwDSo!`Vgq|*?E)MtUyE}>0@-Fj23nJlt_3>Lx6~4$0v}T zvh0z9O-8Ldk}efB^H}sk165@~%|E_y>~Xf`1F$sIWUk|Cz)%`bzEUL3 zbn`9JOIiBSwb1S_Fv~*|eI9&A15(R~uo}llik`$E_U36mGpF)RY4dsSy<@g$W35$8 zn-b$5rORz>q4fIj58tyz?%)uhLPSYj4$Va!+ceiwQ~6=$Y0ki=CDJE9U!i99Xy#{z z2rjP>gVJ>5t0%~!xP=p1eD0r0Tmz~Jv-bU*QN|o_`--% zu<|E^w(hCMIu=h>C^30^FXZ@@oJV)3@TC>IOO%{ zbYy$NUOwneEgCf6ewpX9s_w#IrqP`RS!gIy%p*Nx=AjC$N!_W^>cMWmD2?$)0n0pG zk-EFKiyxpcSqgTjpU%Q<-AK@b#%Z`v0W-V-#asDg7be0P;~^0SE{>nOocI>XSrYqg z&{{F#m0sqv6=9=%o7D3542Ocj4|g#@vD%2vK$qih8R39z5^yU*RK;p>w9zR9(Tw z&lP+(h8%g>+-W?$1ah+l0pNlGycK2(Par*0+33wMhHxy!Xb;^z1>UVgyMcSELvFt$Ry+ z`k;03O^}@_&wju9AX?vcx+we0!cN}Wr^{wIpn%)%0g^5FFfx(!!iKQ+IX*g|h-+Tt z27{b^py-Th=L1faW9Z*6bSo1~_D+ZnjxP~)zO?wAj)qD%phSaTrt64bc9~9#rYhynLVbq1PHt>*%{`@} zjXehULnK+Neo!mwuH+>>2%YjZq$Zm9;#_o%UCo4ItZs=aRuecF7tST6hz@(tj*1nD z*`eqV#U^X-1yJhJt8(6pUA<3}C|LFSO_@scemBx$Nas^Co7`HFwP^+FQm2F~G z8;Z=2kI4^^Iq@)Z4!aF)(huA=yl}Yu0SqLu~ z(=@UQ5OO{4{9GWVnPc2M(sP^hy+ee7r!>F@2ygJ*(vrnbc`gm8T%}71#$+SSzH;T= zFQ6lJY$je6q67XS(8#+?vzdS^fk=xzSVoJdHk6%;)+8vpBDZW3)&g975<(6Pj1-e-Y_0P z5}n9aZ&2tgsyQ6%ZDB?4d5oqZlSS&$QPpt&o1_XCa?}k^5>u z9hGl%L`qw*5Q;19i!DI?0ka;L2ym z5BL-MI5c_4atC} zHk(XH=fJYGbQD6&JX8)u_V@cXOi&Ai>ptKfE7p>~&_-w*<$^raVO`Z91WR6><>oQz z*~8{9fE4K{&@i~k)26OFg8>m-1CMlYsF?YJCD{8REypT9IT^~)s%5GJ41QAH&$>Ug zEBQ_PJ>!g05=jLNm<$cH*_dLF$>7;%c|}9in40c|Jz3=`4HlaMkEut5X8Nk%XLaB8 zzSVI;FMZbgR0HRW`?@gX4ylWr^#FQVcmJengV_{BtaFtN>`u9lo*rN-T(nI4TK4ID zpU-3ZRPO!$a9WhmWZN!$@1SBe=@$^t7J7xTL`YHvca1$1-hy46GS2&Z^Qq~|)ftlGh3ZvqKkSv`W2mw(sM zIbQ~JxM_SkPc53s?4)}%I4^^FAn2>(Ta&;j;7vX1AC$DHebrMsv)>Z6#7m;#| zg~SIb*)t#h^WsT}yhl6c1ibA>Tr=+T3=1+pe&KBFk^@M=FFUay`S0t;e{c5aG>$^z zdT%n_wb~b?djpS!B_7a%)rjDCw!nr-ARF|EkMy36nNDh(v`@FnBHi`CM*~czFf86X zN8XqV09oZ)1wI@nXd2Q;C-hNjkAwi0g5|-NPNpfJ1tBziC0!`L3*$%!)dXf7ktu@= zby1r|B=&uFG*l1yt8*2s%!zqyBqt(a6sO%F5mO`44~C%|td3X=D=sxXKc@Ankf}&w zYk)xl5P%a?i8QPrm-`74mH^Vf^RdL9h!bO(ZxlDZ^6&=(B)~Z^^__&YadWN!S{R!V zbWzjJ^u>o2Sv}GXlcY-;UVsc5MhdW`uSRT^>RN>5(;j<9^p3o29P@w8OiMPMxUs~_ z8uNR1TnRTmNvW@bqd*gGo&=;VHy1fm;<%(58yJ#|oo5s2f~aYobr9zzT( zrYUtimPnru3?w|q>#Re6 zHhnH-Yz~^0{G#jVR-_)T?4qB)+nyJ}%+y23iNEe`q_8yl2j!_*ZltvrE4|huKF1QG z_*$J(0VVR&-L6rW@*?7Z(*g=Vq26W@3d^JlOcxN%Ob3C~6#?R3Tm>jXYX})NzVi4p zyVyQ^|NamiX8Sj7{P_S|EL$Xt&}qb%T3#$|QHPQ4nBjnZ5CS{~U0HgctUxrGZM;$P z4tIq1fkOqpt(eG7cU*UNb+P@$J&(9|AsLgVs1-wPhQJYaJ0yFnS!8z6TK?|Q1a?_h z6-c?sfPV;fjRzn}k1DWvljm{v*tVL?W#Ktk+WBe(C2$m2=p(!9tzj~b0k#w98v}y% za?mm3-ze~~^VHnVwCL3dNp2tjGuH9n2ZX{dvGfo)=SDXH6{VWi$pz`cEj?iai|&$8 zw5|wT@b`XfWRVE-gqeGuaYW=ejq*4TxJSiF7PJ80hFCcsR&v7z1SZ}col=Jf8q}0Z zc*6#`$yG8;yp}x8iF~KZJK06SrhgZOM1t?&WMp(2KeM?*xDm+O0vaI!g7!?gjy{>! z=!U3s0scD@X1KxuHjl`OOcW9)dGH|PIC`Jxl2?Yl}hb01i8E3h20|88QFtztC zs^8<6k&fC3-YDd?9GxmoH}|j|`Hg^drcITrmK`Dy^?i`G zj83ByTX%>=n4cgsQxl?3;oDmqghSoO_pOaY5ZT7VTt#rJ#V*iH^`Z0)T&XW7$}Z(^ z!U3qleIry7V?`2sk?rBk3Y?g?=>`puV?zh>FKTJ@4LI0GCx7U2cmh)Y*ypiGON{!? z@GUu-W56=~1+f|ocx1782I*qB{&X{2hc@#&P7)pfMM;)5=+a&vB9oC5<9Y{jh}yDJ z21TbMa#$ZS+xl-+@aKV|{R4d*M`tEK&2yoV<+%`1x@{tl#5WY6_}QvaJHbjYm@}o7 zFt>#-gB2`{%vi*0Kyy$)tV3?2P{PVUEWCsSq~p7->G;iIVAKbNTONaqGg8KJ|DleB z)Bw@zc(LULA2da*wR>fIf6<=xc}8EvBil5mj4V1Q(dq87tCp&p%WKR)@*uHIr8CdY zkXonhCkg$43Z@{L08(9`%#QQsT$Csms=DJn;KYlJoZGBRE0eP45>9o3lab&FIZwPH zx)Ak*6waMt8oglg0$(?BD{l7#r#SOCDG7$?^dip}Gb>!=8yR!DudO8iBS@ZYCyw`- zc}B{fX#sTJ4>y(05AxvJ|3EZ@%;oJpv}fT7q>FH8gX03sGKiz)?H#nO4K z+Me2a@$B&s#Y&fX;KV~KT=BpSA0D547=&53TO5GHZx6bHKS?D#T({*U2KEW(qB^mLclF+NF# zz+`V57qp2?BVA&bIBlKuj~Il<+vO&lj_53Wk8*}%Kk3>&-}?&^t76~T%{(I|tYk^| zwaHkDb;u=c1Hn1K)*A*r_#?K>C1j7Z0W5C?D1ZN)SJF&rAt?>=qt^;hp&C>GK@F?c ztymcnRa}g`=LcsX^MCB(^M7nh zEPe^?{ec%LEY%dbNvo}?9$^;*;^ zRe`1R1$aU|TVScJfs}KhvTz32P6fe*1yC6GaW9b`H74J&Krt@8e)}6`xl-P+WlXQV9fvw1wXSz18pnE7}#_C?7zVtPdyeYZMbG}_GtKd3}tem zXuIg}N=MAi-ikT99}3bCg4h=^KR*j|tIbj(Kig}s-Bqi!$r^XUly|A)nF=a%NrRl- zQNS4W#s(`yi=A{eN1enWMk$jD>lm?=rH` zJ%oAQE0Eil)Z6t6*PFG^iF|LbJycr6T>8>Uy-z)T04K35#`g#O6*u^>MyZH6WF9dU zyKjQ^@C4BVyH{m}SGEyo9#Ps^=liS5l*J*{X5Jc%#QA+m{0v5dlp~D{YVkTy6y-8* z`O-Gchy6)?{qcStj(g*&5&q5p7H?{tb?UOlF=WH-J!BeQHANcvyOL4OJz_c~ayqx` zehT?eIIydzB4ZXZu>!=#+X z9;?g{$1U%zaFme)p!2x#4F5_zx8U@oL-|+i5dq9+0u4_IPs$b zm|NBgrxh86`40&_ZM^qU%lDCXrY$Gn+aaU=>VL^!wv%0Z;uDtYW#l2Jn$1j!A}f9P z;aavy@N4|jCu;}m2h*z$x6`r3tZ{PQ_)W6uZZ?)4ADA~?>EN>E4Wci@45@g?g~)UG z4VH|2AL{L4KtPC{wmSi{vm zaM33v+D0yAt4=Y9E2lU}ul6+imgRq74>kZifG zV&jYx3|&S;A6&Ha`~1${)L2T3r7|6~ugInPM0ySP1JM$57Bi=yX((Tvx`veD{^Tz-98%9>$oo1UHI%%yApTs=QCqR~$sHq*^(Rdy-29;)s;cFmKSZrsx`EG~N- z=Gg5Ku#r|W6RKLFgt%5$-xA^AIA-vXQl44JXSPS?R#vZ|TPBM3vqLBZ%u1hPpfGgZ zJ+3#kqL!KA9G3hRbDHb5h;q)h1GA`GpWAb5APuUp@byo`^++qc1x{WGAg(FYv%{*J znV?;p7stMfwH=$lPQh>M&67Z&0OimK@AaNrit>)rE%u(!n=--G*c0MafPc1_>7gAnX-=PPJA1g8I93b#Zt;p{N*9d!* z#-5Qje5!NrUl-#QHAowCAaSbE^YG@f;2?Y%lSm`tlSHrRN%(5i{dcLsD_8<4Z)Qge z&ZUSz$2bIyVZ76#X#`+oVbI@Ty0+X5XVhJ{m=~457E#+HvGsjB=P`|=(9anyP(`_4 z=@*?{{fEw3Lleyxhf(-Y>ikp%{E*&!vri!5XVo1?HfkHeG)JI`BL>th3mwZ?(s_{I zl6yJbJVvayc&LwRD5JwV_zrv-x7e9DP6*=oy~AbxC@{oroMtB|CpleyKnI?7%BRRD z7jN|lhjk%SnpROr@nMPJ7Vyhf^1QgOLz#a1oqy%LbTgdvb#N z`;NB_>o^9oJ_aJu<#>{}hoL82FiNNXz&i(v@3uS)I4hkPGCMuT$n}ad)iFjOET${3 zvg`H7)ytvFY)dUm*mAYovW;K^X&_sTMB>Mdoh;?s*RENstx88;zbgyXj+G58Fif~i z)!0g*_~J7Nw!tG@X9E--#;nxRx{~m0ZoYTf26uxBAQ;}PS~A=^bgz8_?q=v$oCxy< zpey1#uBEk6Q?+Kj&9B5x+BPrG&h?{%&A48)rM2@7F`VC&|J@t=j0bx=+nei?`u6kw zll!f3ol^5h{|-^T@!H%aRUhwXm!_ud+8@~S<_X{0BqwVp=%{!FSPf7vhIbIqx)dF8#L+;g?r zjh^brZP8Vni_7{dOMOf3hcgIo+VhAKm07s`SG73`J53o_kiR@f$aC zNKw+@FBYEB58W>2Z2zL1hU1~BGQqX4y&26FB1P=VQ%}iWP@w7#q>W7P$d{+*!5mG~ zwA%^Jyd)~OB%Wrp>J|z;j1!2!&3B1)=VcI=YXUltCfCGSm0R6$mjC8DFBejvWlcxC zV}4X9hXtA=lj^FPt931hZWB{U2Tzm7!_~N355YB#J{|1_GdnR(S-_oGd|GV9No3buBM1!gU}}`cDN8ee zBgGA9%K#JgMAWxco0Q-qK?1k0&}30p>Vy<&7;*^5+Ml@_fs<}HikIrLZ#@W7DVv{s z#YIM5&8u}$GuAuXG93nR4~aFd1RD#42X7OcKTCWy5$5Clurt@{s^nqTOn=39lL?y? z{`6CnJ zLL3^{o~X8{1GMz}f10foe_Nl8e#>FxtQUP1CF-dNM}8ORuE=Jd;NxH+00jM_P z^|9PMU7x*MAjgoOo1bcG>N-M8&+vg3rY5HWl7%q;)mTj;eur`ma@_7MHAYj2FDZgY zp@qHOzSZ*Cj~x!tU?oTfm4TNz@a%TWWRt`L>Kb;T?>4&gjQF88J9Rj5+}fP|!F%R8 zG_zsz5Tu_c5*E3I1L{1tu5@1J$}q8>C13#jJI>n^rY2@F7iDjiQO z75y=!Q*jgZW4+$3wcgL|Q2^;kI?YBxti|6e1@E6j-xA{qu(~6)?hfcqEvVp32UjN8 zI{3Q+^wC>T$uF2fIo-If#YAMjDK@w{&1KP{?#NHfl4fnd8ltF#$+1We&{EG1V2yPI ze#vSG*Lm_F!xpo=TSV7Eh#x9w8Fl!?n)FaTy{;4Fd7D{5Cb%|0z(yO7;2f_ z)x(_IHVMWapNUUCGW?~}*m|Y~W1?K>ZAS}8MPofE)F@?-j_~@rJ9Z#`G%4Z{QD=0`crb0R3SaL)uy8{* z5)&Vt;Kq>wL;xq^jkw@=?U?OGqdh@mjK!$J=^ zR}h;^<}8iY?Zn3W?>$~7oUq@V#!mHMb_AIUH1*-t(#?LjZZ&_q<60r?rb~AL2c#UL zSntl45`+rpF|EN=W2OuHTnsO$yD)ET%3t?OAlUG|(vfr0{QX+vB>6rvScV6+>LB_P z^{K9_5^v_WkCeWYNg;Gw&&+3j5F1MFcTI>1wytFM|4_QoTrCiF`EKnoBi2Vg;cxG5 z5-(=$a-@uTsZd9H>3G7EuhVIM>1rEqi0l~At(EtW&}A^OJUK%twp!i}>PvLVRrk%t zT0kfkk)$zF`d!fr5vF$!L#R`!a86$oO~43RLw9(N^me~(`^h}=gl&`C!x2(@Uxvn9 z;N;GJ5r?J5kwV`!mPbz|ujFn)LiX;nd6W~TjL4_akCKD6122A_y~o0g)Mga=@oy6? zqvBY$g_ckIB*A4YYR({6&A34B&xYry=lGU;es#Q}eW{>?HGw{G*BPTee3-yS+%`*m zlf^-E9sJyZ&M3pp`bUf1NJQ{e3br1@ zTGdkxgeKNbQo zcMx)!P-|i3g66}H?Y#=^(2`Hk_`27a(ic1R7#5LE)3J?#|jDru;1{6D7XBV(g=&pz&JbfA* z*J>5{MW#6)<{0YIFYK~FZXBXiU-;Cc2p3C)Dh=C@Py}y6f4BN?VAJ5?OTbxyf?&C= zuIV9MkcedVL%Xl$;dQ!5*&QZdau1dtIMD=e>)x`ps-1ho)?*}%tQ1?J%HvVt!V!IH zml^0_gz~m znI-;K`L91OkM}p%=V!-<`+J)kWFAb*zx};=T`~9h1Q!<3$PUqn5_ z`u{`cL-2eaQblyY!24m5@B zhdRskh21cqEiAS2Xfaf4U9F`rMwIEXSXk`-YNPJP8dYC^`oI95xZz}uOoUv-NI(*zmFk>ro)TNi3`l9 zj34W}VZuqUx#PFya5tzTl-OJ_Mwh(ZVo<1_aZbxQ4vfWyWJ&yD69mEm2IYv?ktlWGXcoKq@cf;({i`td=P83$(d-1pVL>Z7nr{|F>C-FB(K3jF)XP+3Me zxbj=9j?Kxi0Z$~c$s6c%w+}4nfnHPZVf(SaAeqJ_ezlnZS9(~;-7L(+7%RC3)O$V& zO_aL{Hi)i$7k{qwkB0b12vuV>=@z&GiTiP9?#oqbKo(LNZc?;!)!dRqZ`Hx zEw$ZtyYh&K&DDE31q8B41u(?m%zdf3RHYU$I(Pp2%%x#ax8~}QmN%_~g@T^8N?*f+ zgzi(a@7attbKKd^p*h_W`_<_nK0=_2BgwR|_eyijrjZ)QA*eb6MZXrBY_*y1!rJ#D z;-1JdlDEulhX0zbbw`8&mwB2*Ay>YtDykPo^JagTxvCl=JN^;ZGL`h6O+sE`a@?4r zBqgM^)-uz_iGp0#VXQ>{Et^pm)wvdPBF!4lP+s2yKjZ!fYzX=6|AXq2m_IUVIIfd= zPo)#U#F5KzR37AWzhya^&-j}?()ZXupn(5?hFoWHEJe1h@8 zmW)^PnCmxXSoBcaq^8p0O)tILv=A|ug+I_#YKo-Q)B01^7kqIfN*IfXJS!}>sVaH2 zYIZ#3RZl=EIF;Zt-Z0yZCP+0x-d00T8z^egauWJR-2mr6ANHlZoty!-t_W}#RBcm5 z4>fhYTNpBPM67;mprRWL2Yv4ql@%?}dqRc+VxF2=Hj3>o#d zX}>e{(eDBH{OYw@c$2mOC{s8GKCe^y>B61l74 zKdPrO2>HC{H`-NbdJpBNUqz#FziH>8nYxYAQ`*G?{oefu4P|#}%=OpAfNjO9UWtP_8Pke`pwQTZrNdFnXR?!O}N+OVBZ+kZbl{$9mEs72%#IW zZ#(9UahAeXm_}@(;9U5SW9-{Xc>!rAu^k_l6%>95Otx+R(4&F#pY^T z{RXtnYwyyv5o241URB+~OBA=r4h`5bOdF2qu_p>F?KuH!RiMz~>o!ra)q{l^kWmhg z_bB9r2Km~76o}U%L5t&y%7|By>Oe-q3Mrn{j%eOJq=l~Cc^r++H3bT!m!%W6 zrI=!W_FAgzQSvsLSo^p6V6B-9c2Y(!Q6=DH8sz59Xx~hd^|^%p>YceT9GU5=SCiyZHe_a$=29fP$RCmx=r-tSS=Dit?I7nSY@ph*Ii_* zcAINTP+6MlmZAbkRgOwrUFy&vIj6_xXQ_>l*1&fPY!5)}N{lT=5e15B?~JQ0D6os` zP+F@;qC117S_aFND${pTRPt_4Z^+!@Zs*Ns2qot8DeCW#6xp{*y-IUIF>!V#XgT6|Glucn|v_sv@ zCNBPv`!c)JUN!{eMOs|b(7-56vkvI<9CiT`1W@SsyS&+7sR?mgwJV)|&n*8(MyhYF z7H&In3bz`( zdXjo1sHy3k0nM8yGTcKp9$ zd&k9z=E|9MBdazqOx%~_RM@VZW{PbM<#{z0u+qxTRI#)^-xBpycwS|iL^%m$Qmi!g z2ef*AJg>C*N#@BAmqwYF8?WwjGKPnJ2! ze`&OoY?AGAUC=FCZk>LZJeB|kZB%AJ5LFrDF{C^L#~tn^D6(HmGcUfU$MLh80~%-5r{-IL`OP^ z0e52}7Scs*qzBQZzzOBvpH{>;sgwmvzm4#&3}s>!Oj&#;7gsj-GEuJbl&=CFBvug* zlc+?cDpNVu6b3U_rK*^1m%*kw)uRlKV*G#Ia7rF$E2L0DV;e?T?82!L`|u)&NGk`9 zkwg}S_^7Bn@iZ^d#Sl|039&s-9XDS51PK!*PGW;osyON9%q3~EAsUw&hF=`7J@U$0pu%scwA)>@SF_K&l@ zjymhAyPkUMtG|H;8)~=_8hmSI^G%tvgoR@?W8f;kAAXW}mA=2@w#vMeD@yKP3907W z=P&;L1h8YriVNt?VCWDiy%V(7O5cKf|HRFXGfXhikkvOUhV%usfnfj1kR_WKxI!iz zvS?DikcvW^zFLpLe*p5A_MZujwiT|I_;OQ+7vw^OzjcnEl=Z;KKNB% zU#u|=D{p=G5+W7!r$S5m!(!Q+^GlxG(Fokz2$(L)?07oXff;7%DtF2HmWNpiu%Gvd z{hJ4(`Mdle6v0Wse*2ZkWuZ!Ks=8^rez!jy2R|lCC6NP%Wd7@Co6LDE;-VqRpkiLUM*!=gY) zKK0=d01+hd-=@YoA7aX-wm#8z%jGu&M%)sz3FnwIUj^hY32UP~a7 z$P_A#F37em($4nCAYf7c*_O(bRaDiw;@568`hf*n+B&*=`UZwZ#wMm_<`zioIC0~} zPmnMXqL)OQ{m(oG^o=4>p^bw^IpB^}y7r;t8HdmQ<+0(a5w|ouU2L<>HI`3~oVjx6 z3CJt1lzzu3S6xm@eEiJIYFjL*;c5=|UrKGvF|DScrRjoV^D6c12wuxH+m3MJZ-SvGyi- zm99!)z)cAoOm3am1b_hv3N$bq+(Jrj%*3|uk;(7+HR>z3N<+LQt+soLN6G?U6R#DZ z{z1Xat4$pk6`=X6d1z>8TTNJl4$W=~t~3gEO`x=aVbhw=r04QYUpFWu{|RxeYaAiK z_TVeSz41-oSX4LWb3shQm9j8%CG$04mN@oMfA+7y1qkxSdNUgCZIdPkX6H-PiD^o? zT$5M!o?^L#)PHPr!BD_Kh}8$!5*Owmc_=Be*Or8Bv@`^~M!H5*w+*E<88U0SXTZ7E z5Iqm;qYa1dF~@}fV67BER@98_(cR3$=%za{PI~+t))@uvwkD+F0i<Yf36ro!KiJ z&|RAB^{^kEn-{zG;G6bHei};^MCX^a*4>mS4|%0B@U~^kd_S3=ZYy&0|{w zd(#2t9XOcAFw)z$SyaL-;fdIIc?4T9azJHq@RRdP}+M2cMz>g{{mUc~8p z#b&`PP9{_D>}>l&hE6c5kFv$>I%aWlN3ez8d@4R>>HSL6iKXN`o&STor4BxQ{~ur{ z4K^8zCmKX1nM%hFe!;L=Od_hE`gp-6WAT^bx~2}Ds&n1U2TG*2ZZB!w%7+>B~*O4P#XsL;aXZf0_SUPjHhlEh0pm^qIf8wdXMNA*LtLZO)t!le&?3Ood zJ4!>Yh5)whw+H>(s_d~4Lmw9S=J>{fnzjiMd8Q{9`kg&1mm1wzL%A{(wD$+lAwXcb zW+ktgx$*-9$IDno4?XnILl0Y`haP(9VGH!Ij2?Pe!ZKdOG+m<2q+vR1Xpl4;O}tvf zun1Bmq!Vmm){B|w1^e@ZI4KTfA;13lp+5PN+M*q$Ui?HaUK%QEITgBX2T6J8EQX+B zVmLjMI_*mQwB(7zws@xfNNn*>oO)Y|rQQ-w;oh4%N5LMhr8Q26btu?yieG7*|1<5u z&gGO(GJsZ`0V4y604^Z1jDf@fL>*8wfLrjOTOrY`LWBr5fM!O($iQf_@;YP)6lRX1 zNl`Z%YBVwOL=qD7pbh{4W3*1Tr-JP^Upj6paz zG>O21^g+-zs!$kCY1FA|GXX{h5X<0 zO;+CatN?++%yBd+>PAD2CPtn}LSi1&ArQ!{=!&Mv7N1*xh@M?&D=NgFfvPVsfpx{MZvo4;v zl?fnZU#{mM`-=+}4(j=3x@HJZtdF7J3nb`w16gqpcsLM{AZ#QEnK%##0l&1@4B?4^ zL4gAST`@2)$V!0&1%?2;lJcsu5C-3q)p{zt!(fn$hQp$-U7uo;DC{VATR_9 zgHsG_sHmU@096;PVFFMXTxG48meJ9_#LLhBF9AxOnNB96oYp^am;AALoR#kL0CaBx z4ejsBDav`+x}p8{lca-9tZxaza6a_gi4q)rZdb=KzMLJ6Z*J7V5lm(wtUS_i#i=z9 z!SPdK9d)}19RGyJ#o|}*&|A@2=2~A!YH<5eZo3 zMZ5%4IRq>U(^>Ril+pZ%V`F&CTZ}PAOJrg3CN6kNvRBdJmV{FYr3M~QdA)2$zimv zvRRLF(6Jj#;!03)6_7zc;Qed)=n?eMwRKb#*|t03Hrd{2(FMj1=GRgRpW8c9TTvvJ zYCxKt3(;hwfV|z1Ho>bRMd3lCu0pp3foxW7%avt7GXgVg9TxNYSo{>|&Ab29#@t)9 z)dg|=Mm*|wFKhW(>7%;A{Z_jnG(>37VOf2dT$6l)cO4Nd9pv$ijx8qv_2hPtG_dv5lk z|3!=YtTyY*+m8<#x=aj8@Oj7Ks&|6`7XPq-r+)aV=Kpt+#HKa}FSyWr1}uKl^yv2T wh)Zq_R7nQ@{hA2tm+iw=j9>^&ZJl3(If}a~g~K`ee{?qUlR5N&{7wM?0MIuZ7ytkO diff --git a/ui/dist/fonts/Geist-600.woff2 b/ui/dist/fonts/Geist-600.woff2 deleted file mode 100644 index e36e0c745914e395166f6bf8d288032780c6aff0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46304 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 diff --git a/ui/dist/icon-192.png b/ui/dist/icon-192.png deleted file mode 100644 index 6628f5d36887a1024602173b5f08bb5e99fef5a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6561 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 P&jlbaqYSB&HVOGZx3!+U diff --git a/ui/dist/icon-512.png b/ui/dist/icon-512.png deleted file mode 100644 index eda7f9aea64a498216eef226302a2dab93550325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24032 zcmZ6z2Ut@{*fyLH2uN3?S49O81O=o>NrXkP01607FVcJO1Y!fED2hl8s8s2_H|YXF zDWM}>2)zUd<)5(ozTfx#*Is++E@$S+Wc5Hj#r zG6)qM{ITube*peCYt=FC0s;Kr zD+ed+Rt-y+j{>#U+VZlymB^XTlh0kCq86m)Kqw7!NeNSdMjJPmcv>8pQ!I2Lmeh_NC;oeJ+D5-7^4V3aq?EPJj(gSu_}L1C=f z^~dL~=PfhEeA!U=)9xqS7GQ{5&94xkI(-2n3xi%6aV?hLm??5hUM7C=TijdsH`lC& zzN)>Jbiv%07>CLbh5C!k)17ilX35B|FcrTSD|H^lr_@gynyJ97{RD6iIBSV7)XwwogAqyzV=`wi7Zh_3uVP7|3z3*z&kB zqVW2SOJ=S2-zdK<7-y}ZgZ^iwKbs^gWuk?{P>066#rBmGMdLv;x1j%h|BK(S*p=g) zxgSn<&PHd1t9uo3?Mo0EVE=wSM2=4tHhR>TVOY-i5%0-7 z3>86&!!8SHRPDz*ez78V3z||!ry5l0(p)|+T5DeZw38F|oHZ*xVIk`k_kEqN#sQw~ z6uUv=JfYZb?aOXNowOXaP`$*HI;ezLFKq2;nIGe8+UI}cC9<%kT!hPXa25p2T#hfn zR(mdN*tYY?PUqyB-$1`2`$o%DAuRi-9iA^HxafdHVjAPfiq$!5_;@rdt}(pYJlC{R z!bQlhq+~+CnB=C;Gv{P4FJ#v7u5Ko+x22tYlh5}2O~!of+VdcF2;GBq)bpgN@$>j-zVWrEh$VXUN@ExazDZg@PaW zH5`?KBQv(&|8?2C>0R|cB|QRGE03se{mXgWAJZ(Oamf2;wm_HaN9TqLYLv2picaBm zE7II(Amv=-VJsX?fe9Yu!L;~pKT}u>JyD{qDeKj@YsjTU!AJZWVx#VMb{_Nb)~7{O zzhI1ZGAzQ50k>KI&zHV5)i}}7>w>^P7w~8( zCb*SH&{)p!n+9#60Ab^OAfX^zPa)h;3PR_;i<+wlx~yDt^Bl=VE9ctl|L~BL{y$McRQ&hh_WD%brgvh7+e=E)t0z+|ya-s5ye9Vd_g_v6flfi!{ov)n^gnK!D4e2r(3 z{-5X* zwgZD+pDUEEpMY>kSJ_P+kA$^U@n112`PNu8H@O)O>~zeds=j8S(X$^i;qJUlhY1!# zz`9};Z)}XACX2cDsmr|~9C6dZ^8vu6=KcFzoh7TmWK>ELm~pocTKwq-;BZ&`1H(3) zXTVXYNqRpxK?fGKOzBg8j1e{);$F-}eoy;(+puW%*9W2Mi@Em}=rS#;3_H@}*8^0F z#$jifu6Morge8M}HbNxC77KV+za~0$=GR3VdSQ$SU7dE8S%Z|0kB>xG*thySdYl}e zcyO}5n4?-ET)DlP_~zIlaQx&htPqTCg{>GL(fZx#k>X}>umEo^K7RRLA?c#bBgGwm zr|N728U5i6vfYKVl}(-}>Io1+1kA55j$SW6<~!lQ6~4%>^++A! zzNtHrR&LuU|Dw~7v+wV@i;oiJeiYKZ{*Lq1#dx{?tZV)_ORI3J*iaX zuGPJq;ZdYm+ji=|>hSyen%}Nt z+0GRZcqttd1x7dQ^kNiqRnJErUM^<@8@w3&zVhf$E$%boSQf^MZBRd-o!90)>Hcj} zA(NVzPHt~MW^CY$yx8*uLZz?JDN2TdTl!*L76$NV;u2a7yN27Kvro|J^4D+yD%EPUKxya#=tiwi4rcPFha+mvYSyiiMo=!;-Jx=y!Ln?7qe46)U z)Nq?tV+^#I;0_+_Ty-YB#9DQ1fE;2s;b{A2?g1}D$MGN{qVjoH$`w!_xEew9%KQWf z&1BXlRg@)ulASfu;eK)m`nn^#sa(cf3eBc>qptCX+-+xZyKM^X4bF69BSO27OwOXh z_y7aMu7tHhN&L9h0y=Wilg!IGniy^^VLSI7!WcQ$d=d>zzY@H8SsVw$IBE-5zX2m+ zCEm2^ob(ZK@{%n7h*!g;=3`eTKE}){`ncY-9NtW+Kvf|&i*e@DbN+u_k#gzo!p1+{5zXGYoGWDIMh!` z5SEk1HD*#*8a2X4;51?7}^9(shrMqx?pD_j)2FWMK z7?IQ8=Qj*X8LV$N)1x$z)lvZ8`KdJ=i^xyBFx&K&2GaE|zfcjBJ8q_&A?;XdO7s@8?wJApPv2kb{D!!I)TvFc|sl?Ba-~0`sK=rpO z#iaGU3OzX}pA#d%Al8iM8A^`+$nKKo+;%Y5>s3(a6Q|RJs5;1546inZ&YysK`bg&V z!4J)k;6|fu$tE6F>p1B1E=;L49jhSZt4hTQBS-?BC;35bhMhrM5DxNY*vo)ie8<4~ z5YNZ@IIz5(i$eL^hNLsq7B~YQ_yLn#7PZp&p04TF<-fZ@#xz7)Tc=_yf6C^k!a@-`bQuHOr-~=@|aa@^>`pwD}18=mu0XvoiFO_tpKEJ;wQ+#3}kUU+l z1}2;dJ{V;!6nLzaHCYxHaEJ;z-K_xgr-gZL^~YYb@?%m|7-X~@c4v`gSJ_s`FlxL< zA+VtytZsWJ;(4`K(gLxb2q(~yk+vQyWq%OcouvBkvb?X}KlktB+RpBsy2+q;EPs%H zesu@7*a4*m=lf{a#Wh<&K?vT6fYFxS9aN@~QGz zk5zt<4~|!FHthP}8ArsQNQ}6Zt(}y+O|pTl*hKU)jSe$q{@s@I0fCY%hyw$O_Vv56 zG;#2btig3`t(f!}bOZ7IyY@qFZc7bJtDCD{<;OYv%$e4F(!P}%3y%g&f1yBuE-=9S z)LEYEe%+6;LI~Td~b*E%y)TeWt5;IhHG zntaTjtWwo6^eViUKKfBBZkEvCRA|2+!w`6qlK9qT^8D#iXF$Y9>uXw9c~KC(In;z# zCADm2DxU3}>?!QJ(2AqmUTYJFZe?cMS>;%}+^CikTsT=J*1s`q4^RT@>VVa1tXVL~ zB2x)bYi7I}zavx9m46eO4e{obDhg>(Zn}vIyUH*f-F2TIo*A|I5N9cu1QrAuvyc-i45@iwHc+ri{?YeC_2fzeWi z9qVPk>N3DQa=CAZ?U{Olfj@0cp)vEq*7~(k`Q17m$ZBupLs|?{Qx4^nKg&sVt3D6Sj$(F z6nOR|tR)?KP2txXtCgo{Xiy!LWRoj1Zpr9h7*mQdD?Dho7_EIf`t#HYM4Igw&%1qK%WUQ%>@D3HPk*`o z6h#xg+E(s6D&zL|0;v$AMH;<5X#H}AusH@(o&0`_L5I=e9I--1YFzagk644TpRT5>^IYB{e<7g ztkpJ@4WJLD!yp;uG)oU2&y)>5>UCWut}6}Dxq$&OvnA@gHz52zzcGJS4R~I!1S(v# z-{*GJ0?~||p+vzs#--b%^OI3~Aa9_xpEEa6+U-tnuRPr3Qoa*3?c3$bjTn)7?m{k~ z52O8{v|9_-8zZVXJo7UwPk(=;aCqxMD)TyirW^4+jdt=_Np&uaYbCI7oRuHs9#%(l z7%9tB`|9IhEy@hI8@cZum}Y+rsFA@qM30T2-__V*T`ZK;4=rRiFEK-cS{&>_lSn}9 zJp9D&_v3mJU2lM5VCGZBC@{hrWH`^2MyjqyO`d6Dl*z6qA%l>^x1%_a@>he)L?`XF zorU$KSAN!h5=ra~R1CB}S+c^lCBW=&(1~`~Bt0d>fZp?)A*6ol)-BLc_%(Pk*@FDC z%Xh<3o!*bKJ+baY@A+rKWZ~qHv|4?DrcCG|Z)&I7_wOGJy~NHHT#sAr%{q&%cTNE9 zOpJW=gK|!0F2CfO8U9}ER_$%vS~!vQT@SX3(y_adDgjRCCEQV!A*_EaUJKomEUyH8 z_b{x#uZ%g9v2EC8%ad(RIoSaN~ zPioGF=WK5%;p5R~S?KP~?=Fy5Qz39m>=qpX9vwC^!>G zTn04vr{qF z92Gju6XjM~AtL|~>WnoHI#G<^zMmO9L@1mr=N%gvqr9K=Mn^aESa-K*nO?;;4O%g*z@EeGrt4gy=VIp>SOd*TU(ZL2i&_ZBiDmQ>ED^yDDBQYDQ>7yS1r z!KfHEFly4R`Yp8u#dvqHlWdG{AZxW~1;+7>v_OM@{Oa5l*d0}EVQ^jR%2aS8CIZ2ypWD*Hy?z(jdY?(up+(B1-!3>HrJAY zBQUdSb^45=-9TwEX&lHQxT929N8_!54J;_(A^Z#dsCXHjyu@64sm3K{(mVCQJF{5V zZU_}zPVd*)dpe`FL>hW@cWq0-(AiI!HIo1niR6+iO9`-Vc;n?S$!uBD(yR71NZ;`~ z5;!{_L|j6(lStB&6G3oKBgs|n*F ztK7aI()m@AJ!um6m1C`DSihS~4*uboRif0s-ks{ji(<^Ycot0ygym zu2yR_^?c}^XjnyWT$I3uGyV50Y^l4OyWkK(!y+CqANE{)IHj2(mtpM3YD@u|48Z}T zhS0&GY#5}lqrtMyux8SRTeZgkzV{EMt?7f@x5G#0%s`i5jyU~{BS}oI>{v%P!}ie) z{a(kBW7i%B9Z=AVwNrwV!$yv&Cxx8WWZWUP#_RcDa?&viVQVk-AiWEBbk1@e{y(o< z%twxXaP6?0M`z`pL@Or!jTiNOPpUh05$&q%%qQw1eu*Fp7-7YgQX$tAYrU`j?%WWb0whw zM7RI!w3rjjBr3N2eW%Zq`I=~Vhnib|SK`rrYsb{ah35j)!$(Xi|HoPZl3-`MlYbs! zkM;%=ZID3;#Qj6W(OTvI@2SjD|I2@4Kc`9678mY$=U9=oS(M-hxWG6?712 zB;>#ryPrFXWBSZ{@A}`a&n(;Jl_|XpNkQ(M)j>^E|L1En;Oa#nXtSGXSj=2LS~ZZfepN|6o&6+(mVEwP1|J9aWHxf;>_?W!m5OSBy}I=HNmHA0S`=M6IK)L%*OKGtl66r9+6tV|Jl0V4HW@v0-MEa z+yQ6zYO`*GZs`UoQZk|fIoO8wSKD9J*q9qw{qPxHdrQ@md%7&ef0w05_j5TQ=%0y_ z8>{v&42Kmtp^5sS_xQyY^uH5$9gLgklOAyYkx>*Rdr`U^uBDP^#k;i;%_Gls;Gzsg zb#NW1t(!7be4Mjg>M-4fNE*Q>{ghl5=mr^C*?>a#McH(z>nh_ zI~XWxMSOIP4E(Mzr2(rLKU={bxd#Yi(S(E4aB!v0xb zefQB}Af|9`S62^Pt4qEDd7~3sxcr0e^zbi!Aq8>Ll5}!JO@D_S0}mv?B1FpTo9@g} z*A78TW{CA^E~K<=0X?ve_TAvwotk~EtPe|gvhC!iSkDW>nkhk7?@erMW@9;hQPh4V z35YS|=l(Zr$V;d`$dbC23Xs82!DhkL}vp zeAD5Pe#_=lyzE|ZYn*W$N=*N}rOs{bf|bw70>i+jW; zec^8sz6uy6QNOt0oKu#TyoP=6-@RY)FxkNb;?tM&r{@cj4=*kMX{Di>o? z1Y6XT`!p_9N({tM&A&6RixkQn81l3n4Vj7J)UbcI*N84tRNCv#rqbUUq)7dm>+&?^ zcE}J~&*P;o)^bd2akgMdy66$WgbNg7#Hdc~KlK~+EF^t$FkgRIhMoIK;pXENIi_pZ zc2*+{Q(W$}4g4xB9jgk~;sABC4oK8Gpy&1`?zG*Gl-HO@T`Ir6S;lea{$EmTh0d(T&?^qbbOVNuLBak_Dqs) zPQ1sbocH&&CZ@F(1;l?rC?Ho%GX)+2v~if}-I`7}$D-#g4o~6dLv0KayJPWCYd$uB z(?DRaWT`-TEADr36Lz%uXAp1j;ip>R@(d-1pJO*fg7GZ?H&9R|&KLNQOLks2>%UIQ ze@{#^^BnJasii$T{^f>mo%q*8i?h{^v{j0HkpHv*fPc6G0&IhSDjni-v0wK=%fa39 zLc3cmhEYo{>s{U#7@Y0km|zpqGJmp;K(y-}ZupUHlCs3#{J$&VIFC)34@zGgLPs70 z@E?;pEF6=(Hr|+wI@FZVI?-8fVf83po~0bAY{+Ft!9&!5;lzvuVbL}VxZe}jw;#3V zjp||L4~E;idpb-nFZW4Cj!GeltWji;d78P|oKcIx-TKIUCyOEb8f>lWGDwVSU8gf4 zNi!KOhD5~(YG!>Ru*H65DOhIdpBCDgmN&Yq>NpN;;xh=A{eZQqL92A>-0s&I)}^JC;zU81DIZHNv5duK(mfP3n)OtP%6s9)1Y^HhRmlCeg8y12sF<=*Z3lDo@1 zG!TwAT%={SQtLR|0FcJ7Xyg8;Rt?-l!7p}^HY@ASS-t5MI?##+9$ylNl6vKxt^1~v=RL=- zG&L*}olCyMkD)h3NzV?GDGpnhm)@%_82$NTdqm-R+c`YP!OPXpt4aFxq0yk&^@Uka zUEp&gC0jO;_4>ny5090XVN!*5(vLvTc ziIV^P!o%+wAb{})&ktl!k<#;nXMth(Nro{9rV;D=b#9<$?b$B*`x^qUKk93B z*yYq%i3QMdcp0NbLOAx$w0{SfBe2iUAFk6B*|s~EvriTS4nz5A+!gCS8vcHe+U!~3 z@$*Rvs`F!U-wjQe2K2Ke=>?jt8kyerld?zszq!x_wx;b4zQm7MQb*8~M-Dr38kD;P zmlu4{*9X>pMKVR`TbfJ#g%Ne#w^j|ZeFF>7@>gfWKuV|{{QQ2=+GOa4?zUW^;eeC= z_j{HEp$xH(JV_M1DTCyl9Q=`S-;Or{Fs!?B_g3ci8FXYq5}#p|gXxgGzI%`WTMD%2 z?!kETgg^r5YIQb#I)e*+-kkQi%LL3^n`lJzo4>y%2->x#78dOzgphtrl0 zWbnT8wS3ZnsvZhO`wx()-|+nas!P<6I7DyyjeeQPk+#PSKELVTcld6CPTcJIH~h?d z5i{oJLPzR*VHE@=L&4Fy0wbMqG2P2m@gLr_47X9VW9?9Y?16S&ihd|Lp|C*;A+Y?_ z=L}fcK35Z+DKf1ttgWY^N7~89S|cRFsj}ut@1yhNV?4|kPJ=vS>~Ff+W^6d{M|3@L8E;G2FDn**9nqoy@KM^-e0(ouxT>D{8Xxys!W~iuNloCm4kBU)VW!oXng}08t*=uWfywouD@# zMgnmU;;9|H9BTY3hbCk>Fgq6zMYg~@t|UggSWk-QI;QLNlpNVCW&RN{mc%TN>XV&_ zRBZK$;AJ^`7YlS5v7?egRbMV&#?MfHeFt_O6mbvu-ui89J?wi4VD&`1_rGrsd(dWvniWtkd_;ab0(E5d!>8F#pkA_c1*6!`o z;l8}qL29f&IZpAq3sGR7>o#`3b4VO4%3Sej7WOKY7pbM(tAW zKdzUrnqH?`6zB0}RAu%ART~w)Wyq~sx1=I&oRf=Ew(o59*a71hV~NXZBa09(A96=a*nlz?&{#z|$b%KMRTD0Y38 z0zbNTaj>N(x5#&=Ukfb$x}df=8hD%=+&`1-mxx%EVDo2^r+T6C4;3{^j)uo6Z>MbN z0efZRXi&HbQzYv4`jQc|Q0WMAciRb+>JsJUx1m+IgC zA0+*SKvn2%Si$1Q$@(gL8DZm_N-f!djJ-+*r$*6Ie7%+TVV%>ffpz8xDgXQTe+s<02H7*t``IuGPj#X-Z{Hf++r&1v=L<>*~jYjK~Yb##4<0TFH zGEh=bj=iS@9`bE|T8dz0X!Ht1nW$%D$Kzn0`a*+f zP#M7h8q_*tRv=l>NJgg4zE^PKrXW<1)k>*i;4a6`UA ze}d*%gjIf-m?e~rC=O3{CQG1IT%Todcn9zj_sEK=H_GzI(rgC}^8h`KIeCR9oBG~J z;kU6bV8@7o#aVN5dKJ+Ml|;O!PyfSX1>mqnB%k8VjEklZ_e!!qJo%JvgzI*EU{VL) zz7KmC=&I=T_qNk0S{fNWx`xC6WW`6HK5I)TV1BOWKG%yhh%-nVFD3yga!)?$MX&ru zNEu_6)=cmzk+n%M*OEip0a^b5`%f$ z>vy=tZ!b^9vHC2%Gf$Os6x|R<)^PPfc36uziIDMr_@sgk(j@gKYxIkj_74TthG9vJ z@$-o4SU>KWiX*b7Z^(lm(Vr4JSv7P$k-y?(vb~^yi3LS@_VW`VNpC!a$cJ{e#qPe` z5$YRmSLAJ|kiamHpMP5!0Bg!>oGLuZ_L(ddk|`bUGL`Mscc6jXI~<=JZ&irntKo20 z@XrC9((nRVoC)pc;oPda+Lz;ZNk0hkO8C^}p45Dno3L0OxT>-n47)HeHCr$QeXssy zCYgqhh6CVUKuNMB9U?`Bcf0lj@Bv@mM+}T~+c;1|ZX02ioQz+f6(z*%*iyxL7E2A& zz61wcM~zvNBtp;Va~nA>(#`AZnLhxPpiiaxCmEi;=hrmalsJbesa|Nno^{+$YG_A~ zZ9!)5!ba+zR+^P9`CEurpCI-m7X2-XU9WYO#;u*@X2F{f>Fcj5H7^zr3@bdF$@0tP z%1@yA@Qq!#PPtF2F4eCEUeBNqO=~RS%Xl`XT4sy_vH$V6&cWV=-A2fT#r>mUPVM~x z)@;4!?8L7yUt7kUJWWv9JqAeASGZAg2Ux=`+6?Ac!*}#nP(;LSYbQwpAIe1iJD^i) z_>*dt6tEd7@|7HSg;#62F&Y%^CO;cEiNgVOWSQU`3nit{>q4Uw2mgq?F=6E;zXS6P zSDqXIjlh!@@#@lN7O)UE$XVtXZSBV{p?fWgYv_LEOlwOoX=;?RKAOYZL$rDkfa|~3 zl5LxPWdGb&-NT=`X|H+P)ppypiVxxS__)I4CJAs2?MXLbg_LZ*i!_*J;f(tR4G>!L z#e1$%;iiXcjr6To$sw3VqC7$*?f(2%?dHgD860t`+&BEj#9T}<2@B&;9}$SP3tf48 z!}l-JHt!yk(CTk%I>(VR=~dtRFS+4|8$ZsIxXCyQ1Sti%1W%l)-^bcI^?lUWZ{cZx zO0=g_E`H)>F4pefm49818QV~?0xT@m6DZ>D<#eN(*M@qSD0tQvg73if%l^X{zjzT9{f0`OK7R%Yu0)|7L{ox|1*=-Du`W#RBIIZuqI zlh7gm{CYF=(C-QP7YN4K3%ACrpkywp@Scl0NqC3PoBLsClZx-Qvk^T*rw8hQlg#9)Y{b0M({CyZ4in7O>uWtmComZ__3QqA-8`9xkc}<_Ib%YNE;^cm& zu!pp1HV~#{gE}=sJwB}U?B3bEKTz+fF`hRqI!LeLY@^${r2#Irr>#Kb%cOpq>TV&( zbayE}?d7}eQA$!5oEg8frEQu$Fsk_0kpVyN0ZD!l6II>d@0q;W#O@6Ch}^#nt^-Mxx5r_+>(mp3|hqYeBU00qOq~{x{CR$&N>I^6IsJ z5GsgQKm?pi6T%>ISytvJj}jU&uyp_DRmjpUQ47|e+P*23zi*$R2I&k9`pyU>5)snXUcxUUP2WeSnFDU^UU_Un$b_* z`cBqG7sM{eG=kYbQ5MiSUlJ{x%ydAN(7m|*^i>w$`T^Nb{1f#WNC)@_h=pC}p%P>q zrlC9kh|}7VD?89s#+b9E-b(7viy85JOjM8mPW4Ll4G?}ut2N!dHg$Fvcbzk*`znNL zWTI8%87>tqw}@bn#i8lB+{3yvqh$Rv{D0y`y$F z@K;}oJGtOF=sA*peM)-jY_1!H1Cvx9Bva4xEO6074pKaL_UehB`DISmtuUaeC8?RQ z1{pFMZYgGv>Df1f99TVeUC56@`UdHP(L^3{&ostHwlnNJCb;kvg&Qx}SR14j*GClcE5yqnd;p>`Wj!}*gx;>^6{5m^ zpz2_xc;tC55RX0+#CS&W{Egbc<>|z>=tNeCdlUE3vso6VSzR;$DSaEmLY}zV-i|+a zfjy0nBcIaDh1tnz-RMNUGANf+luhfln|Xr(*b{#;TMAy}W!!vSaLVbPdletXSo~sG zy0Rd(=J~|^)P8NZD}S`=>3`%nx8Yw^$Ie|=nEeKE4h!pJ*Mw>PRR+?x8k4)osK6CI z_KWPVI$(uM)J```k7I#EFS4k}CW(_~v^T&v@2(#1>abs*2}Uc7XOK@SK8AjNCn= z79)SU=~t#-lPABKeSF?10#WCc3!Z=+TGHHOAoDeR6#@yBopgD7V1!*|AuWXxX)+aY z1PZ1&FW!Y(2p=_3Uk9`p_%yW1E}!!`3Lk<5RT&%?-mBP)?gVsre%$Q3;e_C2AA^m2Lnz|ByHrjcubC-dIeRm?$gk{C z*N^wyF((LI>RR3`h0~v8_yqZ%;kgf3zT*N`h%yizd2kIkCPF>5xpdhxH|Y^B(0eQ)%K z3=d%noWja`<6GlLo%j;Nk3jV6UotrFK#ls1g;If9s9iyiR2K%C|ITu9lg@AOPjk_6 zeOkZd@6A-5kMNd^b3J)>nR9#DIolBG91qIVz3UmlF3k^y%=NYVeqP_Lgj`8Sf+($J zxF@lGjw%B_9_6G1itv#hQwJKCspo{A`xowF;hOXP#O;E-m|pWVP)Z^&;7YJc!SzxX0887B=*2cT9q=({}Y zUo-pC;7EJ|FUo{h%?MyEu69DhN69o~Pa%o9Edq3AUBNoik$UJ*WcCr(G3sD8;p!ws}~N+H-B16%fI#jCCZyC3zPpQXZ?hDzic zI&2PZ9gBTTqp9wny1~`awc-?miLt!;N=rB+F0$AC97Th2oz&w}RULkvsQ%v1qd0^U z9S|U9z3-yL#aLrv&YAzwGun+hyVL zz}62>_Y1%I#1_wEI$6}8r_8Ddob)y0XQ(9lOx$tdh3D^0GU7|2!; zsb~AYy*Dy-BmVk<_FvSZChS22cBk9^Yw9N;vw9}wMPqi%YFAbP@oz@`_wF>>Oa{1!`7* zjB*x?C_XrIvRG>*{54Ls@ZD(8MGF8wWl|y)L21h23p)?4#iVS@O6{i_QIE}#yJkRl zr|;(?pctmY3IfgI1Ff_n!UZ-8VZPt*QcFrdjN8Q{{Ypmb{KbiTD7@JmiIM2f{6=cV=;usb?1ratC6NH4Ef6#SL=kFnM z04NTZfJ8kcem=Ms9JE5eS0AknN&`&gfoOfp4pI2RjJkzI*z99483h6rsuP>^7m3}1 zohO%t9~4piSvjv)=nbzvo;vi~7_YMROo4nR>4smloAj$KyCb80c^-zk@1JLE9m?#R zHmf-pdU5=PaFn-CzdM~H7EH$X149|igI(5f6rD{V$>}{9uA$rL6NlsPhKK#tqAlk| zS@e-u4X;kx!U~~9nuZ0%puSCICgVWI8dKW$mfo-0w}90crg7U6s3_1#s!rtfZ(DHfnenc|IWhE<(M^FC zh1klp*-hy2tc~D@bsNV%t}m6X^05f`9e~(z(B5H0GK7Ru_%40vk@u`j+e%0nX3F~P zw~>Quqi;t5l$JCr%yD4NmvQ^ZTFMVK!0z;|3~nB~^YMhkI>$}%jkw&Jmlu;{I4A?~M)u_VFUx)yDYU0I5n-V?=a_UBHM*e}u)FjjxTTO}7qX_}xlcFf4 zvdk(|`s(EUR|l5ZRW{PZywMB&5GRNU!xvH}>%0eky3C=36wC97e6@PW447fwKAiv4y^G>cK_y2GPGqBg+ z^BTZ$EQw(g7opWY}hpNCwxny0+NL(*dO*Yy-Z`lG*^_5*DU2vual}R5BLI&#z8@ z4d^QkdqbxOpHP_5l5nTQw2PkdPzlDTr*sxGuHmt(%{{uBx+uj^3&fmcG0r1VaQoIP z{rU$awqB^RBFgYCU`rxNoP`^OY{QR?{v5DQTug_u4e{_HoE_uId^t-MUYr!j|U~ zVw(5n^Mk!mKNColOoiq{X(um;SK5Z!|HY>5fBUog9A5>v&&^Y+>bko=`QPszs}?h_ zK?N;z+p*`^ZRDEb-aOQE{E#FIu;2OJa2qkNLm~wY7q1x3-P6gaq10ga2eNRfX5~SbGm-E|6cZDhQW9yPrzDeUSGogL!8R0C_UC zF{fYf1vtbNzGwdTYCnwueXaReWItP;OYDl7u}on&+sVDvr4Ycjb?pvaDMfw9YueRCOdWzNY%K(Kre zZ}V*AV-8UeIEN*PV&ArYlQarpE~iZTPjHCYUaLA9ezf&-HXKAV9&LUfccwUq7S|xN zrRYkEK18(ems_Uu78|&2$$65<_tPOt7!u0UXijwFc$>*@So1A%oYwR*sCkp4{rBgx zfKW6bj)X2PPrq(De)7NLq(4dbRg_Q58bfVBPh)+rN#cyX)Vr;VqN5d(AMuSdM>M9D zJL}CrdpQy3woD@9K^SNlK6gj>Pww=B^@BT;k1HRZRT-(PNS42`p9<<~&u(?CI&ax( zoit%lJ*5jXZwq@j<}KA8EKy4I&nowIPbuCxJzL*FgoIJ0oV1f z3g%?V$mx5f2Mmj_#z3i2gaE=&Zp_mac!^N=f(1zdzI%h9)KV0VgQ@-}v#D}-C7nX7 zGVs58<}`rb?M}Iuy+S%VFjuQJ-5JORS53wk0Dd+sX(v!zsL*Yr)NX8e0d7P#?@KL%HKtx3l@pY;$9mZKn~J5~C;?h1MBlLa0p zMXVJ~-qa%?)!$tpC~aLh*0=&ZH9~?a0Lqvnto0X^v5kNIHG`WRJ`^BmmMhvu8A_br z-OnKf>!3hIZQ+EDRZ$4t3l)wRbr8}86nU|T1wm6FqHv5A<68##dz1lYFgjvAI-B## zA;ErX^41w(AXPM$6_RLpatL7T4#(I6lV|3fwq_rkB1nn@pf9WKo#NcbGR`b?^iXkg>4-D5VNnq1-b zt&I-LpPW%K&7HZzRt#mp7~K+7hENmMOSMN`;KrWzFtd&1&ew_C5cS_Xx!s^OM*+H{ z_IP>GDp@~eTdp=H;O9{^mvz@D*F^?b#e81h`g*kdD#V&kqMvUapu>Wiq_)APmwI3e z%{}6@&nXI;AkC!7vF}T_uCKFLxGZx?knk0S*1*i8pNBOzN>@wlm>>mc);D;t z2qg1$U~}Z<)}-}Yj{xU4t}pn8iM)6w<=4K=?u{L#ws#Re3Hs^6iSl%{GBc5P!8g!J zQW-!=_u*TU?w868N=;%v!R z30PK%j!XvvE+p$@vHsK>NUEK$2xeVir23-o+scQ>{iq#Q|W*H5jyILel+udKr6rb1zfFfa;AHG9l)?677SJC zpk=`b;S-t^EYth;!L_l%-*c=^9pAk9n^s7r3X7yz83f#({vj2V(viAWX*hBH%xa-{ zXqCv`e84lBktbb-Q;TI+$Ph5o0=NnbPpB2lYVnJ=^cOdqaW(@2B_;w(?EN=F`KvgNwjVXb1Vs%w8)# z8}8vYd5{hma9ms8CE2>j9o+{*61Y35n3kAw%@`A@@K%XkarXvJX*@QlN{$5g z#Kp8>U#L+ejYRNeL0X>CwSdWa9xbMV=fPeF7YT6@ph5!Yp?3sSmdq2A5^bZDH8*B< z>40~*(Y+OdEUFr>PMy0%BK4!Pu9gJMvFvVaDgi{hcoz?(q6Lakyrf((E(-PwCLxv$ zS=y=>cWN+xD;A#{6Eh}1I-PCFcQt;=@ONr_FA2; zrYtJp=OG_wws@f9Q{$Fnu0YH`O&3|L2sFSaz)j?_}MZ}3h;!Rh1V#R){>m2?} zuZ(X}Pryl_wM@w?d38{t(*6RJ@c&oDnFm6-#eICnSd(TfNn(r?ZI%`x+k`@Cxmn9j zmP*-*5yp&V(4wRmWlPUx?=$Clp0obW?|i=> zR1c~^PAyNQtpdB-y4n5IRWg01dyAsZsOMqXg%u7}a*tpAPFQ0POG}xfaGt#Pzf)q5 z5?6JlymQ>3@L2j-QL&BPTt&Xd)gC;=`tqL`Sv;uMl!7g4?dwP`dXt>?EA!_^qm4Wg zrahjzAL?D0iZ0)C5SjjwMr-3qYv(*sT*61HttPY!9L=1?rNEdSAsC?k-D zcSW4QnE(so&fnQJkTj`p#lnTs z2Fw3qzlVQ@+ork|uea&Rtxy>B^IE}X@TpKbo{wT~;bnL8j6LHWcarqRtI}dV@3$ex zT7N&wHE-@x5b@i?O^PaC=vLBs=EM``?8SJTPS+hs1ZQF4el=&TF}g z8p=|$$rA@3Sz2`D5U$7}YtR?QBoC!%Ppz1PIF3bpy1URd^D4ePexxcG_$}S_o!C_D zoe!KRv+@5-E{sRtJN|E%D-Pz;X%R@J>OdYBq{d%)Lw0C>YJWQzG$jm)+QMR+zm2g4 zN{97pGtB8aqqCZgTOW`;8nQHOZ92l2ZZ2*&bU-a9!qxJwx$v{0-~3A^dR}LrmrKa# zK&)SR^M;V>_18PzSQ|RIFdE(B4T6JJXpIPUL0IG3RKsCw`{HEsh!0FjfA5lPb&`vI za~e)796IMQ`DZ5McPC;k;4EU+R#+cC21lF!;G~U9Z~QayD66N|IVn@ANsQN_^o(~W zdtIlaLHn#VTF`dmI*T)lIax5Ypnv!1C0rK|bA|J8T;lLV?@?vL6aTsg>mhpjLlq@w zzg)JG==g!Q;k7jUNo|YW;UIfm_pBI39^I&;wh`=N%IAYhs z?!Q6C@iJTKAHnPPecxXFA4NlYyNhpta^+5uLvrO0zRQs_z6;CYwPz$3z;id)z`uy~ z$KieUePVuy@#%Gp?lys3(i?$-UzFLFxv2S0e@->_a|N@y715N>b7l;uXfRU%lj5Au zU&MJC{f;dZ zN1r}HC0T5;FIz~NJ@|E9iaq8WNedk40e5cw*(3D*xp~J5TGTVf+t((V#z2CRKvigP?ZS)Xw$)LIq zH+&sMf4D+aZ*1;4t0(=fE|OS<3EkWmf*-_6j_riFc-@B6BUfJQKVST z(c*E<%!NY~ppxWW;;qxWe~~#CI_dBWqu%8A^F{Y`H5R0fwURdQNeW8B(p{|CLVo72 zH(OqWG}8E4n9o8! z*!9~#Tn^~1obswz9amSbtG^|bKIY}Ja7!+0>;&92a6%X5+rKjOT42inm`OKFJ@YH&SFSs<&Ayq0YEUi9`$$P&y*GWmaW<=*gEn9XZhgzLzc-9*Frn;! zT@ojBxtV$g-YBQRk{57cMh2L=X8Ria}`3zn@QgkC6!fZ$ryZ_nYN3y z$J(JG4SJn$fe;z`47E6Qh?1V)cb^JgNkmrl;%s2a#j@Fppi8W~#BW$Cm}P>vO284Y z8x+apTtb-ieaGx+wD~h?>Rx(jjQze#(l$lQjRN;7tWlb*1l(qE5qv|O0NjRd4%@|} zkVXTi!lGE75Z)*MDOI^*HlBy5nb+gAkG>w?kR|}<9*n6@wE?YVl%gb>#6*^-`mclP6mMu+-(PH-yRg)T}Q1IQ@WXsdS%mTypCeBZH5EToGs1#1(lfY zU!V~}Ls~}?1?MNWf{U0A^Zd@G9#+Mf9DQ3fE>C7j`hN=+J~e`^=7}KPY39@#eWGh` z#8M1>PrfBeb7r_ek!$`FHFSk8;vON8KZ-u|b@R<7MJv=*z4v?$MmpgFDSOIS-+k9^ zJ&SUZMK#kX3HI0nUafsWVuznVhV{Qk|ApxfNGm|a7;Tl?6vy$WZ+Hfk4N?)Yrg(O? zMC&9CD|(ZORlsrDYxa1hHE;RIUw)l&<`}!j#5@guVR@T*{J@ z9*LlhhZEIZgv$YWL$;g?4jSh~M4zC13Y0WYNB7EAg{aBt+?B<`X{|Qx^a%y6x3a5- z>)~TxU0^pCBV8<5vTh_|2|9(uFqOzc!Vc3f5}&-~ECR|DP!k^6 z*CKuL^9;myO#648FrQuJsOF0 z3*4c2oO<)VV}9uoQ=>-a&x{Wy>}$W|x5r9JW(mJu$gm2N9Gr1|%574}D)2?8-MU=) z9}LV%s{nS<)0ZUjiyvl71~tYp-WQFFHPVxpS!i`WMi;|3 z^kR@J@ifnCZXX-w*ir-Qp$m^haP>wS!v;U>vHij0T196QNAOwat_cNaetGb5V?qDk zn$7U!x}V&|6Y*a5QBhIp2*8mpJ`xGKFk5|ClxY#X<%M3+#ELh5Yl zSDzHJ);Kqx8=i}^g_0fC+?n*c(8=8Ct&I3m=QDH(d_yy4W0OaolHK<#8y!r!ffqdc zR@ln)t)Yob@hE`Y2tBFFVl!%V30q!vi|1S^erw5=7+442`+JJJDbL2sZ(CB5TdB5_ zh15o*ve4Ekms9WGw{eZJkvSkQH) zFdp}3qp?$L+<>4C)66D}?>`6N_-WLBG#9@kRihz|QnE9-2Rlt5GcYYi2Yk5BpPuq;?l1GQbr8l> zGuRB?uju;^USvP1o;0Q3{5=M_nw``@oIccPP_ddDH|8VM6N*=)#Ud4st+Ecz8#N#4 zd}7PoTq8naBvT*;QORuDZj@OCSjebkXLk}KT>$ZSovN|>+*dA0KHN+ZkV&stzPu2o z6=yEpKAtaAvca8}+>Z{!??_H?fpQX#pG7JN?hH)av^TfY_-ff6V?92@>NYlGQ5Q)x z{Vt8}PVg-^O_w?oa9GUYa2eF-*te2?YwUVZDGzMXbm?a_fx2mGT=c+ojTQ$X=3{z5`c5kD#YnexO*xrESjFxl}*A(b|dDc&Q#tZNc>}asP7IwJA!t zP0-ACH&<65e*JpHtSr)}N4aMukS^;UEzmNJ)=oVAp|7tpEye%D!l3Pgn7V#}8eS4( z^K23~H_}I2LD8{D+1lkVLUSBNqeuV}Ceh5!Fr_jI35C^ky~s`*u1P!+?jvN(qK!LW zCpmdx3*l}$_+HCK2)u-`gbgqtG#yrYSS==$oI7XZIBLz<*=o$_0_ z&t-A%oZ3YNe(0Mz0xsvi@>-pSokKGxhM@ z3GoC61Hm4@p&g1miaa_#X?)at;x)aH-NBz)Bvbp|p8&w#Ev*q<9cGGmd%BM3?W3FXP-aNY|umA}@1y%5zuao~Lw2~;+Z@E$JrU@#vESaf{YZISsFT^_00kM_9bxB`$Xs@50Pz9ih0(s!0T z;vx_NN_Ak`^Uqj zo33-y0hTAGHzGaqaKF6Bs=4OO4~QgvSx+|?ACFly1N>#}P|Z-J0BA{3__mLjB2HkU zf@*(DLZ$wRHs3IY9zc8$`7B6CHGfD}C>i=cOy7{?)B6@;QB^ad8F7s>%tUX%+Bj_R z%N=creq5H>?kW0%-)TT$u^Rd3U9R=&jMkwqiP~7&s@Pv8CYr2PQC=MH+9N?0J4to? zv}LSK$sskzG-2J-;bN@obCjaK81hU8MvKh|I~T{nmCs!Y5$X?E*At3CqtJiQ!X(1+ zT+S&o;4ZS3X_rDe>&FTZ$m(qr1%><-o~@R5ggo>7b7Gp`x_i0K)^N}wYWh8bc#VJ} zp#J+VQ24U+1&x0=*w`#yVCm3yS06v7HEtnK;EMkLlZYuRo46IHJI~hp@``ygROBNS zWP-3i1f6CS&};P&$O|{Qqlr^2fI{~Mt+Q^)oj8?x=!(s%1}~ZyXQ;D?m)SB7oB{!57v)0B$2jH6yH^>Q#I#LXSeS$iN8n4_A9LShjl~t7I*}K*n z=vhW~*Q!>%=>dhQ{zIK}rlJq5&&Guu(`4m#pAh~Jcr1S6-->)dWB-1pAr`x=_X(fl z>sToE*>*QXpAc|Fn8py-uaTYS@r!-WA6AxJ%6lkhZMC+}%i5~QEGegGGxRFgNY&JZ zAjV2?e{o-7O4q(`Q&EM{yOTQWU)#Lu$^TyJxi{9WluK)jp{&(MBSKik%)0C*}U358cm&5qrx)w{T zc>#oJ*cca_J=|~&5X4b~WQVSqznn`|ZQ?jepHr&*hWeI^uI;7r#h6H&NV6%X_{D$5 z7q9I~{L9Rr8|jj=>F16SEkBJ~;*BVPiCw>OySHCUEdM80;JLCz>AIuP@;h#8Br9;ToDi?N688zNhA$9gNi5!NKnEcIU{MvL2^(K zVI(s|!GR$U8D@J3_u_AB|Jd59{l2Ze#jSg%-hR7Jcb`6e&U2pg2B|2?lApeG8Ulfk z%gfzUgFx`X|KdYPh`@i=Tza>`e@I`*={i6lXQ*-i;z2&e(Lo?A5czvj8ZL3@_#Jmm z1Y!}1HGayfE7H~(Ih=pZWTta;Jnfl`l&a*HXH9zDRlzi$2YOUCEqdj@|!v-$5C zze}C)f6w?y*L?ha7)bDs1^NdMLU;}TNH~5`JP7`|W69_Y@gR6X5F+D)KQb$bkIy{_ z0sq0@%afzyHSj`MSk4~Kr_RTOo`vc?$>Ce|jqbSN-)~ACzG-}J7Vne~fs~}n(Ql5w zdObONyaukndL@Va+pBTi7ZNHGIl@C(_>KEdot%U<0pal^Bx77C?+`;s&Pg1}qlhn- z2zkLmLPB{ot5YX?T_S{>=+)(9uf~53U-;MX11B4PIXS!!aU8+FqWQA8GO0lBP!R?Y zA1xwK)c+>og8y$zJUad={F6KJ3vzNNf+4;qcH-pD<249L{<{+aK^r~}5FeIh|HD13 zyY_?NG=$jCXX)s-%E?~;8ve^)!|VJtJojJ2NBuQ?$BE$y|57}X@R|Rm8z0^Z`TwNe z@#p+?Bro9MpE#10e;uBKLoauMK&s-`uY9JG_#L4^UuFrDSIAMT7KuBi4z$YmFJZ@6 zMI52+6uYx_Lr%sKxwTJ*iAtPM==I$~y|CH? zT|wr5S1AA3BjoV3op;bam?t|+b&(Pn5t8eNGTeTeSZEf8974vo+jo5#8b9r2K zXlwrEtnH-OBqdROze^qUf%dW361A(tEqdPgDed-g?ktlI!B=^$IMw*i6!BASE*`1L zdrE@Lrg)*%-#s$1oB5i*XWXq36G~-)dUPba>pu8(zAP-FIvfNg*)P#Qy{jJ;wqe_Q zd_qHpwuhRHX`v=8OMOSmZhV>SW=_Yze0ur=@hu}=j?Jw<&%#)C>-oq64BaI0#w4kz zn7&2({wCHQYE$U3jKH2Z_!KgT-@s2s@Y(tJz^+KZpT+mJ5J#jRt7jHg3=OudMOKB!7FOWww9D7RU z$XI6NX%EY;fYmamnOq{m-#E5&HE;0B-v`JfYPWX>?MFfWMn#x7p~> zL;o1KF5aMDD4s`DG?(1)Ug2?X=g>E}M@|1>^K25VR z(<`d*meN zyy|(1!{W;-rMDlDk+qk-6)Gh-xZe=dK|=aKpHOBhPo2?3F26$TDI}>?qoJGe zo~MG7cX_sA2lu2+zJjHIa1%u}kiFg8V#Ne`d=9Ac zc4aU7qI4!_5Ba2wY1K@tKWk{F2b(L`+USvH)U{-L&t(0Qts$C}c`TZd8@ynsQoi^Z z9#Tf+HN*RFN83i;8lDrpABbu;=-$!>EjL#>SlZd>L|@JGMV1F2p0%xhVu>|{*1k8zLx%UQJcZ%zGGE4GEH<#(f0hwTWs09Jzhl;XWprp*>rQY!~C_y znDau?;r(0FDmfP-f?%JQ&PEqhj)7(!yk`)MOm7Y5ioo6;tS#+Dy3OuM6gBkot<6bx zT$^b79b`$np{R_aSeL<3D{ca_NKGO4aZL{jfULa$TaI z19+GeL+(^|Vv~4$2ob)s=#eMz^x`w5Q|b0S18yf#C(0akNS)+Z$gv3A1PY`5sp6`% z3JUu>*LBh%KE8E~N1YOwNIuu?Fc8heJuWoP&ACgycxuW(B<;k&1SW}4#1}VdJ~&E? zyg}p?gpBa{@sTGXV02&5ge3;&hGg!H9SC*%Sf~KsZ+r==;2Do_ImPIimP)8-klAd> zkyuji^WH7!_9@LaX#wjzd_@*dvh&RFv7TkrdMbL_^G2c;>0WK&3*<8@*lYjyYTy1t zR9lq>>h24PZ@9T89$Q@g-E~7uP`Sn>FLUOQu~D{>IvqYN6NNo4DZ4 zkiw{d-cRP|!=3flQYqgg8!B?#uJDyy`ZYZkf?Ht&@Pq?G7tl`T$m}8MDa~6_LFvi3 zzyUF40Vfjw&HHnB=Z<^oJc*+NTwn~~gsIMvMi-cKa z6y^#G%%8etF;wRD6Ixq^pootzoSZR~w;s;_nfj;o%<{dev!RV#XqS%xuW>4yIOX=k z5oy17Ehi=IT?b;153VL=1D{#airtwCs6f`pRh{c<6hUu(j5*M7Tyys|DNI0iD$b(p z7;#5xBKkY4>67TGN<7y!C*oZ=3@uxF8Z{2ojso32) z$suH!TosLS$)x3Dj)U_R{zuA8Hrve}p+#5JQkD6YS7f=g0aerdka{MhA2n`>+58j} zbRe&(+m~k@Jg6W|yrdgGmnQ2;HQbp(KbqIqT1II_EwRn$v zVwslNi)&X=b{qkI8YPUb&b1XVyJ#0~L#vjd#(Rfi_V_Q?*5o9pl&~UW9=bjdyRenz zfV}U-7jb3zk;o_;+req%aAnfqSB(x8w1zj zBt(HG(Lhi_zwjBUj@!@GVJlm5DB?nxu83>M{&*l4 z`r_W+Dhi#+wCoUC%AlK#Hc(?d(R28;)Lh6dC06C~0GUd$T#*Hh&<^Pj!h)#_25OO8 z(}Jkw+X;utVCu@h_s`U za|#E}AjP-qO=EIXxlQ2 zSa<&2?#_fXs7>Yl{TX2lG&Pzcqs6=?3G!ny5TE7W>4gxZm2=c#&nk`jcT=HG65h3L zm4h(-bSBu=8*PYN)zaycZ52jc9(X3@);dfmptFnwKacV*-xm>IJs%9gxR{(Zj=5b6 z)Z*IN4`h^nS(dStE^1EU-@nJfr^zu!mU^xR25YvTY&yK$+M_fP87&s#kLeSc_^b)Y zR)6Dm{+eI-xD>kmGJ;g=rXv*f5>3AyxgRC8EGMG08g@p6Bb<{0|MZEbEeRNue38TA zJ6pB6;Yz7$&xtT--0!O)_`k*jl6@NdmK4Aeo|9@@Vp;vggdv4L$IOxsX*KaF;_WDbEf0&9cY``w@gZ=nO!)F@k5ERgW@w*B zKEbbb9*aJ_S7J6OyW0X(2aCPDk+=^Rz%+hzUHuaa7hL`Q90Pr$J-GZS|L%s3#s<&z zbNMBcHjl3ysO!X{RG&j^FSYs3g8TD9rLBwTqqcq;PL6fqaOeMVz?zW$|JXs z-yRNqG>lTUO?OFU%nz(NO((JOro!7UQvY*2%0@f1C@Ac}<9bs{JdMGi+~WPog;R~EwQFnJc#hoZ8uPle#?whFUq=K8)B+@uEhNQT(PmeliD0@TW5}3$mGeGnjD~^{C4sHpzINAcKjYT<%&pQ|(dov|LiS}8Pu804euhvMkX9eY9*HhEW6g;ntlkt6 zxiGxngdEKq^;%XD3E@=`5g*)>H8BKzLeBbU$dRoj45uX|>M=d49$UXHQTC{MZ{qTk z58#5VPXeBRBwpPZ=Q#pkc~iuF(=IskmhENMP+->p30Z6M#vM`dMUn9htG8teB0?v}2Tvy|?{Ftt4Oab}3w&!A z4Ye-b39YXJjt1lkk?QA*9LfVh-V8xa7b@CAE_j#TV3Qmy=w6UGy}IIq4|z>@@6=OC ziqW8+%XgE#J-Ry@-iEWF%bsm82fBjb2Xc=r315&!cCq;n-AIBq+|4!4?pz8Z?Fqj? z!;s`ii_D?yry(qlsm{OmyQ!9J zW}ogxGI6-n-uEgpsy3R)g?bo7Kow6)k9YBzyGO2@+QQwk)G-0Hn_aM5?I1KS5MebD zzO(k>k!T^U^4ZY3#a;OWW9=bIxBG_|6I5t|{^_@oy`Ptg+Pk#d7J*uJ0@v{xJht83 z>g3D>RHCxr1EI>ZN*@G!;8g{m#{_ut^GiV-oaNc!XSee6+QDJW=1|&hAF}6qLLFEjYr3ktt6YBbc?-ZcqZLOMNh9+ z+%oTO==SEH>-4=TChKSH!qk~P#VyVSTH;ifh2RT>tham#y_qW}6KV$H@7^6<=Q)yZ zUYFVI|EOON?iw~vx9;z`Plk_mU_UUl`|dx=wXu6H!0yW|n(y??A$A7Jo&DXa4Aigp znYWr-Y|sXtS_WDbL#KGk*myQ)6q=)p$YbDi^QmKdjici?hsKlQwzb8E zgJ-0wR#*>aiZ0q&<>@3dZ?F|Sz!b~KuD6Swc1YNi5I(yX zvdgbgGPLs={jR(b!S*GvDX@T&*+-Y!OR^+uF#$%2mhidX3Z?rr`1$z2ksj|?7*w;0`C z!xAnaUoX?98egNsGNg zpz)}L#!vtER7^23NBU>PRJ>TB=lPSG2OwY-v_FY#nD5z$^kupGF4ejGKE$o|T~s3f z6buBPkua)$f4WjHzRXW+h&Ze<#Zo@Hf*DLv_GpT)h$DG|lUlwHM#Mjxul7fIeY2cb z<|`j>gBebEL5N)>Ki@uT*)qj<`-g?HeGy7*{e1;{Q8@hBjzIRf(PA>m3m;M%xADV~ zpS!cjqC>pLnoEauZ{-+dEp+6h@ChDg}jYn8*sRlk)!@^e%~K*aqe8NDnx|rF8FK{PR~tZvqSDf=Wo@0hpK`r z^nw^;BFm2%;y_NEbuzj_WTc{JHK#>B1VS`4FtX^WR11v!v&$$E^ynm3x2;KZaDPgj zN=|@7#>DlBe?>G2r6MWr(kt$-Y00nk{03$0cXX|XEj!fLYN<6ob9cXr$Ys*pNT+HC z4)H(c=}C_Z7Ji-OrMLItp}EimCO7t`X^ay%`-o&uxXp|Kbm^TzXYMdxzzy@XUeB73 zrW3vEnPaEE&ZH+_xxq;SBx7l+CK!zS{DlQ4aYVF#X3hkPRD!;N6#EE)6iQpz`L0p> zRC**miIxyxv)@VzgrVN_YwEECHpZS+@qxsTO?>BBGqk;_8G0sXEEmwK<@Pl)M zC_@1xJin_fH6}m)vcB;UzWiZEIRzCN2yTJ!JQ3ZG~;# zv)z0?Sv`taq5R@V#_ij8u88u3Yb!CH#A77bNbS4g&|2YJx18VEj!+gM5x&zronWJ= z1H*_xI_YIN`OC8TCcadFOd^L&5x^C#@D_h9NV2ATi}XCs$iB|@`?Q9j7DtlIhzY!Y zHE8#3#<8wjq9#N9t6S>FKeHD7k^cmtP`#6{>-!J!+KHrVpvUQZ?+xMi#L~7nH28L6ZHl(v3t6rVMd!Rw3@5B+NJR}>&gEP>Q&Q3|s4IIs^MmLH1 zA{|#0DyF_9_fB;7v(;p6(oOOalq%1q+-y^nY^L=FB`BI30!?B&`o}0Z&{Hw`AAFXl?+a*=u#}p$-EN(Ej8Vo<1>&S&hvG?} zyhS{7s(=Cz+0H!XtAUZ~|I%x8{fhLsKm=m)Qy7=TSoilkyQqJH?)bB;8PY%!Y`^Pm zcRjhr*L805$H&ZP%c(-Ld2(;K+TxJ5QWil`k)nzviW!s3FNOEqD-O>AJbjVQwK9SRaeilU>8ze^3PU z=YNNJyOn$QZCmPJ{l?|%^0qw4K{n4?Sdm*!3FBZI-?}rI{uxow# z7}ANE(ZlXS^OkP1c!dwM2`kwfFeq2vWO{=yxg3^G7Vs4&dNCJ{V2aCFVj`<8;;SH6 z26M~;$AEF`yI23)@y!o$w*h2n-BaChJ%pfI;69$p(;N#K6W_ z?|mZeG~sKE$&`~J)+WcgF;_J^eruQhoi`&SQ?6P$dy|y~x} za}7Xv5fhPAq4yF!(O1*v)GOfS*DQ9*M85glDakPMDCatlxzK2P5Rxt!N3-88G=AtV zt(XOZ-nGWmjVX8rRnKqy^PL33mkXh%WJ<2D&?P}QlFEbO!;c+c30DLfS%lkv6(=<4 zC6lseWNE>6e;}AzdC!#pU>lTQWrzN3lnNIC<|6(=!GbA~3Ff>s$)=~N8 zim$?Qb=pnaRWVgeGTfth_D6o2^~@+aeBoEvY=#*+h_I=_pT)px&Xzt{Y3V~!cvH38 zq`qOk7WV|F%|Cc!QG+nUd~s5?<(Fc*(>&P$9rP%~Maj17BvYB;q6TkH`ziFGo?Mnk z^;a9l<55$CWrMIqrDh4wrw35iFx06J{K^q`0hulFz1R`^I|neU>AAd%zatIh@WvkC zN0G|At2C<4H}#p*e@FVaM`7cn_}BL@W9(>TZ`tTm#7gZ?MzBLp@eAPa61=m~?Ow}P zLpH1a**01E{&<~)3}=Ycf<ioho?Oz^=Orz=)=nyh8OGe z@yz&Yyv|9ot|bCX`_j$2WBpdQ=ec2%FJFc)iwI6_n)j1mhZNhg_2j+uR0Ve#bctR0 z{!lhZ9h9#}wB24N)rT|uQd}E?xAYl``;SFXqb7T4?d}@4QbW+!1_hj8+mbIdS4{62 zhPGxI2s7zkP_S${Gw#~~!e02=iehm#$Lgw>(8fh`s$q^=$N6$?F~equ<;)U$4OXkJq>4{m2Y}ge4V-9=Q9J7AMS!NIEsUarb?4SynvPjhU zGe{uyFggw0TG=(QKr1BMHx&h<5`uS2ES+Q@`uc{pMcA$Tg7xNGZP(ei$^3AUT1x|f zHho0NKe$hn5KCWY-9rmkA%sQ++k*5d$c#T&Qzi+L{8GNJMfs~R7L{Ghz-)>8)7!Yp8?sfZJ(~Y@y=0maXeHSWoA|1j_*lvWY zRj8Zj+nFRtYfqi;qF9>5*~((_rTL=nDAs|BYkD!oc(N{If&|tCRdzKOH;s^Lp`pwA zG!WNI{ROYAd~9{7JfNI|Y}a3XY8_`A9!r%N3mam3LG@#}_C@hxjVx}P4i=n2HgoU$ z5N(@4y8Un_gF9yntX&{ukN|`fYy=Fas+K&|Dj&aIrdNT?QjDP-9R&i{r%=gLS7^$q zWO(m~ol%=gqG2;-o6-@iGm{K#V}vCX;>iZ(Nt{Dx+pQY4o~ z$>f`*L@Kfuj4#G(MY*?-`oz|!>)7%kr;R57c72-Sj@$PTn0piNeka9Hl~W0MrQXN) zAKzCS2rvqk;AfyZNr#d1>YIJ?9x~8E{z>a9m^} z{PRe!)UqGCF!Bs!^E`ogk4Ve&<~F$3GkwozX~BoNWm& z7NQ1d1c^fZhcD+JZVD=HKAQBH*j3f*zE@z&0U7Q|;>liPmv)?1xg!5-h38>SZoy+6 zZ;#F5TlsFqU2t?2*C4!|m)Uvc^x}SlUt#AZAL&bv5(@n#MpDJ)engA4dU`oYvCIh- zvtOEeNo;mrTY0lQnEm2E6u-k*ZRg+E=Lqq!-3OP&m(Q6A@P4DS48&#t7AKGxw$O9V zDL`BW?$rBhnkh*!3iE+@CQ`AoYX~MeB{OyvV5adM}-3p^9r; zsP*EB(`_@G{L@rD46GUSaZxL1Q_#cmRa5t&o16=zav z+?1f?e1t8c_1^W5?sb(uvu6BsP$;M4t2b~I7zrQ7Y7a6f<3A4DZQfrCM}siSMyIkD zhk+Lb=B-OUzETiIC!bU7Diyf(8(Hj2;H`MJMFfl!r`R)qM?v~VSNem@WBXUWIdV@c zKN|{M5fPb^*IR6}>8?IEsGnHRv>ll+oBo6RjmS$5$b6O=r^9V4%E43)G2f`aYVp`x=0l-z@Uc_wf}GNO<{;;0rv= zyIMP7+tVS4@*ma?a!#(DwvWH_04gWHV5Kk7c0JyAlr9;-UEP{Ow`H;olFxthetOCw z$I)UC%Ir}`bj!l2(<97(&jsg zp**QQN+vpgz==iZnU|h%{$24(zhJkw=1Gtx{bAGJi(I~0UNx+3x0?z!C^K6KMurKV z_mUx2#XzW%R?fX}W5a4kJ=~eJ_4-HsZ<9*_5)PR2gM|+Au@`AB^a4P(k%7|{$?dOA zWCwx`)${rBIzPNcTMb3cVi)xCI^{E2-FM0bdI}2o1#Q5|XQ_~srzqyk|If=dc^`RO z=w5VMs}R@4d6Yb{Opx~aKUPJmoVP|Q!4_&3Ias2EW1D7STCsd$#*JX zFkeSPRDiFs;2Yrg#L;PL%cGX$7qv zS{Mu<{MxqPxy-E+gm#)u4q_o&jj%!x9>L9aE{TBTnQCEo0{9Wp2W8MieKYX^GkAHOH&Z<<}zdn!MQrw(x(l+mJJZvCfPUX>zTHLyZ zEs&@-^>@s5V_0=vlh_{pn&e5Z)M&U{aTjwZi64&hi z;M?Be^pV9n1TXiy6JrI(i)fAF^&(hsQw&JSdfYuNNMag3c_YT9`t(>g7MQzg_ELk< zU}UGEhmF=lzXKc)gw&iOk8FB=N2=O0VCOne$Qpz0*2ev<+;McGMSt z;dz_gLOd=7pmf57I4Mb~rALk$*-+8n4xP2o?v(4oeE&e3zR()MWN5rnaq;vyK1$XH zgF*HUi}S0K*Cky!?eZN8nPFwyOYx^ECjz*^q#(XC=2XQVt05UIt%fd|05gE2YK8Lt zg&Wl7o1#f;JvYSWo1A@wX?Xi_c?1=1B9(KUEOd84GIaGjNbhlaQSSpNBmGj*t3^VF zn&i%lr_bOZOa3N%{x+ty3O(7R6rPB1hKwY!FdAv6(lYla#v`b17sXA%^s7&kNU^`d zUbEWRo@I);0^l=sB4soQG87}X06TQ_lA0HdeL!qI~Q$fSk+6RVqqY#y1=db?MyQtJZRfrEg9 z=Nzn2<1v@O?}S-xY|F^XY>zq|qvw2Ipm&`ZfL%vm=J0x= zrM$MIAZ$J5H>%C&=LH*yyuDvWw|=B9oB>^y9d)@VW#$mUxQ`LXwApA?w=k(~m}=qL zK4m>~msM*pfkl*`=?G(#5Fx&g-Aoch+L!FbL~<$1rZ6h*Z;K}Wpg#gD=bU`Ftnll3 z_hP5(7qpz1pCY$b`;ELk5`S?03uo%mWr&RjU9c&a898I&52w7MyOfST1qAwdDA3ll zZw|Nfc!4uA(*|WIM_=qo=efv|y~jvL%dysZgww7{=CS@t*kl7~$Pr>(FTA3pQULE= zJ7hCqMPE$M4rMjPTQX^2oQ3Uf7B))9oP?dqWko-!ZU1$N-ij;SlM04`b4R-^y0@p`HnSq#nlUiRDs*PBbK= z_VVX{AWsJY+!bf$0iSr^jeq+UZ7=&*)c9!lMkOF1RU;>=p}S|9=t2*vaIHp^ZWOkf zFcRQ*Tz9S2a~{qdwOuw8*$1F(3(k(-lX^HPlm{yw;j=9PvHARFx%T{2>L0lkUqAqm{JL*5>>vj7oBS?zsi~Y-BV>Ro*G3xF-Bkc;1`nBRy1`KxqXWo zWrv#)IF&5-!{=M6R1_}8vf~-8S6AhA{(h>IZS;yhwNF80dU?G5?)UqkJx|>lDg!D!ym+^q6haQA03hPM(FfE!2vt; z)Lg_a5BjmgpIXBbv-6s$Kx%1=dK~gb;f}$^fboM$ptTQvy4d{_cGETY z5ghrMNjrd;?J3RyNIOjZnP39+-ZByZ_XV{dCH+&`rdAfaB>i<;aD7w?v#(+1)(Zl| zx<*`%qXi_8FKh_&o6x3`Y%V>!kwEw%J*mcWhY<>&8i{TX(ZYBs#z|N{lzAYLM?&f6 zf?LYh07xr#(-RrEp!ZYuPc|Icq=id=RX?xrHXGg3DW1N7@#5ZJhhkg+v@U?NuxFhX zdTNzxG{Qm82G%7WlR{1~K(~r>me^JjPZ|vcbmi<8YM|qvaZ4?_z2OQtqO98O&7Q%= zfG6z)Yr$^YkM6y%{X7z?Vf4yP6t}B~M%683HouU!B&BPxhE}geIf0i(ppZpNBm}3@ zz*MSGNFFAUwUvugqts$6?1oR``qP+X!P2FHrQ;w@TwaKC3rDB{<==*I zq{Zn-ZVWUC5^uB!ckQ=TaAW31}tyE}tC#P9PxFAsJxiz;ks~gw9k69d^J`iiO zypB_OK+zk%b1!|UtKsebW|G@3NWIay*Kt9nA+5J>qVHvIqkDa&R1}5n-Y(o;Tw1*| zsXeh508&q?AO$HY43Qt)cg_U~|4d4s#~nezjx`%G>9m)4)I*tpZae|H@qqxCzvf5c zhN<)|T<^{@)k%UF^AcedKFO2(FeKxTctz~qr`(Hkfb-Hry@x{Muv|>pWw0X~KJ1Wo zJma&*bnZ?ER7RU2*FHd|*>AjyS%+4a$%s7%tM~0-^&mr#hW>0511(Q!#@%IVhv$pH zw)PI`dH1OucZQRefsm%zaQYoN)c(FRqvS#awNOUI7SCI=Ow_Eo=FnY-!KmB4*)8N? zhs(hZx8sd*jPakn-{gp?jW;=t+P)r5_`%!mrZv&8HSsO?3q_%2V zz}&VuNW%|(446v-Hz6_3r=PlOJV2cv@1o$!_=0YA&L>|JXVz-Wz2G}(=x@6op>85` z+M!uE5bf|B%hh0>v5%@<4?-^aIofD!KHKIsS0cRihaO&#b2rzEH_+vpp~ZjAIpj2l z!kjm<*^p{-+Z>*Vb-jN8UY)$)J;Kv)+ZyJv`s+DN)b~dSbv;1@74F2kpXc{lIFGre z&)tT$&m4t1!Ag1yW(+ZOj^dSH|D>xF5=n_Df#sFPNw0Xspj?jK?P3gi9@Dd~tqy7c z5R?3lPXQw>0ny*ud%ivcgr#3QbjE)}S7ww~r zlSY=&aaHLfyu!XJBH}y;Y_1tDm1bk;Y7dkuNI}P|yec$d^++-|~8N6l_A>@V7 zDoWvsXM8ac`K<&UKD1Fhq$wz{L4O9PzcHmiHxekXeb*+mcL{@HJ=Jy1BEJKt-?^|F z@U1>w$}7%HDp#$J`DS>B$u*gg8Jt}yaCTjIbq(?(i*XE*#bhF{wK9|`m!(d0< zOh@mK;L=`8@1!44DxARsmy%#=RIy;K$Ng%ocowD`u(pR6{xPcknE)t1S*7V9;KP*R z<^!k}bq;NhMRHSkV7VjS%$j0@>Eh!dyZc)>X69rtU}j!IsfGgAID#MSyr}l%h%h_T z)nr!}m9RHTGQA0oTtlC1%w&VzMA$l+---HOZa#ZZAjj`aa>y2SX^Vh+q{s7 z0b!Lg_a!TiUIoa@#=g-cZBbQfh69)ETa^uSw8$MZm8+gCG8f`lS%3@M6#v%!-?mgA zR@iQDai7yl$cajS?72Fr&q{0b^_(juk@R^=9YVT@uk6toZ>#indxob3%f6)Y3(UoO z-Sfo%r3DZn)DsXr$m8g30`BKkzS%|=+Q;kdouh?=^Z??8pl<@^r6Dd%b1R^-nGWqpMEJUxoKAgcdCRu}VW zYBccO@R*s14%trzNjz8;=e>YMhU*dAK zPI9eS;(`cJjTbnhK!X1OPP{TDNTeWJg5|1hkplJ{fYu$RcuGpqcR1im$3Rd9s{QX8uq zfZLv`2B@FLOutQ7egMz+pu#8vaA?H^q8|XJ)mPDP4gZnlsd|460v;8Dede(OuyTQ} zF|T}8Mh;A{&ypk^E{+zLqSgCYx?U$z)gU?c@@Obu{vTWOL>SVFepG)E)95%O5&j9z zKS<9Z*k>PSg94+f29du?1pkkj+@y0;mH$>E`0EngkQmB6C{q}9 zIsMB7bbF${VHPBbJd=1qN=cu1?h6HhuL#cd!4)DFk)=fQsKPRWQ`dgt>AZ5HBN@iI ztG=MPD#k34Thj&rlq#^CGr2fMCwIWvktI4n&v15;G5C+pZBpgsNd4&0XD)7QR%VPQy=x_&g%5%8u^`KJ~EmgDV z{neQ56a$Wj2d>oV&T$4J{8F5i#no=+nHi6{gMy~vKsD@KX#JhHVBCb`aZAXG#aC`& zf+|%&LKsT-$_~s4XP9tvDvR>XQY_tWG~m$0IDh^7y=Xcd6VgEzl+<|K+TUnUH8N&s zHeqo*iielR+{n1SY$~@26Y{r}B=C_-i0 zWfMqE8`Hy0SY8~Lw2j>-yJ=&XDIUhB@sM7tPRJU}Kks<{@8~kDt>6)YJ)nZhBQjPP zN4xzWuV>TgtTcnI0cBmA%hWH(`+!K`;2+fGQkC{W-pxgSy`>L2g&%jSEkM>|MkpS2dOelHg8b^fHHSU-Q074vId~{9>_m zU2n}NgN~)szepmYH{U2RT*>AFQX8Fnub$ZJj^VhK2W3PabaH%pxIDEQY|R|hQGLiY z5Fl)M0m}1?jz?cLOPv0UfUblSuoHGFu8uN$wVC+Bj-Q?}Nwk=>N3i1!1gBdArrlNw=%0OW&4z0K8;OcGU z8=??NC=Z?U9RHwyzOm!T^d$cHuXeNJpmuXLVQt#^hAp}v7*MjMvM${>p&|0yJU)pu z5x$A=U%!yzPb=4L3kf9pEnamh4lGj|76SCu2Dqir`MrO-u@T-8!5%1E`XZ@{3%uj! zi2Pg*xz|)ohgIKn09gL70(_kGud3?PC(E35{ws(EWzO9A|JG_l$mpPd6`T+KSLRH` zHcHTm2k~p9JStU>kUUzIqq_S4$7Srp26(Fw2tg|Dy8yUC{r?}7wEy2NEk6E$!6M!a z1R^y-eE6LJANjfX(;#5dUvj)K3OH;S-+ { - self.skipWaiting(); -}); - -self.addEventListener("activate", (event) => { - event.waitUntil(self.clients.claim()); -}); - -// A fetch listener is required by Chrome's installability criteria, even if it -// doesn't intercept anything. Network pass-through by omission. -self.addEventListener("fetch", () => {}); diff --git a/ui/package-lock.json b/ui/package-lock.json index fa223dc..dfc7610 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -28,11 +28,15 @@ "@tabler/icons-react": "^3.41.1", "@tanstack/react-query": "^5.62.0", "@tanstack/react-table": "^8.21.3", + "@types/d3-selection": "^3.0.11", + "@types/d3-zoom": "^3.0.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "codemirror": "^6.0.1", "d3-force": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", "framer-motion": "^11.15.0", "lucide-react": "^0.469.0", "markdown-it": "^14.1.0", @@ -5048,6 +5052,12 @@ "@types/d3-time": "*" } }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, "node_modules/@types/d3-shape": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", @@ -5069,6 +5079,16 @@ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", "license": "MIT" }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "node_modules/@types/deep-eql": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", diff --git a/ui/package.json b/ui/package.json index 2dcb5da..b719739 100644 --- a/ui/package.json +++ b/ui/package.json @@ -34,11 +34,15 @@ "@tabler/icons-react": "^3.41.1", "@tanstack/react-query": "^5.62.0", "@tanstack/react-table": "^8.21.3", + "@types/d3-selection": "^3.0.11", + "@types/d3-zoom": "^3.0.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "codemirror": "^6.0.1", "d3-force": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", "framer-motion": "^11.15.0", "lucide-react": "^0.469.0", "markdown-it": "^14.1.0", diff --git a/ui/src/components/graph/GraphCanvas.tsx b/ui/src/components/graph/GraphCanvas.tsx index eb4404b..a8ff904 100644 --- a/ui/src/components/graph/GraphCanvas.tsx +++ b/ui/src/components/graph/GraphCanvas.tsx @@ -1,92 +1,251 @@ -import { useEffect, useMemo, useRef } from "react"; -import { Graph as Cosmos, type GraphConfigInterface } from "@cosmograph/cosmos"; -import type { GraphData, GraphNode } from "@/hooks/api/useGraph"; +import { useEffect, useMemo, useRef, useState } from "react"; +import { zoom as d3zoom, type ZoomTransform, zoomIdentity } from "d3-zoom"; +import { select } from "d3-selection"; +import type { GraphData } from "@/hooks/api/useGraph"; +import { layoutGraph } from "@/lib/graph-layout"; -interface CosmosNode { - id: string; - label: string; - kind: GraphNode["kind"]; - color?: string; -} +const COLOR: Record = { + entity: "var(--chart-1)", + note: "var(--chart-3)", + community: "var(--chart-2)", +}; -interface CosmosLink { - source: string; - target: string; -} +export function GraphCanvas({ data }: { data: GraphData }) { + const wrapRef = useRef(null); + const svgRef = useRef(null); + const [size, setSize] = useState({ w: 1200, h: 700 }); + const [transform, setTransform] = useState(zoomIdentity); + const [hover, setHover] = useState(null); + const [pinned, setPinned] = useState(null); -function readTokens() { - const style = getComputedStyle(document.documentElement); - const read = (name: string) => style.getPropertyValue(name).trim(); - return { - background: read("--background") || "#0f1115", - primary: read("--primary") || "#3ecf8e", - border: read("--border") || "#262a33", - chart1: read("--chart-1") || "#3ecf8e", - chart2: read("--chart-2") || "#6ba6ff", - chart3: read("--chart-3") || "#b08fe8", - }; -} + useEffect(() => { + const wrap = wrapRef.current; + if (!wrap) return; + const measure = () => { + const r = wrap.getBoundingClientRect(); + setSize({ + w: Math.max(320, Math.floor(r.width)), + h: Math.max(240, Math.floor(r.height)), + }); + }; + measure(); + const ro = new ResizeObserver(measure); + ro.observe(wrap); + return () => ro.disconnect(); + }, []); -export function GraphCanvas({ data }: { data: GraphData }) { - const canvasRef = useRef(null); - const graphRef = useRef | null>(null); + const laid = useMemo(() => layoutGraph(data, size.w, size.h, 240), [data, size]); - const { nodes, links } = useMemo(() => { - const tokens = typeof document === "undefined" ? null : readTokens(); - const kindColor: Record = tokens - ? { entity: tokens.chart1, note: tokens.chart3, community: tokens.chart2 } - : { entity: "#3ecf8e", note: "#b08fe8", community: "#6ba6ff" }; - const trimmedNodes: CosmosNode[] = data.nodes.map((n) => ({ - id: n.id, - label: n.label, - kind: n.kind, - color: kindColor[n.kind] ?? kindColor.entity, - })); - const ids = new Set(trimmedNodes.map((n) => n.id)); - const trimmedLinks: CosmosLink[] = data.edges - .filter((e) => ids.has(e.source) && ids.has(e.target)) - .map((e) => ({ source: e.source, target: e.target })); - return { nodes: trimmedNodes, links: trimmedLinks }; - }, [data]); + // viewBox: tight bounds of content, expanded to match the container aspect + // ratio so the graph fills the visible area (no letterboxing). + const { idx, viewBox } = useMemo(() => { + const index = Object.fromEntries(laid.nodes.map((n) => [n.id, n])); + if (laid.nodes.length === 0) { + return { idx: index, viewBox: [0, 0, size.w, size.h] as const }; + } + let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity; + for (const n of laid.nodes) { + if (n.x < minX) minX = n.x; + if (n.y < minY) minY = n.y; + if (n.x > maxX) maxX = n.x; + if (n.y > maxY) maxY = n.y; + } + const pad = 40; + let x = minX - pad; + let y = minY - pad; + let w = (maxX - minX) + pad * 2; + let h = (maxY - minY) + pad * 2; + // Expand viewBox to match the container's aspect ratio so the graph fills + // the viewport instead of being letterboxed by preserveAspectRatio="meet". + const containerAspect = size.w / size.h; + const contentAspect = w / h; + if (containerAspect > contentAspect) { + const newW = h * containerAspect; + x -= (newW - w) / 2; + w = newW; + } else { + const newH = w / containerAspect; + y -= (newH - h) / 2; + h = newH; + } + return { idx: index, viewBox: [x, y, w, h] as const }; + }, [laid, size]); - useEffect(() => { - const canvas = canvasRef.current; - if (!canvas) return; - const tokens = readTokens(); + // Adjacency for hover-highlight. + const adjacency = useMemo(() => { + const m = new Map>(); + for (const e of laid.edges) { + if (!m.has(e.source)) m.set(e.source, new Set()); + if (!m.has(e.target)) m.set(e.target, new Set()); + m.get(e.source)!.add(e.target); + m.get(e.target)!.add(e.source); + } + return m; + }, [laid.edges]); - // cosmograph uses regl (WebGL2). WebGPU support is slated for cosmos v2; - // until then WebGL2 is the universal path — every WebGPU-capable browser - // also exposes WebGL2. - const config: GraphConfigInterface = { - backgroundColor: tokens.background, - nodeColor: (n) => n.color ?? tokens.chart1, - nodeSize: 4, - nodeGreyoutOpacity: 0.15, - linkColor: tokens.border, - linkWidth: 0.6, - linkGreyoutOpacity: 0.05, - linkArrows: false, - simulation: { - decay: 1500, - gravity: 0.2, - repulsion: 0.4, - linkDistance: 8, - linkSpring: 1, - }, - showFPSMonitor: false, - pixelRatio: window.devicePixelRatio || 1, + // Node radius by degree centrality — hubs get bigger, orphans stay small. + // sqrt scaling keeps extremes sane (a 100-edge hub doesn't eat the screen). + const radiusOf = useMemo(() => { + const base = 3.5; + const scale = 1.6; + return (id: string): number => { + const deg = adjacency.get(id)?.size ?? 0; + return base + Math.sqrt(deg) * scale; }; + }, [adjacency]); - const graph = new Cosmos(canvas, config); - graphRef.current = graph; - graph.setData(nodes, links); - graph.fitView(); - + // Wire d3-zoom (pan + wheel zoom + pinch on touch). + useEffect(() => { + const svg = svgRef.current; + if (!svg) return; + const behavior = d3zoom() + .scaleExtent([0.1, 40]) + .filter((event: Event) => { + // Allow panning and pinching even with a node under the pointer — + // `setPointerCapture` isn't needed since d3-zoom handles it. Only + // block the dblclick-zoom which is unwanted on touch. + return event.type !== "dblclick"; + }) + .on("zoom", (event) => { + setTransform(event.transform); + }); + select(svg).call(behavior); return () => { - graph.destroy(); - graphRef.current = null; + select(svg).on(".zoom", null); }; - }, [nodes, links]); + }, []); + + const active = pinned ?? hover; + const neighbors = active ? adjacency.get(active) : null; + // If the active node has no edges, don't dim the rest — otherwise the whole + // graph goes opaque for no useful reason. + const dimAll = !!active && !!neighbors && neighbors.size > 0; + + function isNodeDimmed(id: string): boolean { + if (!dimAll) return false; + if (id === active) return false; + return !(neighbors?.has(id)); + } + function isEdgeDimmed(source: string, target: string): boolean { + if (!dimAll) return false; + return source !== active && target !== active; + } + + const resetZoom = () => { + const svg = svgRef.current; + if (!svg) return; + const behavior = d3zoom().scaleExtent([0.1, 40]); + select(svg).call(behavior.transform, zoomIdentity); + setTransform(zoomIdentity); + }; + + return ( +

+
+ {data.nodes.length} nodes · {data.edges.length} edges + {active && · {idx[active]?.label ?? active}} +
+ + { + if (pinned) setPinned(null); + }} + > + + {laid.edges.map((e, i) => { + const a = idx[e.source]; + const b = idx[e.target]; + if (!a || !b) return null; + const dimmed = isEdgeDimmed(e.source, e.target); + return ( + + ); + })} + {laid.nodes.map((n) => { + const dimmed = isNodeDimmed(n.id); + const isActive = active === n.id; + const r = radiusOf(n.id) + (isActive ? 2 : 0); + return ( + setHover(n.id)} + onPointerLeave={() => setHover(null)} + onClick={(e) => { + e.stopPropagation(); + setPinned(pinned === n.id ? null : n.id); + }} + > + + + + {truncate(disambiguateLabel(n.id, n.label), 36)} + + + ); + })} + + +
+ ); +} + +function truncate(s: string, max: number): string { + return s.length > max ? s.slice(0, max - 1) + "…" : s; +} - return ; +// Disambiguate labels. Notes commonly share leaf names across projects +// (every project has an `overview`). Show `/` so the user +// can tell them apart at a glance. +function disambiguateLabel(id: string, label: string): string { + const parts = id.split("/").filter(Boolean); + if (parts.length <= 1) return label || id; + const leaf = parts[parts.length - 1]; + const scope = parts.length >= 3 ? parts[parts.length - 2] : parts[0]; + // Prefer the backend-provided label only if it's the leaf; otherwise use it as-is. + const shownLeaf = label && label !== leaf ? label : leaf; + return `${scope}/${shownLeaf}`; } diff --git a/ui/src/components/graph/SVGGraphFallback.tsx b/ui/src/components/graph/SVGGraphFallback.tsx new file mode 100644 index 0000000..4254806 --- /dev/null +++ b/ui/src/components/graph/SVGGraphFallback.tsx @@ -0,0 +1,76 @@ +import { useEffect, useMemo, useRef, useState } from "react"; +import type { GraphData } from "@/hooks/api/useGraph"; +import { layoutGraph } from "@/lib/graph-layout"; + +interface Props { data: GraphData; reason: "no-webgl2" | "init-failed" } + +const COLOR: Record = { + entity: "var(--chart-1)", + note: "var(--chart-3)", + community: "var(--chart-2)", +}; + +export function SVGGraphFallback({ data, reason }: Props) { + const wrapRef = useRef(null); + const [size, setSize] = useState({ w: 1200, h: 700 }); + + useEffect(() => { + const wrap = wrapRef.current; + if (!wrap) return; + const measure = () => { + const r = wrap.getBoundingClientRect(); + setSize({ w: Math.max(320, Math.floor(r.width)), h: Math.max(240, Math.floor(r.height)) }); + }; + measure(); + const ro = new ResizeObserver(measure); + ro.observe(wrap); + return () => ro.disconnect(); + }, []); + + const laid = useMemo(() => layoutGraph(data, size.w, size.h, 180), [data, size]); + const idx = useMemo( + () => Object.fromEntries(laid.nodes.map((n) => [n.id, n])), + [laid.nodes], + ); + + const reasonText = + reason === "no-webgl2" + ? "WebGL2 unavailable — rendering with SVG." + : "WebGL2 renderer failed — rendering with SVG."; + + return ( +
+
{reasonText}
+ + {laid.edges.map((e, i) => { + const a = idx[e.source]; + const b = idx[e.target]; + if (!a || !b) return null; + return ( + + ); + })} + {laid.nodes.map((n) => ( + + + {n.label || n.id} + + ))} + +
+ ); +} diff --git a/ui/src/components/site-header.tsx b/ui/src/components/site-header.tsx index 5378de1..4ce218c 100644 --- a/ui/src/components/site-header.tsx +++ b/ui/src/components/site-header.tsx @@ -1,8 +1,10 @@ import { Button } from "@/components/ui/button"; import { SidebarTrigger } from "@/components/ui/sidebar"; -import { Search } from "lucide-react"; +import { RefreshCw, Search } from "lucide-react"; import { useLocation } from "react-router-dom"; +import { useState } from "react"; import { ThemeToggle } from "@/components/layout/ThemeToggle"; +import { hardReload } from "@/lib/hard-reload"; interface Props { onCommandOpen: () => void } @@ -16,6 +18,7 @@ const TITLES: Record = { export function SiteHeader({ onCommandOpen }: Props) { const { pathname } = useLocation(); + const [reloading, setReloading] = useState(false); const title = TITLES[pathname] ?? (pathname.startsWith("/notes") ? "Notes" @@ -41,6 +44,16 @@ export function SiteHeader({ onCommandOpen }: Props) { K + diff --git a/ui/src/lib/graph-layout.ts b/ui/src/lib/graph-layout.ts index 70932ff..2701494 100644 --- a/ui/src/lib/graph-layout.ts +++ b/ui/src/lib/graph-layout.ts @@ -8,16 +8,27 @@ export function layoutGraph( data: GraphData, width: number, height: number, - ticks = 200, + ticks = 300, ): { nodes: LaidOutNode[]; edges: LaidOutEdge[] } { const nodes: LaidOutNode[] = data.nodes.map((n) => ({ id: n.id, label: n.label, kind: n.kind, x: 0, y: 0 })); const links = data.edges.map((e) => ({ source: e.source, target: e.target })); + + // Detect orphans (no incident edges). Anchor them harder to the centre — + // otherwise forceManyBody pushes them infinitely away with nothing to pull + // them back. + const degree = new Map(); + for (const l of links) { + degree.set(l.source, (degree.get(l.source) ?? 0) + 1); + degree.set(l.target, (degree.get(l.target) ?? 0) + 1); + } + const orphanStrength = (n: any) => ((degree.get(n.id) ?? 0) === 0 ? 0.25 : 0.06); + const sim: Simulation = forceSimulation(nodes) - .force("charge", forceManyBody().strength(-60)) + .force("charge", forceManyBody().strength(-45).distanceMax(260)) .force("center", forceCenter(width / 2, height / 2)) - .force("link", forceLink(links).id((d: any) => d.id).distance(40).strength(0.6)) - .force("x", forceX(width / 2).strength(0.02)) - .force("y", forceY(height / 2).strength(0.02)) + .force("link", forceLink(links).id((d: any) => d.id).distance(42).strength(0.7)) + .force("x", forceX(width / 2).strength(orphanStrength as any)) + .force("y", forceY(height / 2).strength(orphanStrength as any)) .stop(); for (let i = 0; i < ticks; i++) sim.tick(); return { diff --git a/ui/src/lib/hard-reload.ts b/ui/src/lib/hard-reload.ts new file mode 100644 index 0000000..154df3e --- /dev/null +++ b/ui/src/lib/hard-reload.ts @@ -0,0 +1,23 @@ +/** + * Force a full reload on any platform — especially useful on mobile where + * there's no ⌘⇧R. Purges the service worker registration, all cache + * storage (HTTP + CacheStorage), and reloads from network. + */ +export async function hardReload() { + try { + if ("serviceWorker" in navigator) { + const regs = await navigator.serviceWorker.getRegistrations(); + await Promise.all(regs.map((r) => r.unregister())); + } + } catch { /* swallow — proceed to cache purge */ } + try { + if (typeof caches !== "undefined") { + const keys = await caches.keys(); + await Promise.all(keys.map((k) => caches.delete(k))); + } + } catch { /* swallow */ } + // Cache-busting query string forces a fresh network fetch on reload. + const url = new URL(window.location.href); + url.searchParams.set("_r", String(Date.now())); + window.location.replace(url.toString()); +} diff --git a/ui/src/routes/Graph.tsx b/ui/src/routes/Graph.tsx index a2a7741..3d798a3 100644 --- a/ui/src/routes/Graph.tsx +++ b/ui/src/routes/Graph.tsx @@ -6,12 +6,12 @@ export default function Graph() { const project = useProjectStore((s) => s.slug); const { data, isLoading } = useNotesGraph(project); if (isLoading) return
Loading graph…
; - if (!data) return
No graph data.
; + if (!data || data.nodes.length === 0) { + return
No graph data for this project.
; + } return (
-
- -
+
); } diff --git a/ui/src/stores/project.ts b/ui/src/stores/project.ts index c90a903..3f49025 100644 --- a/ui/src/stores/project.ts +++ b/ui/src/stores/project.ts @@ -1,11 +1,21 @@ import { create } from "zustand"; +import { persist, createJSONStorage } from "zustand/middleware"; interface ProjectState { slug: string; setSlug: (s: string) => void; } -export const useProjectStore = create((set) => ({ - slug: "_default", - setSlug: (slug) => set({ slug }), -})); +export const useProjectStore = create()( + persist( + (set) => ({ + slug: "_default", + setSlug: (slug) => set({ slug }), + }), + { + name: "docsiq.project", + storage: createJSONStorage(() => localStorage), + version: 1, + }, + ), +); diff --git a/ui/src/styles/globals.css b/ui/src/styles/globals.css index 87bd5f4..bf633c1 100644 --- a/ui/src/styles/globals.css +++ b/ui/src/styles/globals.css @@ -371,6 +371,7 @@ html, body { .site-header-actions { @apply flex items-center gap-2; } .site-header-search { @apply h-8 gap-2 text-muted-foreground; } .site-header-kbd { @apply pointer-events-none hidden h-5 items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 select-none sm:flex; } + .site-header-reload { @apply inline-flex items-center justify-center size-8 rounded-md text-muted-foreground hover:bg-muted hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed; } /* ── Activity feed ───────────────────────────────────────── */ .activity-list { @apply divide-y divide-border; } @@ -415,10 +416,15 @@ html, body { .notes-search-hit-snippet { @apply text-xs text-muted-foreground mt-1 line-clamp-2; } /* ── Graph page ──────────────────────────────────────────── */ - .graph-page { @apply flex flex-col flex-1 min-h-0; } - .graph-page-head { @apply flex items-baseline justify-between px-6 py-4 border-b border-border; } - .graph-canvas-wrap { @apply flex-1 min-h-0 relative; } - .graph-canvas { @apply absolute inset-0 w-full h-full block; } + .graph-page { @apply flex flex-col flex-1 min-h-0 h-[calc(100svh-var(--header-height))]; } + .graph-page-head { @apply flex items-baseline justify-between px-6 py-4 border-b border-border; } + .graph-canvas-wrap { @apply flex-1 min-h-0 relative w-full; } + .graph-canvas { @apply absolute inset-0 w-full h-full block; } + .graph-fallback-banner { @apply absolute top-2 left-2 z-10 px-2 py-1 text-[10px] font-mono rounded-md bg-muted text-muted-foreground border border-border; } + .graph-meta { @apply absolute top-2 left-2 z-10 px-2 py-1 text-[10px] font-mono rounded-md bg-muted text-muted-foreground border border-border max-w-[60%] truncate; } + .graph-meta-sep { @apply text-foreground; } + .graph-reset { @apply absolute top-2 right-2 z-10 px-2 py-1 text-[10px] font-mono rounded-md bg-muted text-muted-foreground border border-border hover:bg-accent hover:text-foreground transition-colors; } + .graph-node { transition: opacity 120ms cubic-bezier(0.3, 0, 0, 1); } /* ── Wikilink inline ─────────────────────────────────────── */ .wikilink { @apply font-mono text-sm rounded px-1 py-0.5 bg-primary/10 text-primary hover:bg-primary/20 transition-colors; }